Should VMware HA Admission Control be enabled for small (2/3-host) clusters?

Solution 1:

Usually, no; you probably aren't running environments that will see benefit from it. But it depends on the circumstances.

Admission control acts as a kind of dummy-proofing for HA, to ensure that all the VMs on a dropped host will actually be able to be powered on. But this isn't a risk at all in the vast majority of environments - all a host needs to boot a given VM is enough RAM for the memory overhead of all total running VMs (it doesn't need free CPU, and it doesn't need any free physical RAM, that can all be in swap).. except when the VM has a reservation.

The trick here is in the slot size calculations. See here for more info than you probably care to have on the subject.

Most environments have a lot of VMs with no reservation, and maybe a small handful with a reservation of some type. Those VMs with reservations determine the slot size.. so you can easily find yourself with a cluster at 20% resource usage refusing to power on more VMs.

An environment with no reservations will almost never have admission control complain; it will happily allow you to put yourself in a situation where half of your VM memory is sitting in swap files, because that's not violating a reservation, so it doesn't compromise the ability for the VMs to be started.

The circumstance when HA admission control will help you is when you have lots of reserved resources, potentially to the point where if you lose a host, VMs will be unable to reboot because the running VMs have all resources reserved. In that case, an appropriately aggressive (probably manually tuned with das.slotCpuInMHz and das.slotMemInMB) admission control policy can help you make sure that all VMs will successfully boot in an HA event.

  • If no, then why do I find it enabled on so many vSphere configurations?

Because it's on by default on cluster creation when HA is enabled.