本文介绍VSAN如何处理故障, 如何保证可用性, 故障包括磁盘故障,主机故障或者电源故障。
并且介绍 HTT, 和fault domain等概念
VSAN 是如何存储VM的
下面是一个 4个主机组成的集群
当我们部署一个虚拟机, 该虚拟机的默认, “允许故障数目” = 1. 按照这一的方式部署后, 会显示以下结果。

从图中我们可以看到2个VMDK镜像和1个witness. 顺便说一下, 这些VMDK完全相同, 它们都是精确副本。
我们还能看到
- 虚拟机与其存储对象不一定要运行在同一台机器上(计算资源和存储分开)
- witness与其相关组件位于不同的主机上, 这样就可以在一个网络分区下创建奇数个主机,以此打破平局
- VSAN网络用于通信I/O等
另外, 为了保持可用性。
1. VSAN不会将镜像放在相同的主机上。
磁盘发生故障时
下图显示了“esxi-03”磁盘发生故障的情况

“esxi-03”磁盘发生了故障。 VSSAN会对这个故障做出响应。
1. 将故障的磁盘(vmdk)标记为降级,
2. 立即(在esxi-01上)创建一个新的镜像副本。
在创建镜像副本前, VSAN会验证是否有足够的资源, 如果没有足够的资源, VSAN就会一直等待,直至添加了资源为止。
一个磁盘故障,不会影响VM的运行。 VSAN能很好处理磁盘故障。
主机发生故障

这样的情况稍有不同, 因为主机发生故障的时候,VSAN并不知道,这种故障称为"不存在"。 一旦 VSAN注意到组件不存在, 计时器就会开始60分钟记时。
60分钟后VSAN就会创建新的镜像副本。
可以通过VSAN.ClomRepairDelay来减少此超时值。
两个主机同时发生故障
如果这4个主机在同一个机房, 当发生下面的错误的时候, 会导致VM不可用
- 机架级别的故障,例如机架断电
- 缓存和容量磁盘故障
- 网络设备故障
- 电源故障
所以保险的做法, 最好把VM的镜像副本,放在不同机房,或者不同地点的主机里。 VSAN 6.0 引入了故障域这个概念。
我们可以把一个机房的主机放到一个故障域中,
通过故障域, 我们就可以把VM的镜像副本,分开放在不同的机房中, 当发生电源故障或者网络故障的时候, 还能保证VM的可用性
故障域介绍
当Virtual SAN启用故障域时, 存储策略从主机级别转移到故障域级别。
要配置Virtual SAN故障域, Virtual SAN集群至少需要3个故障域。 每个故障域至少要包含一台ESXI主机。 这样在其中一个故障域出现故障时,可以确保Virtual SAN的正常运行。
VMware推荐使用至少4个故障域以支持全数据迁出模式和数据保护配置

浙公网安备 33010602011771号