点击关注公众号:VirtualMan 查看更多技术故障解决方案!
熟悉vSAN的人应该知道,在部署虚拟机时,vSAN数据存储上的对象通常部署为Raid0(条带)或Raid1(镜像),或者两者的组合。从容量的角度来看,这是一个特别大的开销。例如,如果我想让虚拟机允许1个故障,我需要两个副本。如果我想让虚拟机允许2个故障,我需要三个副本,如果我想让我的VM容忍最大故障数,即3,那么我必须在vSAN数据存储中存储4个数据副本。在vSAN 6.2中,引入了Raid5和Raid6,以帮助在配置虚拟机以容忍vSAN上的故障时减少开销。这个特性也被称为纠删码。
vSAN中的Raid5和Raid6:
注意在vSAN上使用Raid5和Raid6对主机数量有要求,对于Raid5,至少需要4台主机。对于Raid6,至少需要6个主机。对象被部署到每个主机上,并进行奇偶校验计算,配置使用分布式奇偶校验,因此没有专用的奇偶校验磁盘。当集群中发生故障,并且影响到使用Raid5或Raid6的对象时,数据仍然可用,可以在必要时使用剩余的数据和奇偶校验进行计算。Raid5和Raid6完全支持去重和压缩。
要注意如果将“要条带化的磁盘对象数目”作为Raid5 / 6对象的策略设置,则组成Raid5或Raid6对象的每个单独组件也可能会在多个磁盘上进行条带化。
如上所述,这些新配置仅适用于vSAN 6.2及更高版本。也仅适用于全闪存VSAN。不能在混合vSAN上使用Raid5和Raid6配置。
**
Raid5和Raid6的VM存储策略:
**
引入了新的策略设置以适应Raid5 / Raid6配置。这种新的策略设置称为容错。此策略设置采用两个参数:性能和容量。如果将其设置为默认的性能值,则将继续使用Raid1 /镜像配置部署对象以获得最佳性能。将设置更改为容量后,可以使用Raid5或Raid6配置部署对象。
Raid5或Raid6配置由可允许的主机故障数决定。如果将其设置为1,则配置为Raid5。如果将其设置为2,则配置为Raid6。当然,还需要在集群中拥有符合要求的主机数量。注意,如果希望容忍3次失败,就需要继续使用Raid1。
Raid5概述:
1、允许的故障数=1
2、容错方法=容量
3、与Raid1相比,使用1.33倍容量而不是2倍
4、vSAN集群中要求最少4台主机
Raid6概述:
1、允许的故障数=2
2、容错方法=容量
3、与Raid1相比,使用1.5倍容量而不是3倍
4、vSAN集群中要求最少6台主机
性能注意事项:I/O扩大
Raid5和Raid6配置的性能不如Raid1,这是因为I/O扩大了。正常操作时,读操作没有变化,但是,在进行写操作(尤其是部分写操作)时,I / O会扩大,因为必须同时读取当前数据和奇偶校验,需要合并当前数据和新数据,需要重新计算新奇偶校验,然后再回写新数据和新的奇偶校验。因此,对于单个写操作,将导致2次读和2次写。对于Raid6,由于双奇偶校验,写入扩大为3读和3写。
因此,尽管使用这种新技术可以节省大量空间,但客户仍需要确认是否最大的性能至关重要。如果他们的工作量不需要最大的性能,则可以节省大量空间。
设计决定–重新探究数据本地化:
vSAN团队做出了一个设计选择,即核心vSphere功能(例如DRS / vMotion和HA)不会影响在vSAN上运行的虚拟机的性能。换句话说,做出了一个决定,即不在VSAN中进行“数据本地化”(除了延伸的群集之外,在这方面是完全合理的)。VM可以保存在群集中的任何主机和任何存储上,并可以继续保持最佳性能。这种对数据本地性的不依赖导致了Raid5 / Raid6的出现,其中VMDK的组件分布在多个磁盘和主机上。简而言之,使用Raid5 / Raid6,计算不会与存储位于同一节点上。
通过这种设计,我们可以继续运行vSphere的核心功能,例如DRS / vMotion和HA,无论虚拟机在集群中的哪个主机上运行,都不会影响为其对象使用Raid5/ Raid6的VM的性能。
允许1或2次故障,而不是0或3次。
只有在策略中将允许的故障数设置为1或2时,才能使用Raid5 / Raid6配置。如果尝试允许0或3个故障,并尝试使用此策略部署VM,则会警告不受支持。警告如下所示:
见证组件:
Raid5 / Raid6不需要见证组件。使用Raid5时,将有3个数据组件和一个奇偶校验组件。对于Raid6,将有4个数据组件和2个奇偶校验组件。
总结:
对于那些不需要从vSAN实现最佳性能更关注容量成本(特别是在全闪存vSAN中)的客户而言,这是一个很好的新功能。此功能,以及去重和压缩功能,为使用全闪存vSAN的客户节省大量成本。
最后注意:
在vSAN延伸群集中不支持Raid5/ Raid6。这是由于扩展群集仅支持3个故障域(站点1,站点2和见证),而Raid5对象则需要4个故障域(Raid6需要6个)。在VSAN6.2扩展群集中,仍必须使用Raid1配置部署对象。只有在标准的全闪存vSAN部署中支持此功能。
(扫描关注公众号,获取更多原创技术故障解决方案!)