Back in the day it was customary to divide your VMs into three “blue” folders. I was not uncommon to see the three folders named High Priority, Normal Priority and Low Priority, and then people would distribute the VMs into those folders. The reason they were called blue folder was because it was really resource pools created in a DRS cluster in the Hosts and Clusters view in vCenter. And they were not made to logically divide you VMs into “folders”.
The problem with this approach is that unless you regularly reconfigured these resource pools you would get unexpected performance. I was not uncommon for an installation to have 5-10% of the VMs in the high priority “folder”, 80% in the normal priority “folder” and 5-10% in the low priority “folder”. The problem with this is that if you then select High, Normal and Low shares for these folders, you will not get the performance you would expect.
The high resource pool will get 4/7 of the resources, the Normal resource pool will get 2/7 and the Low pool will get 1/7 of the resources, provided no other resource pools are present.
For simplivity lets assume that you have a 100% CPU that is devided, and you have 70 CPU’s on a single host. 7 VMs are high priority, 7 are Low, and the rest (56 VMs) are Normal. When ever the resource pool demand is more than the available CPU, the 7 High Priority VMs would get around 8% each or 57.1% in total.
The Normal Priority VMs would get 0.5% each or 28.6% in total
The Low Priority VMs would get 2% each or 14.3% in total.
And that was, in most cases, not what you intended.
RP Assignment Result
The good news is that with vSphere 7.0 VMware improved DRS. There are a number of improvements, but one of them is a new feature for resource pools called Scalable Shares.
Scalable shares are not enabled by default, but it is just a single checkmark to enable them. You have the possibility to enabled the feature for a single resource pool or for the entire cluster.
By using scalable shares DRS automatically adjusts the resource pools depending on how many VMs you have in that resource pool, and thereby making resource pools more useful, as you no longer need to adjust manually.
DRS Scalable Shares enable:
- Relative resource entitlement to other resources pools depending on number of VMs in a resource pool.
- Settings shares level to ‘high’ now ensures prioritization over lower share VM entitlements.
- Dynamic changes the share allocation depending on the number of VMs.
I think this this is a very cool improvement. The ability to prioritise your VMs is very useful when configured correctly. It can help DRS to make decision based on what is important to you in a disaster scenario with limited resources.
How does it work?
Duncan Epping wrote a short article on how shares are calculated after enabling Scalable Shares. You can read it here: http://www.yellow-bricks.com/2020/03/16/vsphere-7-and-drs-scalable-shares-how-are-they-calculated/