vSphere 7.0 brings also new improvements in DRS. While since its inception, DRS was always cluster oriented where the goal was to rebalance VMs to equally utilize the ESXi resources, today, with the improved DRS it’s rather about workload centric model. To make sure that the workload running in the VMs are getting the resources they need.
Previously DRS runs every 5 min, the newly redesigned DRS runs every 1 min, it uses a VM DRS score and it is based on granted memory.
There is a Summary new UI, which you can see at the cluster summary as before. As you can see there is a new VM DRS score which is new, but the cluster DRS score is still counting when decisions of migrating VMs are taken.
What is the VM DRS Score?
The execution efficiency of this virtual machine. Values closer to 0% indicate severe resource contention while values closer to 100% indicate mild to no resource contention. DRS will try to maximize the execution efficiency of each virtual machine in the cluster while ensuring fairness in resource allocation to all virtual machines.
What is the Cluster DRS Score?
The average DRS Score of all the virtual machines in the cluster.
The VM DRS score “works” in buckets (0-20%, 20-40% etc). DRS calculates VM DRS Score for a VM on ESXi hosts in a cluster.
The lower bucket score does not necessarily mean that the VM does not run well but it’s about execution efficiency. The calculation of VM DRS Score is per-VM or for a workload on all the hosts within a cluster.
If there is another ESXi host that can provide a lower score for the VM, in this case, DRS considers a migration of that VM to another ESXi host.
VM DRS Score is calculated CPU % RDY (Ready) time, Memory swap, CPU cache behavior.
They also calculate capacity metrics such as Headroom for a workload to burst, and a Migration cost so if there is a host that has CPU already like 80% utilized, DRS will look if there is another host with lower CPU utilization to consider DRS migration. So the headroom for a workload to burst is a parameter which is considered at the same time as the VM DRS score.
Scalable shares are configured on a cluster level and/or resource pool level. Scalable shares provide relative resource entitlement to other resource pools depending on the number of VMs in a resource pool.
What’s new is that when you set share level to “high” will make sure to get prioritization over lover share VM entitlements. Any changes to share allocation are dynamically changing depending on the number of VMs.
The UI slightly changes as well. There is a new checkbox for the Scalable Shares.
Here is a view which compares the DRS settings between vSphere 6.7 U3 and vSphere 7.0
Scalable shares are used by default for vSphere with Kubernetes where a Namespace is equal to Resource Pool.
VMware DRS is one of the features which makes vSphere so good. With the initial workload placement or with the automatic rebalancing of VMs within a cluster this DRS has brought a significant efficiency to datacenters and ease the work for many admins. Further improvements to the system are always welcomed and with Kubernetes and modern apps coming in, it is a good enhancement that DRS brings to vSphere 7.