Understanding VMware Slot Sizes

February 5, 2013 6 By Eric Shanks

slots

VMware slot sizes are an important topic if you’re concerned with how many ESXi hosts are required to run your environment.

What is a Slot?

To begin this post, we need to understand what a slot is.  A slot is the minimum amount of CPU and memory resources required for a single VM in an ESXi cluster.  Slot size is an important concept because it affects admission control.

A VMware ESXi cluster needs a way to determine how many resources need to be available in the event of a host failure.  This slot calculation gives the cluster a way to reserve the right amount of resources.

How are Slots Sized?

The slot has two parts, the CPU component and the memory component.  Each of them has its own calculation.    If there are no virtual machine resource reservations in the cluster, then the slot size (for ESXi 5 at least) is 32 Mhz for CPU and 0 MBs + overhead for memory. (I’ve used 80 MBs as my memory overhead in the examples)

On to an incredibly simplistic diagram…

In the example below we have 2 ESXi hosts that have the same amount of resources available for virtual machines.  There are different sized VMs, but none of them have a reservation.  Doing a quick calculation we can determine that 384 slots are available on each host.

CPU Component:   4 X 3.0 GHz / 32 MHz = 384 slots

Memory Component:   49 GBs / 80 MBs = 627 slots

Slot1A

 

We take the lower value between the CPU slot size and the memory slot size to determine the number of virtual machines that can be started up under admission control.  So therefore we could safely start 384 machines on these ESXi hosts, have one fail, and have the other host start all of them.

(I should mention that it’s unlikely that you could get 384 vms on one of these hosts.  That would be a great consolidation ratio.)

 

Problem Scenario

What if you have a single large VM with a reservation, but the rest of the virtual machines are relatively small.

Let’s look at the same environment, but this time let’s make the larger VM have a reservation on it.

CPU Component:   4 X 3.0 GHz / 2000 MHz = 6 slots

Memory Component:   49 GBs / 4024 MBs = 12 slots

Slot1B

Admission control is going to tell us that only 6 slots are available on host B, so it will only allow 6 VMs on host A to be powered on.  Since I’m using a simplistic diagram with only two hosts, we know that these VMs will still fit on the host but since we use the largest slot size to determine how much we can fail over admission control will stop us from powering on VMs.

What are our options?

Option 1 – Don’t use reservations unless their is a good reason to do so.

Option 2 – We can manually configure the slot size on the cluster.

Navigate to the cluster settings and go to the HA Section, Click Edit and you’ll have the option of modifying the slot size.  Note that if you do this, some of your VMs will require multiple slots to run.  For instance the large VM we used in our example might take more than 1 slot depending on what size you make it.  The button below the slot size configuration may help you determine how many VMs will be affected by this change.

HA-SlotConfig

View Your Slot Size

If you’re curious about what the slot size is on your system, look at your cluster summary.  There will be an item listed for slot size.

WebClientSlotSize

 

Summary

If you’re in a situation where you think you need to add extra ESXi hosts to your cluster because you can’t power on virtual machines without exceeding your admission control rules, take a look at your slot sizes first.  It may save you some money on a host you don’t really need.

Do you want more information on the subject?  Take a look at either Frank Denneman or Duncan Epping’s blogs, or their book

clusteringDeepDive