Yesterday I received an email with the following question: how to calculate VMware HA Admission Control for unbalanced vSphere cluster? Just for a quick reminder, Admission Control is used to ensure that sufficient resources are available in a cluster to provide failover protection and to ensure that virtual machine resource reservations are respected. I already described some months ago how VMware HA Admission Control works, why I prefer Percentage of Cluster Resources Reserved admission control policy and why Resource Pools are important and should be designed and used correctly. However, I assumed a balanced vSphere cluster. Sometimes you have to build an unbalanced vSphere cluster - it means that hosts belonging to the cluster do not have the same amount of CPU or Memory. As you can read on VMware documentation, an unbalanced vSphere cluster is not recommended:
Ensure that you size all cluster hosts equally. An unbalanced cluster results in excess capacity being reserved to handle failure of the largest possible node.
Let's assume that we have 8 hosts: 7 old hosts with the same configuration and 1 new host.
As you can see on above figure, our hosts specifications are as follows:
7 hosts: 128GB, 12 CPU (2x 6cores) 2,9Ghz = 34,8 Ghz
1 host: 256GB, 24 CPU (2x 12cores) 2,7Ghz = 64,8 Ghz
Total Cluster Memory is: 7*128+256=1152GB
Total Cluster CPU: (7*12*2,9)+(24*2,7)=308,4Ghz
We decided to protect our vSphere cluster: N+1.
To choose the correct Percentage of Cluster Resources Reserved admission control policy we need to take into consideration the worst scenario when the biggest host fails. Let's calculate the percent of total cluster Memory and CPU that resources of the biggest host are:
Memory: (256*100%)/1152 = 22,22 %
CPU: (24*2,7*100%)/308,4 = 21,01 %
We should reserve at least 23% of total cluster memory and 22% of total cluster CPU. I recommend reserving 25% for each resource because we would not have a totally utilized cluster after failure of our the biggest host 😉