A few months back, we discussed how to upgrade ESXi hosts using VMware Update Manager. However, if you do not employ VUM, hosts can also be upgraded via ESXCLi commands using an online repository.
In this tutorial, we will upgrade an ESXi host from 6.0 to 6.5 using VMware Online Depot. In addition, I will discuss how to differentiate image profiles within the depot. If you are unfamiliar with the VMware Online Depot, it’s an online repository that provides access to a set of VIBs and image profiles.
Let’s start with that overview on image profiles and how to distinguish them in the online depot. This information could have easily been a post in itself, but if you are new to image profiles and the online depot, it may prove beneficial to be all in one place. If you already know the deal, feel free to skip ahead.
- Image Profiles – An image profile is a set of VIBs grouped to make a full installation of ESXi. VMware issues a collection of these image profiles with each update release of ESXi. Typically, you will see between two to four variations for each patch or update. The collections consist of a standard image profile and a no-tools image profile. The no-tools profile does not include VMware Tools, is usually lighter, has less memory overhead, and PXE boots quicker.
- Naming Format for Image Profile – ESXi-<ABC>-<YYYYMMRRSSS>[s]
A = Major ESXi Version; B = Minor ESXi Version; YYYY = Release Year; MM = Release Month; RR = Release Code; SSS = Release Sequence; s = Flag for Security Only Image Profile
- Example of Image Profiles for ESXi-6.5
- ESXi-6.5.0-4564106-standard | Includes all patches (GA release of ESXi 6.5.0)
- ESXi-6.5.0-20170404001-standard | Includes all patches (ESXi 6.5d)
- ESXi-6.5.0-20170404001-no-tools | Contains all patches; no VMware Tools (ESXi 6.5d)
- ESXi-6.5.0-20170301001s-standard | Contains security patches only
- ESXi-5.5.0-20170301001s-no-tools | Contains security patches only; no VMware Tools
For more information on image profiles, check out this VMware KB.
For VMware ESXi versioning, check out this Patch Tracker.
Now that’s out of the way, let’s get started with the update!
Put Host in Maintenance Mode
If you have virtual machines running on the specified host, ensure they are migrated off or shutdown.
Next, enable SSH and connect to the host. Once logged onto the host, run the vim-cmd hostsvc/maintenance_mode_enter command to put the host in maintenance mode.
Enable Firewall Ruleset
After the ESXi host has successfully entered maintenance mode, run the firewall command to enable the httpClient.
esxcli network firewall ruleset set -e true -r httpClient
Select and Update Image Profile
With the firewall ports open for http requests, we’ll run the esxcli software command to browse image profiles available in the depot. The command will also search for strings containing ESXi 6.5 to narrow down the results.
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-6.5
Most likely, a handful of results will be returned. Refer to the examples in the beginning of this article for image profile descriptions.
In this scenario, we will be upgrading our host to ESXi 6.5d. To do so, run the software profile update command selecting the 6.5d profile.
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-20170404001-standard
After the update is complete, disable the httpClient on the firewall.
esxcli network firewall ruleset set -e false -r httpClient
Run the reboot command to finish out the process.