在vSphere 7中,VMware发布了大大改进的分布式资源调度程序(DRS)逻辑。VMware收到了来自客户的大量请求,以提供有关VM DRS分数的更多信息。这篇博客文章详细介绍了新的DRS算法,重点是VM DRS分数。

DRS致力于确保集群中的所有工作负载都令人满意。“快乐”意味着工作负载可以消耗他们有权使用的资源。这取决于许多因素,例如群集大小,ESXi主机利用率,工作负载特征和虚拟机(VM)配置,重点是计算(vCPU / Memory)和网络资源。DRS通过计算和执行集群中的智能工作负载布置以及工作负载平衡来实现VM的幸福。img

在以前的vSphere版本中,DRS使用群集范围内的标准偏差模型度量来优化工作负载的“幸福感”,如上图所示。从本质上讲,这意味着DRS专注于ESXi主机利用率基准,这是可以使用DRS迁移阈值配置的特定阈值范围。重新升级的DRS逻辑与其前身采用的方法大不相同。它通过测量VM幸福度来优化VM幸福度!

欢迎关注LLYCLOUD VCTSC,好文不断

image-20200419122544154

VM DRS分数

在vSphere 7中,DRS通过计算每个VM的VM DRS分数来衡量VM的满意度。每分钟都会在群集中的所有ESXi主机上计算任何给定VM /工作负载的VM DRS分数。仅减少DRS计算之间的时间(在vSphere早期版本中为1分钟,而在5分钟中为5分钟),为平衡工作负载提供了更为精细的方法。当另一台ESXi主机能够为VM提供更好的评分时,DRS将根据DRS设置建议并可能执行实时迁移。如果DRS以全自动模式运行,则允许DRS启动vMotion实时迁移工作负载。当DRS配置为手动或部分自动运行时,需要手动操作才能运行DRS或应用DRS建议。

img

VM DRS分数是基于vSphere 7中DRS的优度模型计算得出的。通过优度建模,DRS可以计算集群中任何给定主机上VM的优度(幸福度)。仔细查看VM DRS分数,它只是以百分比表示的VM在其当前主机上的优势。要了解DRS如何计算VM DRS分数,VMware需要了解vSphere 7中的优势模型。

成本计算模型

新DRS逻辑的基本概念是VM对于每个资源(CPU,内存和网络)都具有理想的吞吐量和实际吞吐量。没有争用时,该VM的理想吞吐量等于实际吞吐量。如果多个VM在访问共享的计算资源或网络资源时发生冲突,VMware将讨论资源争用。在争用资源的情况下,该资源的成本会损害实际的VM吞吐量。根据这些陈述,以下是一些等式:


现状(实际吞吐量)=需求(理想吞吐量)–成本(吞吐量损失)

效率=现状(实际吞吐量)/需求(理想吞吐量)

总效率=效率CPU *效率内存 *效率网络

主机总效率= VM DRS分数


这意味着VM DRS分数是每种资源效率的组合。为了确定资源的效率,VMware需要计算的只是资源成本。造成成本的因素有很多。下面针对每种资源描述了这些成本。

CPU成本

所有成本均计入VM。CPU资源的成本包括:

  • CPU缓存成本 –VMware监视VM的协同调度,因为这可能会引起CPU缓存争用。
  • CPU就绪成本 –如果由于过量使用主机而无法满足主机上VM的CPU需求,则VM可能以更高的CPU就绪时间(%RDY)运行。
  • CPU税收成本 –如果VM导致主机CPU的超负荷使用。例如,如果虚拟机不存在于主机上,则主机不会超负荷使用,这会影响成本。

CPU总成本是上述成本的总和。

内存成本

内存成本包括:

  • 内存突发性成本 –如果主机上的内存空间不足以容纳突发的内存需求,VMware将对主机上运行的VM收取成本。成本随着净空余量的减少而增加。
  • 内存回收成本 –如果由于过量使用主机而无法满足主机上VM的内存需求,则VM会将页面交换到磁盘。DRS向VM收取这笔成本。
  • 内存税成本 –如果VM导致主机内存的过量使用(即,如果该主机上不存在该VM,则不会超额使用该主机),VMware向其收取成本。

总内存成本是上述成本的总和。

联网成本

  • 网络使用成本 –如果虚拟机对网络带宽的需求很高,并且主机的网络使用率超过阈值,VMware将向虚拟机收取成本。成本随着主机网络利用率的增加而线性增加。

迁移成本

当DRS确定其他主机可以提供更好的VM DRS分数时,建议和执行实时迁移之前的最后一步是检查VM的迁移成本。预计的总vMotion时间将计入VM DRS分数的获得。总的vMotion时间越长,VM DRS分数上的潜在增益(收益)越短。这可能会对DRS建议为VM进行迁移产生影响。

为了通过将VM实时迁移到另一台主机来验证平衡操作的成本优势,DRS将迁移成本计算为执行实时迁移所需的CPU周期数。作为vMotion进程的一部分,必须复制的内存越多,则在跟踪激发和将数据放置在(网络)线路上花费的CPU周期就越多。

这可能导致另一台ESXi主机能够提供更好的VM DRS分数的情况,但是由于潜在的高昂迁移成本而使收益被抵消。导致DRS不建议为此VM进行实时迁移。

指标见解

既然VMware已经为CPU,内存和网络资源付出了代价,那么VMware可以使用有效性模型中列出的方程式来计算VM DRS分数。根据VM DRS分数计算的结果,DRS做出放置决策。初始放置和负载平衡都需要确保为工作负载选择了最佳的ESXi主机。

很高兴看到所有DRS得分都处于较高水平(80%– 100%)的环境。但是,分数较低的VM不一定能正常运行。它与所有指标/成本都考虑在内的执行效率有关。可以直接在vSphere Client中查看用于VM DRS分数计算的许多指标。在“群集摘要”页面和“ DRS”窗格中单击“查看所有虚拟机”,或者在“群集”>“监视器”中查看“ VM DRS评分”页面。此概述提供了许多详细信息。当VM在分数较低的存储桶中运行时,这些指标可以快速查看正在发生的情况。img

结论

在基础架构中升级或安装vSphere 7时,您将立即受益于新的和改进的DRS逻辑!即使VMware仔细研究了新的VM DRS评分构造,DRS的美丽之处在于,它几乎不需要任何专业知识就能使客户受益于其功能。仅通过在群集上启用DRS即可获得开箱即用的体验,这已使您的工作负载能够尽可能最佳地运行,从而提高了工作负载性能!

(特别感谢DRS工程团队提供的信息)

Reference

Author:Niels Hagoort

https://blogs.vmware.com/vsphere/2020/05/vsphere-7-a-closer-look-at-the-vm-drs-score.html