Upgrade VMware ESXi 6.5 to 6.7 using the esxcli console tool
410 words, 2 minutes
I decided to run VMware ESXi on my Online/Scaleway Start-2-L server. Using the online.net installer, you can “only” get ESXi 6.5.0d (64BITS). So here’s how to upgrade to 6.7.
Get VMware ESXi 6.5 ready
Install the ESXi distribution using the online.net wizard. Then connect to the ESXi Web GUI.
First of all, change the root password that was initially configured during installation.
Then enable SSH by browsing to https://my_esxi/ui/#/host/manage/services, selecting the “TSM-SSH” service and changing the “Policy” to “Start and stop with host”. Finally, “Start” the SSH service.
Upgrade to VMware ESXi 6.7
Log in using SSH and check the actual ESXi version:
# vmware -v
VMware ESXi 6.5.0 build-4887370
To avoid the “[Errno 28] No space left on device” issue, the trick is to set up swap on the available datastore. To do so, browse to https://my_esxi/ui/#/host/manage/system/swap. Click “Edit settings” and set the “Datastore” property to “datastore1”. Click “Save” to apply.
Back on the SSH session, we can check for the available upgrades:
# esxcli software sources profile list \
--depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml \
| grep '^ESXi-6.7.*standard' | sort -u
ESXi-6.7.0-20180604001-standard VMware, Inc. PartnerSupported
(...)
ESXi-6.7.0-20190801001s-standard VMware, Inc. PartnerSupported
ESXi-6.7.0-20190802001-standard VMware, Inc. PartnerSupported
ESXi-6.7.0-8169922-standard VMware, Inc. PartnerSupported
Enable access to remote HTTP sites:
# esxcli network firewall ruleset set -e true -r httpClient
Issue an upgrade test to the latest ESXi 6.7 version:
# esxcli software profile update \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml \
-p ESXi-6.7.0-20190802001-standard --dry-run
Update Result
Message: Dryrun only, host not changed. The following installers will be applied:\
[BootBankInstaller, LockerInstaller]
Reboot Required: true
VIBs Installed: (...)
Everything should be OK. So let’s upgrade the ESXi and reboot:
# esxcli software profile update \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml \
-p ESXi-6.7.0-20190802001-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, (...)
VIBs Removed: VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.650.0.0.4564106, (...)
VIBs Skipped:
# reboot
Back on the SSH session, the upgrade can’t be verified:
# vmware -v
VMware ESXi 6.7.0 build-14320388
The version can also be verified from the Web GUI. In https://my_esxi/ui/#/host, the version property shows: 6.7.0 Update 3 (Build 14320388).
The datastore1 is located on an SSD drive so I’ll keep it there. But one may rollback to the previous swap configuration after upgrade.