Upgrade a Standalone ESXi Host to ESXi 6.7

I wrote an article not too long ago on how to update to ESXi 6.7 using update manager. But what do you do if you have a standalone ESXi host and need to do an esxi update? Read on..

If Update Manager isn’t an option, we can use the esxcli tool which is present on ESXi. It’s very quick and easy to do – however, be warned that this method doesn’t offer an easy way to revert back if things go awry.

Warning/Disclaimer – As with any software – Hypervisor upgrades come with risks. Ensure you back up your configuration data before making any changes. This article is not official documentation, and the process documented here was tested in a home lab only. As always, use caution when working with production hosts, and ensure you test any upgrade method in your own environment, and have documented a robust roll back plan. Always consult the official documentation from VMware.

Onto the upgrade…

The first step is to do your due diligence. Before proceeding, make sure that your ESXi host’s hardware is on the compatibility list for this version of ESXi. Ensure you’re aware of the latest features and changes in the software by reading the release notes and product documentation. Finally, as this method requires connectivity to VMware’s software repository, ensure your host has internet connectivity, and that SSH is enabled.

Once ready, SSH to your ESXi host. To start with, ensure there are no running virtual machines on the host. With that done, it’s a good idea to put the host into maintenance mode. We can do this using esxcli, first of all checking the current status:

[root@ESXIW:~] esxcli system maintenanceMode get
Disabled

Enable maintenance mode by using the following:

[root@ESXIW:~] esxcli system maintenanceMode set --enable true

Finally, check the status again – it should now show the maintenance mode is enabled:

[root@ESXIW:~] esxcli system maintenanceMode get
Enabled

Once it’s confirmed that maintenance mode is enabled, we can move on. The next step may be required depending on your host configuration. As we’re going to get the update directly from VMware’s software repository we need to enable outbound http communication. We can do so by running:

esxcli network firewall ruleset set -e true -r httpClient

We’re going to use an image profile to update the host. To list the available ESXi 6.7 image profiles we can run the following:

esxcli software sources profile list --depot=https://hostupdate.vmware.com/softwa
re/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-6.7
ESXi-6.7.0-8169922-standard       VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180804001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181002001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181004001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20190104001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20190104001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180604001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180804001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181004001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180604001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180704001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181002001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-8169922-no-tools       VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181104001-standard   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20180704001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181001001s-standard  VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181001001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-6.7.0-20181104001-no-tools   VMware, Inc.  PartnerSupported

After selecting the appropriate image profile, we can do a dry run of the update by running:

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PROD
UCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-8169922-standard --dry-run

Pay attention to the output to see if any custom VIBs you may have installed will get removed during the update. There may be a need to reinstall any that get removed, though make sure to check that it is compatible with the new ESXi version.

When ready to do the upgrade, you can run the same command, but without the –dry-run:

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PROD
UCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-8169922-standard
Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.670.0.0.8169922, VMW_bootbank_ata-pata-amd_0.3.10-3vmw.670.0.0.8169922, VMW_bootbank_ata-pata-atiixp_0.4.6-4vmw.670.0.0.8169922, VMW_bootbank_ata-pata-cmd64x_0.2.5-

It will take a little while, but you should then see a message like the one shown above, with confirmation that the upgrade completed. The next step is to reboot the host.

Once the host restarts, begin checking to ensure that there are no issues. You can check the current version of the host by running:

[root@ESXI:~] vmware -vl
VMware ESXi 6.7.0 build-8169922
VMware ESXi 6.7.0 GA

Finally, remember to revert the firewall change made earlier, and take the host out of maintenance mode:

esxcli network firewall ruleset set -e false -r httpClient
esxcli system maintenanceMode set --enable=false

And we’re done! Continue running checks as required.

Related posts

VMware vSphere Virtual Machine Snapshots Explained

Understanding Type 1 and Type 2 Hypervisors

How to Enable SSH on All ESXi Hosts using PowerCLI

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More