Using vSphere Hot-Add to Dynamically Add CPU and RAM
What you need to know about adding, modifying and removing virtual hardwareIn most cases, only very few types of hardware can be added “hot”, i.e., while the VM is running. For all other types of virtual hardware, the VM has to be powered off before they can be added or removed. In addition, your operating system and applications have to be configured to recognize the virtual hardware you want to add.
Let me show you a running virtual machine that hasn’t been enabled yet with Hot-Add/Hot-Plug features.
To view a virtual machine’s hardware properties, go to your vSphere client, select a virtual machine (for this example, we selected vMA), click Edit Settings under the Summary tab and when the Virtual Machine Properties window appears, go to the Hardware tab.
Click on Memory and see if the Memory Configuration section is grayed out just like the one below.
Just to remind you, we’re assuming your VM is running while you’re doing this.
If it is grayed, that means we can’t modify the amount of RAM. This is what you’ll see if your VM doesn’t have Hot-Add/Hot-Plug capabilities.
Now, click on CPUs to see if you can modify the number of virtual processors. If the area on the right is grayed out just like the Memory Configuration, again, that’s because you don’t have Hot-Add/Hot-Plug capabilities.
Try clicking the Add button. That’s the button you’re supposed to click if you want to add a device to this virtual machine. Consistent with what we mentioned earlier, you’ll notice that a lot of the devices there are labeled (unavailable). Only Hard Disk and SCSI Device, can be added.
You’ll also notice that when you go back to the previous window and click all the devices found there, most of the devices cannot be removed. That is the Remove button is mostly grayed out. In our case, the only time it wasn’t grayed was when we selected the Hard Disk.
As you can see, you really have very limited options when it comes to adding, modifying, and removing hardware on a running virtual machine without the Hot-Add/Hot-Plug features.
Obstacles you may encounter when using vSphere Hot-Add/Hot-PlugBefore we proceed to show you how to use Hot-Add/Hot Plug, let’s first talk about some of the obstacles/limitations you may encounter when using these features.
Note that, while vSphere supports Hot-Add and thus allows you to add RAM dynamically, it does not support hot-remove RAM. More importantly, support for these “hot” features are largely dependent on your guest OS; not on vSphere.
Here’s a table from Jason Boche of blog.boche.net showing which Windows Server editions, when running as guest operating systems, support specific Hot-Add/Remove and Hot-Plug/Remove features:
In addition to those operating systems, you might like to know that the following OSes support hot plug (CPU) without requiring a reboot:
● Windows 7 Enterprise and Ultimate 64-bit
● Windows Server 2008 64-bit Datacenter
Sad to say, both Hot-Add and Hot-Plug are NOT turned on by default on a virtual machine. Also, to activate these features, the virtual machine has to be powered off. This can be quite a hassle because, normally, you only realize that you need more CPU or RAM when everything is already running.
Therefore, if you think there is the slightest possibility that a VM will be needing more system resources during operation, e.g. if it is a mission critical VM, don’t forget to activate Hot-Add and Hot-Plug beforehand.
Finally, note that Hot-Add/Hot-Plug are not compatible with VMware Fault Tolerance. So if you’re already using VMware FT on a VM, then don’t activate Hot-Add/Hot-Plug there.
Now that you know what Hot-Add and Hot-Plug are, it’s time to show you how to put them into action.
Enabling Hot-Add and Hot-PlugTo enable these features, go to your vSphere Client and power off the VM you want to activate Hot-Plug/Hot-Add on. Make sure the guest OS on that VM supports Hot-Plug/Hot-Add (refer to the table shown earlier) before proceeding. If the guest OS supports it, then select the powered-off VM and, in the Summary tab, click Edit Settings.
In the Virtual Machine Properties window, go to the Options tab, and select Memory/CPU Hotplug. Next, go to the Memory Hot Add section and select the “Enable memory...” option. In the same manner, go to the CPU Hot Plug section and select the “Enable CPU...” option. Then click OK.
At this point, you may now power on the VM. If you want to see how your CPU and memory resources look like from inside the guest OS itself before and after Hot-Add/Hot-Plug are put into action, open the console for that VM and log into the guest OS.
Once you’ve logged in, go to the Windows orb, right-click on Computer, and click Properties.
There you’ll see your currently installed RAM. For example, we currently have only 1 GB of RAM.
To view the current number of CPUs, go to the panel on the left side of that screen and click the Device Manager. Inside the Device Manager, expand the Processors item to see the number of processors. In our example, we have only one processor.
Later, if you want to verify whether Hot-Add/Hot-Plug really changed the amount of RAM and the number of CPUs, you already know where to look.
Let’s now add more RAM and CPU to your system.
How to Hot-Add RAM and Hot-Plug CPU to a Running VMGo back to your vSphere Client and select the VM in question. Again, go to the Summary tab and click Edit Settings as shown earlier. Once you’re back inside that virtual machine’s Properties window, go to the Hardware tab and select Memory.
You’ll now see that the Memory Configuration section is no longer grayed and that you can already change the memory size. Go ahead and do so. Remember you’re doing this while the VM is running.
After adding more RAM (e.g. we changed ours from 1 GB to 3 GB), you may also add more CPUs. Just click CPUs from the list of Hardware. Add CPUs by selecting a number from the drop-down list at the right (e.g. we changed ours from 1 CPU to 3 CPUs)
Click OK to proceed.
You can easily see the results of the Hot-Add/Hot-Plug operation on the virtual machine’s Summary tab.
If you’re not contented with that and want to see the results of this operation from right inside the guest OS, go back to that virtual machine’s console and into the guest OS. If you navigate back to the places we showed you earlier, you will now see that the changes have in fact taken place.
Here’s are the newly reinforced CPUs:
And here’s the newly beefed up RAM: