- How to use VMware vSAN ReadyNode Configurator - Fri, Dec 17 2021
- VMware Tanzu Kubernetes Toolkit version 1.3 new features - Fri, Dec 10 2021
- Disaster recovery strategies for vCenter Server appliance VM - Fri, Nov 26 2021
When using RPs and when you have, for example, two different RPs in your cluster, each one has a different number of virtual machines (VMs). Each RP also has different shares configured.
The RP configured with normal shares has only two VMs and receives 33% of all cluster resources while the RP configured with high shares has eight VMs and is getting 67% of resources.
The RP with high shares has 8,000 shares but has more VMs than the RP with normal shares. This has 4,000 shares but has only two VMs.
So in our case, the normal option will receive one-third of the total, and the high option will receive two-thirds of the total. If you have the same number of VMs in both RPs, it's okay, but not when you have twice the VMs or more in the high shares than in the RP with normal shares.
As a result, when you divide the shares by the number of VMs per pool, you'll see that the normal RP has an advantage over the one configured with high shares. This is particularly true when the number of VMs in the high RP grows significantly. In our example, the RP has eight VMs.
Example:
8,000 shares/8 VMs = 1,000
4,000 shares/2 VMs = 2,000
If admins activate the vSphere 7.0 scalable shares, the Distributed Resource Scheduler (DRS) will take care of the problem. It will look into the number of VMs in each RP and also will look into the priority of each RP. The system will then assign the resources based on priority and the number of VMs.
Previously you'd have to adjust the RP settings to load-balance the resources accordingly. vSphere 7 and scalable shares will take care of it automatically.
Where do you activate VMware vSphere 7.0 scalable shares?
You can enable scalable shares in two different locations:
- At the cluster level (as in the image below): in this case, all the constructs present in this cluster will use scalable shares.
- At the RP level: only the RP will use scalable shares.
To enable scalable shares at the cluster level, simply select your cluster, Configure, and Edit.
Click the Additional Options tab and then check the Enable scalable shares for the resource pools on this cluster box.
To show you the option at the cluster level, check the image below.
If you select this option, it will adjust the shares allocated to each descendant RP to maintain the relative shares allocated to the VMs.
Note: When you activate scalable shares at the cluster level, on each new RP you create, the checkbox will be activated by default (and grayed out so you won't be able to uncheck it).
Final words
vSphere 7.0 has already improved DRS logic by accounting for the load on each VM in the cluster. It analyzes the execution efficiency of a VM and looks into CPU percent ready time, good CPU cache behavior, and memory swap. When the DRS score of such a VM gets worse on a particular host, DRS might consider migration to another host within the DRS cluster with more headroom.
Scalable shares also allow you to build an environment more balanced when it comes to resources assigned on a per-VM level.
Scalable shares allow RPs to have dynamic entitlement because every time the number of VMs per RP pool changes, the system will recalculate the resources to guarantee the resource entitlement.
If admins didn't recalculate the shares manually when adding or removing VMs, they most likely weren't using them they should, with poor results.
Subscribe to 4sysops newsletter!
VMware vSphere 7.0 brought over 150 new features, as it is a major release from VMware. They released the 6.7 version on April 17, 2018 almost two years ago. So it was about time for VMware to come up with this new major vSphere version.