Upgrading VMware ESXi 7.0 to 8.0 via ESXCLI: Fast, Precise, and Minimal Risk

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

Why ESXCLI is My Top Choice

Last week, I upgraded a cluster of 8 ESXi hosts for a client from version 7.0 Update 3 to 8.0. With this many hosts, using an ISO override is quite time-consuming because you have to mount virtual disks via slow iDRAC or IPMI interfaces. Meanwhile, vSphere Lifecycle Manager (vLCM) proved too cumbersome for standalone hosts not part of a large cluster.

I prefer ESXCLI for its transparency. You can monitor the download of the 150-200MB package in real-time and check for driver dependency conflicts immediately. Everything happens in the terminal—no waiting for web interfaces to respond or worrying about browser timeouts.

Comparison of Upgrade Methods

Method Pros Cons
ESXCLI Extremely fast, detailed logs, no manual ISO download. Requires SSH and Internet (or Proxy) connection.
vLCM (vCenter) Excellent automation for clusters with dozens of hosts. Complex baseline configuration, prone to DB sync errors.
Interactive ISO Suitable for offline (air-gapped) environments. Time-consuming media preparation, requires BIOS intervention.

If you manage fewer than 10 hosts and have a stable internet connection, ESXCLI is definitely the most efficient tool.

Prepare Carefully to Avoid Headaches

Never jump straight into the upgrade command. I once almost crashed a system because an older CPU was no longer on the ESXi 8.0 support list.

1. Thoroughly Check the VMware Compatibility Guide (HCL)

ESXi 8.0 has officially deprecated many older CPU series, such as Intel Xeon E5 v2 or low-end 1GbE network cards. Check your server model on the VMware website. If you try to force it, the system will hit a Purple Screen of Death (PSOD) immediately upon reboot.

2. Backup Host Configuration (Takes 30 Seconds)

Take a few seconds to backup; it could save your life if the upgrade fails. Run the following command:

vim-cmd hostsvc/firmware/backup_config

Then, download the .tgz file from the displayed path and store it in a safe place.

3. Enable Maintenance Mode

Ensure you have vMotioned all virtual machines to another host. Then, put the host into maintenance mode to avoid resource conflicts:

esxcli system maintenanceMode set --enable true

ESXi 8.0 Upgrade Process via Terminal

Here are the 4 execution steps to upgrade to ESXi 8.0 in about 10-15 minutes.

Step 1: Open the Firewall to Download Packages

By default, ESXi blocks outbound HTTP/HTTPS connections. You need to open the port for the system to connect to the VMware repository:

esxcli network firewall ruleset set -e true -r httpClient

Step 2: Select a Stable Build

We will list the available builds. I usually prefer profiles with the -standard suffix to ensure all drivers are included. Run:

esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-8.0

Copy the latest profile name, for example: ESXi-8.0U1a-21813344-standard.

Step 3: Perform the Upgrade

Important note: Use the profile update command. Avoid using profile install because the install command will wipe existing drivers, potentially causing loss of network or storage connectivity after reboot.

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-8.0U1a-21813344-standard

While waiting (usually 5-10 minutes depending on network speed), do not close the SSH window.

Step 4: Verify and Reboot

When you see the message The update completed successfully, check the Reboot Required field. If it is true, close the firewall and restart the machine:

esxcli network firewall ruleset set -e false -r httpClient
reboot

Troubleshooting Driver Errors

The most common error is a “Dependency Error”. This is usually caused by old third-party VIBs (drivers) that are no longer compatible or lack digital signatures in ESXi 8.0.

If you encounter this, you can remove the problematic package using the command esxcli software vib remove -n [package-name]. Another tip: if the /bootbank partition is reported as full, remove unused printer drivers (Gutenprint) or Realtek network drivers to free up space.

Conclusion

After upgrading to version 8.0, I noticed the UI is significantly smoother, especially regarding GPU passthrough for AI virtual machines, which is more stable. Upgrading via ESXCLI is not difficult if you master the hardware preparation process. Good luck with your system upgrade!

Share: