适用于2位以上访客的VMware vSphere DRS关联性规则

我收到了一个请求,要求在运行VMware vSphere 4.1的VMware HA / DRS群集中的一组虚拟机上添加disaffinity / anti-affinity规则 。

客户端有四个主机,并且希望在发生主机故障时保持某些虚拟机在同一主机上运行。

通常情况下,这种types的请求很简单,您可以避免在同一台机器上运行app01app02 …上游有一个单独的应用程序负载平衡器。

但是,该请求要求app01app02app03app04app05 app06在不同的主机上运行。

六台虚拟机,四台主机。 我们的第一响应团队将app01-app06添加到单独的“独立虚拟机” DRS规则中。 这看起来不正确,因为在维护模式或升级pipe理器修复中结果可能是不可预知的。

就像是: 在这里输入图像说明

四台主机的影响是什么? 这会达到预期的目标吗? 缺点?

如果6台虚拟机已经开机,那么DRS会尝试尽可能分离它们。 然后它将显示一个DRS故障,它不能修复一个反关联规则违规,但不会closures它们中的任何一个:

在这里输入图像说明

如果6个中的4个在不同的主机上运行,​​并且您尝试打开其余2个中的其中一个,则DRS规则将拒绝启动并给出此错误:

在这里输入图像说明

明显的缺点是你不会全部运行。 可以想象,如果在创build规则之前让它们运行,那么它们将保持运行,但是由于某些原因,它们最终会在某个时刻断电,并且不能再次启动,这是不可避免的规则。 根据捕获他们已经closures,所以他们将无法供电所有6个(实际上有8个规则的捕获,所以4将保持closures)。

一个替代的解决scheme(未经testing)将允许所有的虚拟机启动,但是在两台主机上仍然至less有两台虚拟机在运行,不能满足客户在资源方面不可能的需求:

可以创build2个“独立的虚拟机”DRS规则,将虚拟机1-4放入一个,将5-6放入另一个。 这将允许所有的6个电源都打开,但是为了维护而丢失或closures一个主机也意味着你可以运行5个虚拟机的最大数量,即使所有主机都可以运行,这仍然比在原来的解决scheme中运行的4个虚拟机要好。