可以将 vSphere HA 配置为通过预留特定百分比的集群 CPU 和内存资源来执行准入控制,用于从主机故障中进行恢复。
使用此准入控制类型,vSphere HA 可确保预留特定百分比的 CPU 和内存资源总量用于进行故障切换。
使用集群资源百分比选项,vSphere HA 可强制执行下列准入控制:
- 计算集群内所有已打开电源虚拟机的总资源要求。
- 计算可用于虚拟机的主机资源总数。
- 计算集群的“当前的 CPU 故障切换容量”和“当前的内存故障切换容量”。
- 确定“当前的 CPU 故障切换容量”或“当前的内存故障切换容量”是否小于对应的“配置的故障切换容量”(由用户提供)。
如果是,则准入控制不允许执行此操作。
vSphere HA 将使用虚拟机的实际预留。如果虚拟机没有预留(即预留量为 0),则会应用默认设置(0MB 内存和 32MHz CPU)。
计算当前故障切换容量
已打开电源的虚拟机的总资源要求由两个组件组成,即 CPU 和内存。vSphere HA 将计算这些值。
- CPU 组件值的计算方法是:加总已打开电源虚拟机的 CPU 预留。如果没有为虚拟机指定 CPU 预留,则系统会为其分配一个默认值 32MHz(可以使用 das.vmcpuminmhz 高级选项更改此值)。
- 内存组件值的计算方法是:加总每台已打开电源虚拟机的内存预留(以及内存开销)。
计算出主机的 CPU 和内存资源总和,从而得出虚拟机可使用的主机资源总数。这些值包含在主机的根资源池中,而不是主机的总物理资源中。不包括用于虚拟化目的的资源。只有处于连接状态、未进入维护模式而且没有 vSphere HA 错误的主机才列入计算范畴。
先用主机 CPU 资源总数减去总 CPU 资源要求,然后再用这个结果除以主机 CPU 资源总数,从而计算出“当前的 CPU 故障切换容量”。“当前的内存故障切换容量”的计算方式与之相似。
使用集群资源百分比进行准入控制
示例中展示了使用此准入控制策略计算和使用“当前故障切换容量”的方式。对集群进行如下假设:
- 集群包括三台主机,每台主机上可用的 CPU 和内存资源数各不相同。第一台主机 (H1) 的可用 CPU 资源和可用内存分别为 9 GHz 和 9 GB,第二台主机 (H2) 为 9 GHz 和 6 GB,而第三台主机 (H3) 则为 6 GHz 和 6 GB。
- 集群内存在五个已打开电源的虚拟机,其 CPU 和内存要求各不相同。VM1 所需的 CPU 资源和内存分别为 2 GHz 和 1 GB,VM2 为 2 GHz 和 1 GB,VM3 为 1 GHz 和 2 GB,VM4 为 1 GHz 和 1 GB,VM5 则为 1 GHz 和 1 GB。
- CPU 和内存的已配置故障切换容量都设置为 25%。
已打开电源的虚拟机的总资源要求为 7 GHz CPU 和 6 GB 内存。可用于虚拟机的主机资源总数为 24 GHz CPU 和 21 GB 内存。根据上述情况,“当前的 CPU 故障切换容量”为 70% ((24GHz - 7GHz)/24GHz)。同样,“当前的内存故障切换容量”为 71% ((21GB-6GB)/21GB)。
由于集群的“配置的故障切换容量”设置为 25%,因此仍然可使用 45% 的集群 CPU 资源总数和 46% 的集群内存资源打开其他虚拟机电源。