michelangelus - Fotolia
Since VMware introduced Distributed Resource Scheduler in 2006, its behavior fundamentals have focused on host resource use within a cluster. Now, the newest version of DRS, which came out with vSphere 7, has improved logic and a new user interface in the vSphere Client. It also focuses on improving workload performance instead of host utilization.
Previous versions of DRS checked whether clusters required VM rebalancing based on the resources those VMs consumed. VSphere 7 DRS computes something called a VM DRS Score -- a new metric that measures VM health -- on per-host basis. VM DRS Scores range from 0%-100% divided into buckets such as 0%-20% and 20%-40%.
VSphere 7 DRS looks at various metrics to come up with these scores, including load balancing with vMotion, memory, CPU and networking. If DRS determines that moving a workload to a different host can provide a better VM DRS Score, it checks the migration cost for that particular VM.
The new DRS runs a check on hosts every minute, whereas the old DRS checked on cluster balance every five minutes. The goal is to have VM DRS Score 80%-100%, which represents almost no resource contention.
Cluster DRS Score vs. VM DRS Score
The old Cluster DRS Score calculated an average score for all the VMs in a cluster. The new score now measures execution efficiency of the individual VMs. Values closer to 0% show a lot of resource contention, while values closer to 100% show light or no resource contention.
DRS can maximize the execution efficiency of each VM in a cluster while allocating resources fairly to all VMs.
New configuration options in vSphere 7 DRS
To find an overview of DRS performance, navigate to a cluster in the vSphere client and select Summary. Configure your DRS as usual by selecting the vSphere cluster and then clicking through Configure > vSphere DRS > Edit. A window should pop up that enables you to check or uncheck different boxes to configure the basics. You can also enable or disable vSphere DRS for your cluster there.
If you migrated from an earlier version of vSphere and had DRS enabled there, you won't need to reconfigure anything. Just make sure DRS is enabled on your clusters and the workloads run as usual.
The vSphere 7 user interface includes a new feature called scalable shares, which you can configure on a cluster or a resource pool level. Scalable shares enable you to specify relative resource entitlement to certain resource pools depending on the number of VMs in that pool -- essentially, prioritizing resources for certain VMs over others.
With the new vSphere 7 DRS, if you add or remove VMs from the resource pool, the system adapts automatically and dynamically adjusts the share allocation based on the number of VMs. In vSphere 6.5 and 6.7, the system remained static and maintained the predefined values no matter how many VMs you had. That approach could make it difficult to keep track of changes to settings.
VSphere with Kubernetes uses scalable shares by default, but it uses namespaces instead of resource pools. VSphere with Kubernetes also requires VMware Cloud Foundation 4.0 and proper licensing.