So your ESXi environment has a few virtual machines running, and their OS’s are all kept up to date, but what about bringing the ESXi host itself up to date? This is the quickest and easiest way I ‘ve found of getting the job done.
Download the .zip package from VMWare for your ESXi version. This will need an internet connection.
If you don’t already have it installed, you can download and install vSphere client by typing the name or IP address of your ESXi host into your web browser. This will not need an internet connection.
You’ll also need the VSphere CLI, which will need to be downloaded from VMWare. This will need an internet connection.
Should you have any installation issues, you may want to download the .NET Redistributable Package from Microsoft and pre-install that before attempting to install the VMWare products.
Once you have vSphere Client and vSphere CLI installed and the .zip package ready,
Connect to the VCenter Server / ESXi host and shutdown or VMotion any running virtual machines.
Place the ESXi host into Maintenance Mode.
Open vSphere CLI.
cd C:\Program Files\vmware\vmware vsphere cli\bin\perl
perl vihostupdate.pl –server esx_host_ip –username root –bundle path_to_zipfile.zip –install
Enter the root password when prompted.
It’ll go quiet for a while, but you can see that something is happening in VSphere Client. The job will be “In Progress” for around 2 or 3 minutes on modern hardware with 1Gb/s network connectivity. Only do one host upgrade at a time to prevent IO errors occurring which will halt the upgrade and leave locked files in /var/update/cache/ which will require a restart of the host to clear costing you time. This is especially true if you are connected at only 100Mb/s over the network.
When you see the words “Installation Complete” in the vSphere CLI terminal, the upgrade part is complete. Leave the host in Maintenance Mode for now and reboot it from VSphere Client.
When the host is back up, log on again using VSphere Client, and take it out of Maintenance Mode.
Thats it. power up the VM’s, VMotion them back from the other hosts in the cluster, or just let DRS take care of it depending on your environment.
Repeat for each host in the cluster.