This will be a short post to cover the VCAP-DCA objective around understanding the interactions between vSphere HA and DRS.
When both HA and DRS is enabled, the result will be a more load balanced cluster in the event of a failover, than there would be from HA alone. vSphere HA’s job is to get virtual machines back up and running as soon as possible following a host failure. The result of this is that certain hosts may become more heavily loaded than others. HA will use the virtual machines CPU and memory reservations to determine whether a particular host will be able to power on the virtual machine, but beyond that will not be interested in attempting to evenly balance the load across the cluster.
As stated in the vSphere Availability Guide, there are certain scenarios where vSphere HA may not be able to fail over virtual machines due to resource constraints. VM-Host affinity rules may be in place, affecting where HA can place VMs. VM-Host affinity ‘must’ rules cannot be violated, including in the event of a host failure.
Should DPM be enabled, but admission control be disabled, it can result in hosts being put into standby, leaving too little spare capacity to power on virtual machines if there is a failover. Another issue can occur around resource fragmentation. There may be enough total resource in the cluster to accommodate a host failure, but the resource maybe fragmented across multiple hosts, thereby possibly not leaving enough resource on a single host for HA to meet particular virtual machines resource requirements.
With all of the issues just mentioned, DRS will try and take action (for example, moving VMs to defragment resources and powering on standby hosts) in order to allow HA to successfully fail over virtual machines.