I was recently asked if there was a way to upgrade to the latest VMware tools with as little effort as possible using the VMware / vCenter board tools.
Since the VMware tools are also released independently of the release of the ESXi, it can be a challenge to keep track of the current version. (Helpful here is the page https://packages.vmware.com/tools/versions)
Likewise, some VMSAs have recently been released in conjunction with the VMware tools in Windows-based VMs. Therefore the focus here is on the tools of these VMs.
In this blog article, I describe a way using vCenter’s Lifecycle Manager on a cluster that has already been converted to Single Image Management. In principle, something similar is also possible with the Update Manager and Baselines.
Lets-a-go!
At the beginning there is an ESXi 7.0U3c which brings the VMware Tools in version 11.3.5 in the standard installation. However, the target is the current version, 12.0.5.
In a Windows VM an also outdated version is installed
This results in the corresponding message in vCenter and the suggestion to update the tools directly.
Don’t hit the “Upgrade to match host” button, well go for another way to prevent the automatic reboot!
First, we need to update the VMware Tools in the locker directory on the hosts. This is easily done with the Life Cycle Manager and the so-called Single Image Management approach.
For this we change to the “Updates” page of the cluster object in vCenter.
The VMware tools can be managed here as a “component”.
Here the VMware Tools and their desired version can be searched and added via the “Add Components” button. So we add the desired version 12.0.5 to the cluster image.
After the image has been checked for compliance, it can be remediated and updated on the host. A reboot of the host is not necessary for this action.
Interlude
If the button “Upgrade to Match” Host is used now, the VM is restarted during the process, i.e. after the update of the VMware tools in the Windows VM. To prevent this we have to make sure that the requirements of the VMware Tools are already fulfilled and go another way in the GUI.
As you can see in the release notes of VMware Tools (here) a software requirement is an existing installation of the Visual C++ Redistributable in version 14.29.30133.0. ( Get the latest one here)
Of course my VM in the example has an older version installed:
To update the redistributable, I would use the regular patchday in the company and distribute the package centrally.
However, if you want to perform the update manually, you can do it either interactively or via command line.
When installing via command line, you can additionally specify parameters that prevent a reboot. With the interactive update no reboot is necessary.
After that, the version is at an acceptable level:
…where were we..? – oh yes
When the preliminary work is done, we come to the actual update of the tools in the Windows VM.
For this purpose, you can simply click on the red banner, which displays the message about the possibility of the update. See above.
In the following dialog for the VM you have to enter a parameter, so that the restart of the VM is really prevented:
/s /v "/qn REBOOT=ReallySuppress"
If you click on the Upgrade button now, the process will be started.
However, the VM remains accessible during this time, the ping times are occasionally higher:
After a few minutes, the tools are up to date, which is also visible in the VM and the vCenter.
Aaaand… it’s gdone
With this approach, it is very easy to first bring the tools on the ESXi to a uniform, current state without having to restart the hosts.
In the second step, you can update certain VMs that cannot be restarted. This can be done very precisely.
For VMs that can also be restarted to update the tools, the wizard and the cluster-wide update via “Upgrade to match Host” mechanism is recommended.