本文介绍VSAN如何处理故障, 如何保证可用性, 故障包括磁盘故障,主机故障或者电源故障。

并且介绍 HTT, 和fault domain等概念

 

阅读目录

 

 

 

VSAN 是如何存储VM的

下面是一个 4个主机组成的集群

当我们部署一个虚拟机, 该虚拟机的默认,  “允许故障数目” = 1.   按照这一的方式部署后, 会显示以下结果。

 

 

从图中我们可以看到2个VMDK镜像和1个witness. 顺便说一下, 这些VMDK完全相同, 它们都是精确副本。  

我们还能看到

  1. 虚拟机与其存储对象不一定要运行在同一台机器上(计算资源和存储分开)
  2. witness与其相关组件位于不同的主机上, 这样就可以在一个网络分区下创建奇数个主机,以此打破平局
  3. 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个故障域以支持全数据迁出模式和数据保护配置

 

posted on 2020-09-14 15:38  小坦克  阅读(3069)  评论(0)    收藏  举报