VMware Hot-Add: Enable by default?
VMware Hot-Add is an awesome feature – adding CPUs and RAM to a virtual machine without having to power off, however have you ever wondered why it isn’t enabled by default? Recently I was reviewing our VM templates at work and was wondering if we should turn on CPU Hot-Add and Memory Hot-Add on our templates, therefore making it available for all new VMs. I did some research, and this is what I found….
What is VMware Hot-Add?
As mentioned above, VMware Hot-Add Memory and VMware Hot-Add CPU are awesome features that have to be enabled on a per-VM basis. They allow you to essentially add or remove CPU and \ or memory without having to power off the virtual machine. Although this sounds pretty cool and can potentially make admins lives easier…. it comes at a price!
Should VMware Hot-Add be enabled by default?
There are a number of reasons why the VMware Hot-Add features should not be enabled by default on your templates or on all VMs, and hence why VMware doesn’t have this features enabled by default either. Here they are:
Reason 1: Operating System and Application Supportability
First off, not all operating systems support hot-add. In addition, even if the OS supports hot-add, to get any real benefit, the application itself needs to support hot-add as well. An example of this would be Windows 2008 R2 Enterprise running SQL Server 2008.
Operating System Compatibility: To find out if your OS supports VMware Hot-Add for CPU and \ or Memory, use the VMware Compatibility Guide Tool
Application Compatibility: To check if your application supports VMware Hot-Add, check with the application vendor.
Reason 2: vNUMA is disabled on the VM
Once the Hot-Add feature is enabled on a VM, vNUMA is automatically disabled. vNUMA is enabled by default on all virtual machines that have 8 or more vCPUs configured, as generally this will improve performance on these bigger VMs. Although this might not be an issue for most of your VMs, you will still need to weigh up the ability to easily add \ remove CPU and memory on the fly vs. improved performance. If you would like more information about vNUMA, have a look here: Virtual NUMA
How To enable VMware Hot-Add
First off I would suggest that you weigh-up all of the pros and cons of enabling VMware Hot-Add in your environment. Once you have done that, and you want to go ahead with enabling it for some or all VMs, then follow these instructions to enable Hot-Add for CPU and \ or Hot-Add for Memory: Using vSphere Hot-Add to Dynamically Add CPU and RAM
Thanks for the article! I was in the process of determining if I should change my templates as well.
One thing though, I don’t think you can remove CPU or memory. I think you can only add it. At least in my 6.0 environment.
Yeah, hot add is only for adding not removing. If you want to remove you will need to power down.