Updating vSphere (vCenter and ESXi)

Updating vSphere

vCenter 6.7

Updating things is always fun! It’s a good thing that updating vCenter is pretty easy, and the VMware documentation is useful to boot. You can also check out Mike Tabor, who has a good guide on updating the vCenter Server Appliance too. I upgraded from 6.7.0.20000 (Build 10244745) to 6.7.0.42000 (Build 15132721). I later upgraded from 6.7.0.42000 (Build 15132721) to 6.7.0.42100 (Build 15505668) using this process… because I needed to make sure my instructions were correct after waiting so long to actually write this post.

Word of caution, you probably don’t want vCenter dying so TAKE A BACKUP. Legit, just install Veeam Backup & Replication Console for free and backup your vCenter Appliance. Then once you’ve updated everything you will probably want to just use Veeam as your backup solution anyway. It sells itself.

  1. Log in to your vCenter Appliance Interface (Not your VMware vSphere console) - navigate to something like https://appliance-ip-address-or-fqdn:5480 and log in with your root credentials.
  2. Click Update.
  3. It should automatically update and show your available updates, but you can force it by clicking the CHECK UPDATES drop down, then clicking Check CD ROM + URL. After it loads you’ll be presented with a list of available options.
  4. Click the radio button for the update you’d like to install.
  5. Click STAGE AND INSTALL.
  6. Check the “I accept the terms of the license agreement” box (after definitely reading and agreeing to them), and click NEXT.
  7. Wait a moment for the pre-update checks to complete. If they don’t complete successfully, then you’ll need to sort out whatever that issue is.
  8. Uncheck the “Join VMware’s Customer Experience Improvement Program (CEIP)” box - or don’t, then click NEXT.
  9. Check the “I have backed up vCenter Server and its associated databases” box. Heed the estimated downtime notification and please actually backup your vCenter Server and its associated databases. Then click FINISH.
  10. Wait while the installation occurs. Expect the vCenter Appliance to restart, and also to not be able to log in despite being presented with a log in page, just wait a bit more. You can log in to the ESXi host and check the VM to see where it’s at too.
  11. Once successfully logged back in to the vCenter Appliance, click CLOSE to dismiss the installation succeeded message.
  12. Confirm the upgrade on the Summary page by peeping the Version and Build number.

ESXi

After updating vCenter, we can look at updating the ESXi installation on each host. There’s this great site called esxi-patches.v-front.de which provides you with everything you need to know about VMware ESXi patches. We’re specifically looking at the ESXi 6.7 patches. You can just click on the Image profile link and it will pop up a window showing you the commands you’ll need to run. We’ll do everything from the VMware ESXi host.

I upgraded from 6.7.0 Update 1 (Build 10302608) to 6.7.0 Update 3 (Build 15160138). There were also a few issues I had, which I will note after these main steps.

  1. Log in to your ESXi host with your root credentials.
  2. Power down your virtual machines and put the host into maintenance mode. Click Actions, then from the drop down select Enter maintenance mode, click Yes.
  3. Enable SSH. Click Actions, then mouse over Services, then click Enable Secure Shell (SSH).
  4. Open your favourite terminal and SSH into your ESXi host. ssh [email protected] or ssh [email protected].
  5. We’re now just following the ESXi 6.7 patches Image profile commands, execute esxcli network firewall ruleset set -e true -r httpClient.
  6. Execute esxcli software profile update -p ESXi-6.7.0-20191204001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml.
  7. Execute esxcli network firewall ruleset set -e false -r httpClient.
  8. Execute reboot now.
  9. Log in to your ESXi host with your root credentials again.
  10. Confirm the upgrade on the Host page by peeping the Version and Build number.
  11. Disable SSH - if it hasn’t already disabled by itself. Click Actions, then mouse over Services, then click Disable Secure Shell (SSH).
  12. Remove the host from maintenance mode. Click Actions, then from the drop down select Exit maintenance mode, click Yes. Make sure to power up your VMs if they don’t automatically turn on.

ESXi Upgrade Issues

CPU Support Warning

Full Warning: Hardware precheck of profile ESXi-6.7.0-20191204001-standard failed with warnings: <CPU_SUPPORT WARNING: The CPU in this host may not be supported in future ESXi releases. Please plan accordingly.>

After attempting the profile update I hit a CPU support warning which halted progress. This can be suppressed by applying the--no-hardware-warning flag. For example, instead of esxcli software profile update -p ESXi-6.7.0-20191204001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml you would execute esxcli software profile update --no-hardware-warning -p ESXi-6.7.0-20191204001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml.

No space left on device error

Full Error:
[InstallationError][Errno 28] No space left on device. vibs = VMware_locker_tools-light_11.0.1.14773994-15160134

This issue sent me to all sorts of places on the internet. Ultimately, this reddit post on Error 28 saved me. Simply install VMware Locker Tools Light first.

Keep in mind the below steps were specifically for my version, confirm against esxi-patches.v-front.de and their tools-light listing for your specific command. After shelling into the ESXi host:

  1. Execute cd /tmp.
  2. Execute wget http://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_11.0.1.14773994-15160134.vib.
  3. Execute esxcli software vib install -f -v /tmp/VMware_locker_tools-light_11.0.1.14773994-15160134.vib.
  4. Proceed from the start of the main steps.

References