Tweaking VMware's High Availability and Admission Control Policies

You have to balance adequate failover capacity with the ability to remain productive and cost-efficient. Admission control in VMware allows you to do both.

VMware's Admission Control (AC) policy allows you to manage cluster failover resources (CPU and memory) so that sufficient resources remain in a "reserved" state in case of an ESX host failure. By default, VMware sets the Admission Control policy to "Enabled."

This state will not allow any virtual machines (VMs) to power on if their requirements violate availability constraints. As a VMware Administrator, you can configure a raw number of hosts that your cluster will tolerate or as a percentage of the total number of hosts in a cluster.

But powering on a virtual machine isn't the only constraint imposed on a cluster when the AC policy is in the Enabled state and when the action would violate failover resource requirements. Migrations to a constrained host, cluster or resource pool aren't permitted, nor are CPU and memory increases for VMs.

VMware suggests that you only disable AC on a temporary basis if one or more of the following conditions exist:

• Maintenance - When you need to place one or more hosts in maintenance mode for upgrades, updates or patching.

Other conditions exist where you might want to disable AC permanently or for a prolonged period. One such situation is if you have a small budget for purchasing and maintaining VMware hosts and you can't afford to hold a large amount of resources in reserve.

Reserved resources, especially for a small number of clustered hosts, are essentially wasted resources, and the cost of those reserved resources can easily equal an entire host system. Fortunately, in this case you do have the ability to specify reserved resources for failover.

Tolerating Host Failures in a Cluster

You have the option of designating a raw number of clustered VMware hosts that can fail and still supply enough resources to carry the load of the entire cluster, but you are limited to four hosts that can be configured for failover. Once you select a number, VMware HA calculates the number of available "slots" or available CPU and memory allocations for running VMs.

Reserving a Percentage of Cluster Resources

As an alternative to setting the number of hosts in a cluster that are allowed to fail, you can take the approach of setting in reserve a specific percentage of the total cluster resources for failover. This setting is useful if your cluster has ample capacity to accommodate a designated amount of failover resources.

Specifying a Failover Host

If you configure your cluster so that you have a "hot spare" host, you can specify that system as a failover host. If another host in the cluster fails, VMware HA will attempt to start VMs on that host. Should your designated failover host go over capacity, HA will try to start the VMs on other hosts in the cluster.

Disabling Admission Control

By disabling AC, VMs can be powered on even if it causes insufficient failover capacity for the cluster. Disabling AC generates no warnings or alerts, and the result of disabling AC might not have the devastating effect to your VMs you'd expect given the available literature on the subject.

The common fear is that some of your VMs wouldn't VMotion and resume on another host in the event of a host failure. This situation would occur only if a very resource-constrained situation exists on your remaining hosts.

VMware HA can still perform failovers in an Admission Control-disabled state by using the VM Restart Priority setting to determine which VMs have resource priority. In case of a failover scenario, those VMs would be powered on first.

To change the Admission Control settings, right click a cluster in your vCenter Client->Edit Settings->VMware HA. Click OK when finished to accept your changes.

To change VM Restart Priority for individual VMs in a cluster, right click a cluster in your vCenter Client->Edit Settings->Virtual Machine Options. Next select the VM in the right window and set the VM Restart Priority to Disabled, Low, Medium or High.

Now set the Host Isolation Response to Leave powered on, Power off or Shut down. Do this for all VMs. The default settings are Medium Restart Priority and Leave powered on. Click OK to finish and accept your selections.

I suggest that, in most cases, it's OK to disable AC and use all the available host resources for powering VMs. The problem that you can experience is that you're more likely to oversubscribe your hosts without some restriction in place. However, for budget-constrained businesses, the cost savings are worth the acceptable risk of oversubscription.

Ken Hess is a freelance writer who writes on a variety of open source topics including Linux, databases, and virtualization. He is also the coauthor of Practical Virtualization Solutions, released in October 2009. You may reach him through his Web site at www.kenhess.com.

Advertiser Disclosure:
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.