One of the huge improvements found in virtual vs. physical infrastructure is the ease with which additional computing resources can be added to virtual machines. In the physical world, adding resources such as RAM and processing power required a hardware order, downtime planning, installation and then hope that everything would continue to operate as it did before the upgrade, except with additional resources. With the ability for vSphere-based virtual machines to hot add additional RAM and processors, the addition of these resources can be accomplished with exactly zero downtime, as long as you’ve taken the appropriate steps and your guest machine is running an operating system that supports this feature.
Let’s start by getting a look at the Microsoft-based guest operating systems that can support hot-add features found vSphere 5.1. The chart below shows you a list of the Windows Server-based operating systems that support particular hot-add features. I’ve pulled this information from VMware’s support documentation.
Personally, I don’t find VMware’s compatibility guide all that accurate, particularly when it comes to adding virtual CPUs to running virtual machines. For example, I’ve successfully been able to add CPUs to a running Windows Server 2008 R2 Enterprise and it was immediately recognized and usable without a reboot being necessary. That said, the system started out with 2 vCPUs so moving to 3 vCPUs wasn’t a big deal. According to the VMware compatibility guide, hot plugging this additional CPU to W2K8 R2 Enterprise shouldn’t have worked (or, at the very least is “Not Supported”).
By default, virtual machines don’t support Hot Add (add RAM) and Hot Plug (add vCPU). You need to enable this capability on a per-VM basis in order to use it. To do so, you must first shut down the virtual machine since you can’t modify these settings while it’s running. Then, open the virtual machine’s properties, navigate to the Options tab and choose the Memory/CPU Hotplug option in the Advanced section. At the right-hand side of the window, note that there are two section – one for memory and one for CPU. Choose the options you like and then click OK. After this setting is changed, you can restart the VM.
Now, when you look at the VM details, notice that you’re provided with the maximum hot-add memory for the VM. In this case, that’s 64 GB.
Also, when I look at the system properties for the VM, here’s what I see: 1 GB of RAM and 1 processor.
While the VM is running, I’m going to increase this to 2 GB of RAM and 2 processors.
And he’s a look at the Computer Properties showing 2 CPUs and 1.5 GB of RAM
If you’ve successfully hot added RAM or CPU to a running virtual machine, respond to this posting (or, leave a response to my forum posting) with your operating system, edition (standard, enterprise, etc), service pack level/kernel version, and architecture (32/64-bit). If enough people respond, I’ll compile all of the results into a usable format and republish it.