There are a lot of HA failover capacity calculation blogs out there. The most apply to virtualcenter2.0.1 not to 2.x.
Virtualcenter 2.x (and 4.x) uses other calculations than virtualcenter 2.0.1. if you are still using version 2.0.1 use the following blog at vmwarewolf. For virtualcenter 2.x there is also a great post at virtualgeek , based on that post also duncan epping wrote an blog about it. These blogs where the first blogs out there regarding this subject. Hugo peeters also made a great script for calculation the slots.

Reading al those above blogs is still had two questions.

1.    How can I check the calculation that ESX is using, with other words how can I troubleshoot HA on virtualcenter 2.x and 4.x ?

Go to virtualcenter server “C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Logs\vpxd-x.log” open it with notepad and search for das.
You will find something similar like below.

in virtualcenter 4.x the above is still the same but the slots and cpu and memory is not listed when you click on cluster level and click the link in left corner in the vmware HA table

2.    The other thing is was missing on these blogs was the exact calculation of the HA slots.

They forgot to mention that you have to check the memory that is left for the virtual machines. There is some overhead on esx and also the cos takes some memory. If you forget these values you will come to other slot calculations than vmware :) . Also the script of hugopeeters comes to another slot size than vmware does in the log file of virtualcenter, based on that I started investigating what I was missing here.

a.    So First of all check your esx hosts to find out how many memory will be available for you virtual machines and write that number down.

Click an esx host go to configuration-memory, (if all your esx hosts are the same you have to check it only on one esx host, otherwise find the esx host with the least amount of memory/cpu.)

b.    Find the biggest virtual machine with the biggest memory and the biggest memory overhead/or biggest memory reservation and biggest memory overhead.

Just click on the cluster click on virtual machines and list them on biggest memory and cpu.  Also check the resource allocation to see if there are virtual machines with some reservations through resource pools or individual reservations.

So find the biggest vm down and write down the memory overhead of this particular vm. Also write down the number of vcpu of this VM.

Now that you have wrote down the numbers in the above steps you can start calculation the HA slots. The math that is already explained in the other blogs and is also explained in the resource management guide. For the lazy readers who don’t want to hop from blog to blog I did the calculation again below.

Our situation:

  • 1 cluster with 6 esx servers all the same setup
    cpu = 8 * 2812 mhz = 22496 mhz (4 procs dualcore 2,812 Ghz)
    memory available for virtual machines = 29641 mb  (host has 32 GB but 800 mb for cos and the rest is overhead see picture above)
    biggest VM in cluster has 1 vcpu and memory overhead of  154 mb
    configured failover capacity = 1.

CALCULATION

CPU SLOT
Cpu slot. = total cpu esx host / 256 mb * max virtual cpu
(with reservation it’s the highest reservation plus the max memory overhead)

Cpu esx host = 22496 (see above)
default cpu = 256 mhz * max virtual cpu’s ,  256 mhz * 1 = 256 mhz.

so 22496 mhz/256 mhz = 87,875 slots = 87 cpu slots available per esx host.

MEMORY SLOT
Memory slot = total available memory for virtual machines on esx / 256 mb + maximum memory overhead. (with reservation it’s the highest reservation plus the max memory overhead)

Memory slot = 29641 / 256 + 154 = 72 slots per esx host.

I hope this helps.
Many thanks to all the other blogs about HA calculation.