Clarification on (Zero-Down Time) VMware Tools Upgrade in vSphere 5.1

There have been some recent questions about upgrading to the latest version of VMware Tools in vSphere 5.1 and the benefits it may bring with future upgrades of VMware Tools. Historically, VMware Tools upgrades has always required an operating system reboot as new device drivers and kernel modules will not go into effect until the next reboot. For Windows operating systems, you could “suppress” a reboot by specifying an advanced installer option. For UNIX/Linux operating systems, the new device drivers and kernel modules will be staged when you upgrade VMware Tools, but will only be activated upon the next reboot. In both case, you can continue to run your virtual machine in a partially upgraded state for a limited amount of time until your next maintenance window, but it is recommended that you reboot as soon as possible.

In vSphere 5.1, some of you may have heard about something called Zero-down time VMware Tools upgrade where an operating system reboot will no longer be required for upgrading to future versions of VMware Tools. However, this statement is inaccurate and has caused some confusion with our customers. I would like to take this opportunity to help clarify the expected behavior as you plan for VMware Tools upgrade in vSphere 5.1.

Is there downtime when upgrading to vSphere 5.1 version of VMware Tools?

Yes. If you are running VMware Tools prior to vSphere 5.1, an operating system reboot will always be required for new device drivers and kernel modules to go into effect.

Is there downtime when upgrading to future versions of VMware Tools?

It depends. If one or more components have been updated since the last VMware Tools upgrade or one of the VMware Tools components requests a system reboot, then a reboot will be required. The following VMware KB http://kb.vmware.com/kb/2015163 has been created to help identify the components that would require a reboot. A reboot would not be require if only the base components of VMware Tools have been upgraded (e.g. no PVSCSI, VMXNET3). You can refer to the above KB for components that require a reboot.

What has changed in VMware Tools for vSphere 5.1 for upgrades?

We have made improvements in our VMware Tools installer to help reduce the need for operating system reboots when upgrading common components for VMware Tools. This overall reduces the amount of time for managing VMware Tools upgrade as well as reducing or potentially eliminating the amount of downtime required for a system reboot when upgrading VMware Tools.

Which Operating Systems does this apply to?

Windows Vista or greater

What version of virtual hardware or Virtual Machine Compatibility is required?

Virtual Hardware 9 or VMware ESXi 5.1 Compatibility or greater

What about UNIX/Linux Operating Systems?

As mentioned above, this currently only applies to Windows operating system for Vista or greater. However, VMware continues to look for ways to improve the VMware Tools platform and UNIX/Linux operating systems is definitely something that is being looked at.

About William Lam

William Lam works as a Staff Engineer in VMware R&D and focuses Automation, Integration and Operations. William also runs a personal blog at www.virtuallyghetto.com. Previous to VMware, he was a Systems Engineer managing large vSphere installations and UNIX/Linux systems.

William,
First – appreciate the healthcheck script. Now to this post. VMware needs to change marketing material because it is misleading. I’ve wondered why VM’s still reboot when current tools are 5.1 then they get upgraded. This is too RISKY to tell a customer your VM may or may not need a reboot after upgrading tools? Can you imagine a customer upgrading tools in the middle of the day thinking it’s safe to do so then their corporate SQL reboots. Ouch. Customers should not have to refer to a KB article for every VM to determine if a reboot is required. Who has that kind of time? They should not have to worry about it.

Thanks for the comment/feedback. You mentioned marketing material, can you provide me a link to what you’re referring to?

Regarding VMware Tools upgrade, do you normally allow end users to perform the installation? I would think this is left to either vSphere or System Administrators to dictate when/how VMware Tools get installed and hopefully this is scheduled through some type of change management and not something one would just install? Especially on production system such as a SQL DB, is anyone just allowed to install an application? From my perspective, end users should not even care or be able to perform an upgrade as that is something that should be managed by the infrastructure or OS team.

As mentioned in the article, VMware Tools has traditionally always required a reboot, especially in a Windows environment. In 5.1, we’ve made some improvements to help reduce or potentially eliminate the reboots depending on the modules installed as part of VMware Tools.

I will take this feedback to our PMs and see how we can further improve the process, if it’s something as providing a message dialog that says N components will be upgraded and a system reboot is required or not.

Quick question: All this talk about whether vmtools upgrade will require a reboot, but I don’t see anything about whether the vm virtual hardware will require a reboot. As far as I know the two go hand in hand.

Realizing now that a VM may or may not need a reboot because of a post 5.1 VMtools upgrade, what would the status be on virtual hardware? or should I say, what is VMware’s position on whether or not the virtual hardware would require a reboot?

That is the vaguest KB article I’ve seen in quite a while. How about a matrix of all the components that will require a reboot if changed instead of using “may require” or “may reduce the likelihood” or “a reboot is not expected”? This leaves a lot of doubts if the server requires a reboot or not. Not every company has dedicated vSphere administrators and there are some cases where these environments are handed off to the customer completely.

As mentioned in the article, you do “not” have to reboot but the new device drivers/kernel modules would not be active until the OS has been rebooted. It’ll just continue using the existing drivers, though its definitely recommended that you do not run in this state for a long period of time.

Thank you, I must admit this information is new to me and I won’t be much surprised if there are others who would be surprised to read that Unix OS needs reboot. This is my conclusion: There is no change in OS unless you reboot
VM and it is irrespective if it is Unix/Windows. Only Windows proactively informs you “please reboot” but unfortunately reboot prompt is not done for other OS and most of us Assume that vmware tools is updated in Unix OS and do not need reboot. However it is strongly recommended to reboot. Sorry to have discovered such information via blog entry and not via formal vSphere documentation which are considered bible for vSphere Administrators.

This can cause problems for users of Citrix XenDesktop working with VMware 5.1. Citrix VDA Agent installs software that has to be installed after a VMware tools upgrade. If the upgrade happens after the VDA Agent is installed, the VDA Agent must be uninstalled and reinstall. Is there a way to prevent VMware tools upgrades for specific VMs? I am working with Windows7 x86 VMs.

VMware Tools upgrade will not happen automatically, unless you want it to. Under the VM settings, which is disabled by default to check if you’re running the current version and then update it upon a reboot.

Hi, I totally agree with William, its OS bug that after installing new drivers, it asks for reboot. until and unless we wont reboot changes will not reflect in OS. There are FEW scripts to install/Upgrade VMWare tool silently(without reboot). and changes will reflect once it reboots during its scheduled/planned reboot.

I have more than 7 data center and many clusters and more than 2000 windows vm’s , i would like to upgrade vm tools through powercli without reboot can anyone provide to call function import txt and xls method , kindly help on this ..