可以在同一个集群中启用 vSphere HAvSANvSphere HAvSAN 数据存储上的虚拟机提供与传统数据存储上的虚拟机相同级别的保护。该级别的保护在 vSphere HAvSAN 进行交互时会有特定的限制。

ESXi 主机要求

仅当满足以下条件时,才能将 vSAN 与 vSphere HA 集群配合使用:
  • 集群的 ESXi 主机必须全部为版本 5.5 Update 1 或更高版本。
  • 集群必须最低具有三个 ESXi 主机,除非是 vSAN 双主机集群。为达到最佳效果,请为 vSAN 集群配置四个或四个以上主机。
注: vSAN 7.0 Update 2 及更高版本支持主动 HA。选择以下修复方法: 对所有故障都使用维护模式。虽然支持隔离模式,但如果处于隔离模式的主机出现故障,并且存在 FTT=0 的对象或 FTT=1 的已降级对象,则隔离模式无法防止数据丢失。

网络连接差异

vSAN 使用其自身的逻辑网络。在为同一集群启用 vSANvSphere HA 时,HA 代理间流量将流经此存储网络,而非管理网络。仅当关闭 vSAN 时,vSphere HA 才会使用管理网络。在主机上配置 vSphere HA 时,vCenter Server 会选择相应的网络。

注: 确保在集群上启用 vSAN 时未启用 vSphere HA。然后,可以重新启用 vSphere HA

当某个虚拟机只能被所有网络分区的一部分访问时,您无法打开该虚拟机的电源,也无法在任何分区中完全访问它。例如,如果您将一个集群分成 P1 区和 P2 区,虚拟机命名空间对象可被名为 P1 的分区访问,但却不能被名为 P2 的分区访问。VMDK 可被名为 P2 的分区访问,但却不能被名为 P1 的分区访问。在这种情况下,虚拟机电源无法打开,也不能变得可被任何分区完全访问。

下表显示了 vSphere HA 网络连接使用和未使用 vSAN 所产生的差异。

表 1. vSphere HA 网络连接差异
vSAN 开启 vSAN 关闭
vSphere HA 使用的网络 vSAN 存储网络 管理网络
检测信号数据存储 挂载到多台主机的任何数据存储(vSAN 数据存储除外) 挂载到一台以上主机的任何数据存储
声明已隔离的主机 隔离地址不可 ping,并且 vSAN 存储网络无法访问 隔离地址不可 ping,并且管理网络无法访问

如果您更改 vSAN 网络配置,vSphere HA 代理不会自动获取新的网络设置。要更改 vSAN 网络,您必须为 vSphere HA 集群重新启用主机监控:

  1. vSphere HA 集群停用主机监控。
  2. 更改 vSAN 网络。
  3. 右键单击集群中的所有主机,然后选择重新配置 HA
  4. vSphere HA 集群重新激活主机监控。

容量预留设置

当您使用准入控制策略为 vSphere HA 集群预留容量时,该设置必须与 vSAN 规则集中相应的允许的故障数策略设置协调一致。它不能低于 vSphere HA 准入控制设置预留的容量。例如,如果 vSAN 规则集仅允许两个故障,则 vSphere HA 准入控制策略必须仅预留一个或两个主机故障的等效容量。如果您我拥有 8 台主机的集群使用“保留的集群资源百分比”策略,则一定不能预留 25% 以上的集群资源。在同一个集群中,使用允许的故障数策略,该设置不得高于两个主机。如果 vSphere HA 预留的容量较少,则故障切换活动可能不可预知。如果预留太多容量,则会过分限制打开虚拟机的电源和集群间 vSphere vMotion 迁移操作。有关“保留的集群资源百分比”策略,请参见《vSphere 可用性》文档。

vSAN 和 vSphere HA 在多主机发生故障时的行为

vSAN 集群失败并失去虚拟机对象的故障切换仲裁后,vSphere HA 可能无法重新启动虚拟机,即使在集群仲裁还原后也无法重新启动。仅当 vSphere HA 拥有集群仲裁并且可访问虚拟机对象的最新副本时,才保证会重新启动。最新副本是写入的最后一个副本。

请考虑一个置备了 vSAN 虚拟机以允许一个主机出现故障的示例。虚拟机在一个 vSAN 集群中运行,该集群包含 H1、H2 和 H3 三个主机。所有这三个主机按顺序出现故障,H3 是最后出现故障的主机。

在 H1 和 H2 恢复后,集群具有一个仲裁(允许一个主机故障)。尽管有此仲裁,vSphere HA 依然无法重新启动虚拟机,因为最后一个出现故障的主机 (H3) 包含虚拟机对象的最新副本,并且仍然无法访问。

在此例中,要么所有这三个主机都必须同时恢复,要么双主机仲裁必须包括 H3。如果这两个条件都无法满足,HA 将尝试在主机 H3 恢复联机时重新启动虚拟机。