Although vsphere 7.0 is a major enhancement in itself with lots of new features added like Kubernetes (Project Pacific), vCenter Server Profiles, vsphere Lifecycle Manager(vLCM), Certificate Management, Refactored vMotion etc.
But the one that caught my eye and is completely re-designed after a span of 15 years is DRS (Distributed Resource Scheduler).
How DRS used to work before vsphere 7.0?
DRS was released back in 2006 and since then it wasn’t changed that much. However, there were a couple of enhancements and changes in vSphere 6.7 (new Initial Placement, NVM Support and enhanced resource Pool reservations). The version of DRS till vsphere 6.7 was a Cluster centric Model. In simple words, the resource utilization was always balanced across the Cluster.
DRS till vsphere 6.7 was a Cluster centric Model.
It’s important to know that DRS regularly monitored the cluster’s balance state once every five minutes, by default, and took the necessary actions to fix any imbalance by live migrating the VM onto the new host using vMotion.
In this way, DRS ensured that each virtual machine in the cluster gets the host resources like memory and CPU, that it needs.
What has changed in DRS vsphere 7.0?
VMware shifted their focus from Cluster centric to Workload Centric Model. Meaning whenever VM runs on an ESXi Host, it calculates “VM DRS Score”. It is totally a new concept!
This score verifies if the VM is scoring enough or is it happy enough on that particular ESXi Host. Let’s see what it is!
VM DRS Score
- VM DRS Score or also called as “VM Happiness” Score can be defined as the execution efficiency of a virtual machine.
- Values closer to 0% (not happy) indicate severe resource contention while values closer to 100%(happy) indicate mild to no resource contention.
- The VM DRS score “works” in buckets. These buckets are 0-20%, 20-40%, 40-60%, 60-80% and 80-100%.
- A lower bucket score doesn’t directly mean that VM is not running properly. It’s the execution efficiency which is low.
- DRS will try to maximize the execution efficiency of each virtual machine while ensuring fairness in resource allocation to all virtual machines in the cluster.
How VM DRS Score is calculated?
The calculation of VM DRS Score is per-VM or for a single workload on all the hosts within a cluster.
There are several metrics responsible for VM DRS Score –
- Performance: DRS looks at CPU Ready Time, CPU Cache behavior and Swapped Memory of the VM.
- Capacity of the ESXi Host: DRS looks at the headroom that an ESXi Host has and see if an application/workload can burst enough on the ESXi Host that it is running on. This parameter is also called as VM Burst Capacity.
- Migration Cost: The cost of migration of a VM from one ESXi Host to another. So, you won’t be seeing lots of vMotion happening now! (Only if your DRS is set to Fully-Automated).
Most interesting part is VM DRS Score is calculated every min which gives you far more granular approach.
VM DRS Score is calculated every single min compared to older version where DRS monitored the Cluster’s state every 5 mins.
Cluster DRS Score
As you can see in the diagram, there is something called as Cluster DRS Score which is defined as the average DRS Score of all the virtual machines in the cluster.
Very Interesting Concept!
Scalable shares are configured on a cluster level and/or resource pool level.
What’s new is that when you set share level to “high”, it will make sure that VM’s in a Resource pool set to High shares really get more resource prioritization over lower share Resource pools.
In earlier DRS versions, it could possibly occur that VM’s in a Resource pool with shares to “Normal” could get the same resources as a High share Resource pool. Higher share value did not guarantee Higher resource entitlement. This issue is fixed with Scalable Shares.
This setting can be found under Cluster Settings > vSphere DRS > Additional Options > Scalable Shares.
We just touched the DRS part. We haven’t discussed about the improved vMotion (or Refactored vMotion) or Assignable Hardware which also plays a major part for DRS.
I hope this article was helpful.
Stay Tuned, and follow the Blog!
For more information on vsphere 7.0, please visit –