我们有一个 4 主机 ESXi 6.5 集群,DRS 完全自动化。在检查历史记录时,我们看到一个特定的(大型)VM(6 个 CPU,64 GB 内存)每天通过 DRS 进行大约 10 次 vMotion。团队中有人声称我们应该降低 DRS 的攻击性,并将这台大型机器排除在 DRS 之外。
但我想知道,这有什么意义?我们不能让 DRS 完成它的工作,因为 vMotion 不应该对客户机和集群性能产生影响吗?我想有一些论据告诉他不要通过应用排除等来使事情变得过于复杂。
我们有一个 4 主机 ESXi 6.5 集群,DRS 完全自动化。在检查历史记录时,我们看到一个特定的(大型)VM(6 个 CPU,64 GB 内存)每天通过 DRS 进行大约 10 次 vMotion。团队中有人声称我们应该降低 DRS 的攻击性,并将这台大型机器排除在 DRS 之外。
但我想知道,这有什么意义?我们不能让 DRS 完成它的工作,因为 vMotion 不应该对客户机和集群性能产生影响吗?我想有一些论据告诉他不要通过应用排除等来使事情变得过于复杂。
vMotions 对集群的影响确实很小,它会占用一些虚拟机管理程序时间并且显然也使用网络带宽——但一般来说,让它保持开启是有道理的,但如果你想降低攻击性,那也没关系。我想知道,考虑到 VM 的资源需求,它可能会移动相当多的数量,这意味着您需要更多的 CPU 和/或内存?另外,为什么您还没有迁移到 6.7?
您通过网络将数十 GB 的 RAM 从一台主机移动到另一台主机,因此您确实会产生影响。我强烈建议降低 DRS 的攻击性。每天移动虚拟机 10 次,您一无所获;DRS 将帮助您在集群中实现整体平衡负载,然后在您创建新 VM 时对其进行一定程度的维护(您将获得推荐的目标主机)。当主机之间存在较大差异时,它还将重新平衡集群。
首先,DRS 移动某事背后的逻辑非常复杂,因此试图弄清楚它为什么会这样做通常是疯狂的道路。
话虽如此,当 DRS 有点太容易触发时,通常会降低攻击设置,除非存在其他一些明显的潜在问题,比如 VM 太接近主机的最大配置(VMware 不是如果您将 90% 的主机资源分配给单个虚拟机,您会很高兴)。侵略性设置并不那么重要,无论任何主机变得过于拥挤,DRS 仍然会启动,显然它会不那么激进。正如我上面所说,由于 DRS 考虑的因素太多,不同环境之间的攻击设置并没有真正的可比性,通常 3 是一个很好的起点,但有些环境需要将其降低一两个档次。
排除是一种不同的野兽,它们最好保留给那些不太愿意被移动的虚拟机。一个例子是热备份软件,它检查它的对等点是否非常频繁地在线,我已经看到如果热对等点无响应超过一毫秒,应用程序就会开始故障转移。排除的另一个应用程序是您希望保留的虚拟机,一个很好的例子是当您在多个数据中心上拥有一个延伸集群时。然后从 DRS 中排除您的域控制器并手动将它们放置在某些数据中心中的某些主机上是有意义的,这样 DRS 就不会变得太聪明并将它们全部放置在同一个数据中心中。