上一期内容中预留的一些小问题首先做出回答:
Q1:<若此时vCenter Server所在主机出现故障,vSphere HA是否能够正常完成故障响应?>
A1:对于vSphere HA而言,在设计上采用主机通过FDM来管理HA的故障响应。因此即使vCenter Server所在的主机发生了故障导致VC处于不可用的状态,HA依旧可以正常完成故障响应,根据管理员所设置的故障响应的策略恢复对应的VM。(值得注意的是,如果此时某个ESXi主机上有新的VM启动,由于VC还未恢复正常,新启动的VM不会成为受保护的VM,因此不会受到vSphere HA的保护)

Q2:<若从属主机出现故障,应该vSphere HA会如何完成故障响应?若主控主机出现故障呢?>

A2:若从属主机出现故障,当集群通过网络心跳和数据存储心跳确认是从属主机故障之后,主控主机会通过预先存放在数据存储当中的虚拟机受保护列表来对。需要重启的VM进行检索,并且发现故障主机原本存在哪些VM。接下来根据当前集群中主机资源使用情况,主控主机决定在哪些主机上启动哪些VM,并使用FDM通过管理网络发送响应指令给其他从属主机的FDM,各个主机通过FDM调用hostd进行完成VM的重启操作。
若主控主机出现故障,则在一开始根据根据各个主机挂载数据存储(DataStore)的数量或者是MOID来决定哪个主机作为主控主机。在选举出新的主控主机之后,再执行上述操作,完成VM的HA。

前言:在进行vSphere HA时,为了保证故障主机上的虚拟机可以正常在集群中的其他主机上重新恢复,需要保证有集群当中有足够的资源预留。在vSphere HA中的Admission Control选项主要用于配置集群HA资源的预留。

Admission Control

虚拟机监控程序勾选无效 ha虚拟机监控错误_数据库


在接入控制选项中管理员可以根据集群中的主机数量,来设置FTT(Failures tolerates)的值来定义集群中最多允许故障的主机数。例如图中FTT=1,表示在当前的集群的故障转移容量要能够容忍一台主机故障。通俗的讲,当集群当中一台主机出现故障时,要保证集群中预留的资源总量能够对故障主机上的VM进行重新恢复。

作为管理员,您可以根据自身生产环境的实际情况选择不同的资源预留的方式(当然您也可以选择禁用Admission Control,但这有可能会导致集群中无法保留充足的资源用于VM故障恢复)。例如图中“集群资源百分比”的预留方式,在默认情况下, 会根据您所设置的FTT值对集群当中的资源做预留。

举例说明:假设集群当中存在两台ESXi主机,并且两台主机的CPU和内存总量一致,那么在设置FTT=1的情况下,vSphere HA会预留集群中50%的资源用于HA的故障转移容量,若目前集群中已启动的VM已经占用50%的资源,则当有虚拟机想要在该集群当中启动时,会被Admission Control阻止。

当然,管理员也可以根据自身环境,勾选override选项,并在下方手动设置需要预留的集群故障转移CPU、内存容量来满足实际业务场景的需要。

建议

在配置“集群资源百分比”作为接入控制策略时,建议同时开启vSphere DRS功能并且将vSphere DRS的自动化级别设置为全自动模式。这样一来,当集群资源总量充足,而单台主机上的资源不足以恢复故障主机上的VM时,vSphere HA可以通过调用DRS,对集群中主机上的资源碎片进行整合,使单台主机满足VM启动的要求,并成功恢复受保护虚拟机。