什么是存储虚拟化
分布式存储是利用虚拟化技术 “池化”集群存储卷内通用X86服务器中的本地硬盘,实现服务器存储资源的统一整合、管理及调度,最终向上层提供NFS、ISCSI存储接口,供虚拟机根据自身的存储需求自由分配使用资源池中的存储空间。
存储中的基本概念
IOPS
每秒钟的IOPS数,该指标主要用于评价小块IO性能,体现存储系统的IO延时能力和并发能力。业界一般默认IOPS指的是4K块大小的IO性能,该值越大说明性能越好。
吞吐
每秒钟的IO吞吐,单位MB/s,该指标主要用于评价大块IO性能,体现存储系统的IO带宽能力,该值越大说明性能越好。
缓存盘和数据盘
固态硬盘(SSD)性能高,但价格高,容量小,机械硬盘(HDD)价格低,容量大,但性能第。
为了实现存储系统在性能,容量,成本三者之间达到最佳均衡,一般会使用混合硬盘配置,以SSD缓存盘作为缓存层,HDD数据盘作容量层。
磁盘组
在混合硬盘配置下,缓存盘和数据盘以磁盘组的关系进行配对,每个磁盘组由一个SSD带n个HDD组成(n<7)。每个磁盘组的SSD仅为其磁盘组下的HDD提供缓存加速的能力。配对所带来的好处是减少了SDD故障所影响的范围(一块SSD带几块HDD)。
缓存盘容量需要多少是根据业务量来配置的,正常缓存盘是用来放热数据的,根据经验来说,热数据一般占比是20%左右,比如用户有10T的数据量一般应该配2T的缓存盘。
一般做方案时不知道用户业务量未来会增长多少,所以采纳了一个跟机械硬盘的比例,也就是裸盘比,这样一般能达到一个比较好的性能。比如6块4T的机械盘,缓存盘建议配置2.4T
镜像格式
虚拟机的虚拟磁盘文件的格式,如qcow2
数据分片
虚拟磁盘的大小是不固定的,可以小到几个G,大到几十T。为了能够更灵活地存放和处理这些数据,aSAN通过数据分片技术对单个qcow2文件按照固定单位大小(如aSAN3.0版本默认大小为4G)进行切分成若干个颗粒度更小的分片。 aSAN的诸多存储策略都是基于颗粒度更小的分片进行的,让数据在存储卷中分布更加地均衡,数据管理更加灵活。
优点:
· 单个qcow2文件(即单个虚拟磁盘)的大小可达到整个存储卷的可用容量大小
· 颗粒度小,策略灵活。例如分布均匀,断点续修
· 多盘性能(结合条带化)
虚拟机的磁盘在存储上实际是一个qocw2文件,像虚拟磁盘可能会非常大,可能配了几十个G或者几百G,分片就是把qocw2文件切成一个个以4g或者其他大小的小块文件
如果没有分片,一个虚拟机的磁盘(qcow2文件)是落在一个物理磁盘上的,只要在该物理磁盘满的时候,它才会占用下一个物理磁盘的空间,这样的话,虚拟机单个磁盘的大小是不允许超过单台物理主机的空间的,由于其占用的是一个物理磁盘空间(只有该物理磁盘满了的情况下才会占用下一个物理磁盘空间),所以它也只能利用到一个物理磁盘的读写性能。
另外在不分片的情况下,文件的颗粒度就很大,很多存储策略就不灵活,比如主机之间数据分布不均匀,因为QCOW2文件很大,不分片的话虚拟机的磁盘会只占用一台物理机上的存储空间,所以有可能出现一台主机存储容量占用超过80%,另一台主机只有10%的情况,包括后面去做一些数据平衡的动作平衡时间会很长(平衡各主机之间的存储空间占用,将存储容量占用高的主机上的qcow2文件转移到其他存储更加空闲的主机上),因为它只能从一块磁盘上面去读、到另一块磁盘上去写,包括数据修复过程中,出现了一些故障,导致修复失败了,这时候又得从qcow2文件头开始去修,不灵活。
如果做了分片,虚拟机的磁盘文件是以分片为单位,比如分片1落在磁盘1的位置,分片2落在磁盘2的位置等等,它可以同时利用多块物理磁盘的性能,包括很多策略都是以分片的单位去执行,比如数据平衡、数据修复等。如果做了分片,理论上虚拟机可用磁盘大小是可以达到整个虚拟存储卷的可用容量大小的