Recently, I was contacted by a customer who was concerned about DRS (Distributed Resource Scheduler) and wanted a health-check blessing that DRS in their environment was functioning properly. As any committed EngineerAdministrator would, I began to troubleshoot ESXi hosts, vCenter and associated settings accordingly.
This is what we were seeing:
As you can see there is not a true balance at this moment in time. Additionally, if usage would spike even further, DRS wouldn’t necessarily migrate to balance the load. DRS is not a true Load-Balancer per se, as most would think. Yes, in times of contention, it will suggest or migrate for you, VMs in which it deems necessary to alleviate any threat of a failure.
A true Load Balancer would make sure load is balanced across all participating resources. However, DRS’s function is to maintain resources to all VMs to ensure no failures. Additionally, if resource pools are used, then DRS would complement those pools in regards to distributing resources in a given cluster accordingly.
DRS also has some advanced option settings that can be configured to further control the algorithms’ actions. These can be found in the Best Practices Whitepaper on VMware’s website, located HERE. The CPU scheduler changed in vSphere 5.1, more information can be found HERE.