First of all, what is a slot size? The Host Failures Cluster Tolerates admission control policy uses the slot size calculation to determine how many virtual machines can be powered on in a cluster. This policy is set in the cluster settings:
You can view the current calculation by checking the cluster’s Advanced Runtime Info:
This is the runtime info for a two host cluster:
Generally, one virtual machine = 1 used slot. In the example above, I have seven powered on virtual machines and seven used slots in the cluster. To calculate the slot size for a cluster, HA uses the highest CPU reservation of any virtual in the cluster, and the highest memory reservation for any virtual machine in the cluster. If no reservations are set then CPU will be set as 32 Mhz (see screenshot above) and memory will be set as 0MB + the memory overhead. In the example above this is 84 MB.
Changing the memory and cpu reservations on one VM in the cluster, setting CPU to 64Mhz and memory to 128MB has the following effect on the cluster lost calculations:
The slot size has increased, whilst the total number of available slots has decreased accordingly. The available slots count is determined by dividing the total cpu capacity of a host by the CPU slot size and the total memory capacity of the host by the memory slot size. The lowest number from the two is set as the number of slots available. The example shown above shows that setting reservations on a single VM can drastically alter the slot size calculation and will lead to you being able to power on less virtual machines.
It’s generally recommended to use Resource Pools rather than reservations directly on individual virtual machines, as this won’t skew the slot size calculations. However, when virtual machine CPU and memory reservations are set, there a some advanced cluster options that allow us to set a custom slot size. These values are all set in the cluster advanced settings screen.
The first two options, das.slotcpuinmhz and das.slotmeminmb allow you to set a custom value for the CPU and memory slot sizes:
These new settings can then be seen in the cluster runtime info:
If these settings are used, and there are virtual machines with higher reservations than the values specified, then HA will assign multiple slots to it.