How do you upgrade a VMware ESXi host that VCSA is running on? well, you can not use VCSA VUM (vCenter Server Appliance, VMware Update Manager). In this case we have a chicken and the egg problem. This is due to maintenance mode required on the host prior to patching but maintenance mode requires VCSA to be powered down.
My Google-Fu lead me to a few ways this problem is solved. Basically you have to play musical hosts with VCSA, kind of like a little puzzle.
- Upgrade the host that’s running VCSA directly from the host using CLI (probably your only option if you only have a single host)
- Deploy VCSA to shared storage, upgrade a host then move the VCSA compute source only to the newly patched host. Then Patch the other hosts.
- Use VCSA to upgrade a host then clone VCSA to the newly upgraded host (you can clone VCSA itself whilst sill powered up)
- Don’t bother with upgrades and patching and risk getting owned
The option I use in my lab
Upgrading the host via the CLI seems horrible to me so option 1 was out. I do not have shared storage so option 2 is also out. Given I have 2 ESXi hosts in my lab I use option 3.
This is the process I follow to patch host1 and host 2
- Assuming VCSA is currently running on host1 upgrade host2 using VCSA VUM
- Once host2 is upgraded and back online clone VCSA from host1 to host2 (you can use VCSA to clone itself to another host)
- Shutdown the VCSA running on host1 that you just used to clone to host2
- Power up the cloned version of VCSA on host2
- Upgrade host1 using VCSA VUM
VCSA will then remain on host2 until the next round of VMware upgrades and patching is required. At which point VCSA will once again reside on host1 for a while. Like I said, musical hosts with VCSA.
If anyone can enlighten me on more efficient method I’m listening 🙂