Upgrading and patching of ESXi hosts can be done using the esxcli software commands, with either the online depot, or an offline bundle. For managing multiple hosts Update Manager is generally the best way to go. Update Manager is now built into VCSA 6.5 (vCenter Server Appliance 6.5 Install Guide) or can be installed on a Windows server (VMware Update Manager 6.0 Install Guide / VMware Update Manager 6.5 Install Guide).
In both the methods outlined below we will be connecting to the ESXi host via SSH. For assistance with enabling SSH review this KB article, remember to disable SSH when you’re done. Before beginning you should ensure any powered on virtual machines are shut down or migrated off the host. The host should be placed into maintenance mode and requires a reboot after patches are applied. You may find the following commands of use:
Lists the installed ESXi build version: vmware -v
Lists installed vibs: esxcli software vib list
List VMs present on the host: vim-cmd vmsvc/getallvms
Gracefully shut down a VM, replacing number
with the VMID obtained from the above command: vim-cmd vmsvc/power.shutdown number
Power off a VM, replacing number
with the VMID obtained from the above command: vim-cmd vmsvc/power.off number
Power on a VM, replacing number
with the VMID obtained from the above command: vim-cmd vmsvc/power.on number
Enter maintenance mode: vim-cmd /hostsvc/maintenance_mode_enter
Exit maintenance mode: vim-cmd /hostsvc/maintenance_mode_exit
When installing individual vibs replace -d with -v, for example: esxcli software vib install -v viburl
The esxcli software commands below all use the update
tag, this ensures that only newer contents of a patch are applied. If a system contains newer revisions of the selected patches then these will not be applied. The install
tag can potentially overwrite existing drivers, and therefore the update method is recommended for upgrading ESXi and installing patches to prevent an unbootable state.
Online Depot
Useful for patching or upgrading individual hosts which have an internet connection and sufficient boot drive capacity. Open an SSH connection to the ESXi host using a client such as Putty, and log in with the root account. First enter the following command to open the firewall for outgoing http requests:
esxcli network firewall ruleset -e true -r httpClient
Find the image profile to upgrade to by reviewing the ESXi patch tracker here. To upgrade the ESXi host run the following command, replacing Imageprofile
with the desired image profile name.
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p Imageprofile
For example:
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.0.0-20161104001-standard
When the upgrade is complete use reboot
to restart the host. Finally close the outgoing http port:
esxcli network firewall ruleset -e false -r httpClient
Offline Bundle
First download the relevant offline bundle from VMware, for upgrades ESXi ISO images can be found here, patches in zip format can be found here.
Next we need to upload the downloaded file to a datastore the ESXi host or hosts have access to. Log into the vSphere web client or the ESXi host UI. Navigate to the Storage view, right click the datastore and select Browse Files. Click the upload file icon and select the zip file downloaded earlier. With the patches now accessible from the host we can start the update process.
Open an SSH connection to the ESXi host using a client such as Putty. Install the downloaded updates using the following command, replacing datastore
with the name or UUID of the datastore, and zip
with the file name of the downloaded patches:
esxcli software vib update -d /vmfs/volumes/datastore/zip
For example:
esxcli software vib update -d /vmfs/volumes/Datastore01/ESXi600-201611001.zip
Check the installation result, a reboot is required. The content listed below this is a breakdown of the VIBs installed, removed, and skipped. Restart the host using the reboot
command.
Following on from upgrading or patching an ESXi host you should also ensure VMware Tools is updated on any guest virtual machines.
For more information on ESXi command line tools see the Troubleshooting with ESXi Shell and vSphere Management Assistant Guide posts.
Hi nice reading your blogg
LikeLike