birds like wires


Updating VMware ESXi

I don’t like visiting It means that there’s a problem, and I know that the solution will involve an awful lot of searching and staring in bafflement, usually with pretty high stakes. Feeling lost and apprehensive, I delve through many pages of documentation looking for the latest instructions that really should be in bold on an obvious page, or at the very least returned in my searches.

So you can imagine my happiness when I discovered that the incredibly simple, stress-reducing vSphere Host Update Utility has been unceremoniously ditched for ESXi 4.1. Gone. Kaput. Why? Only a cynic would say that it’s to encourage users to give VMware money for their fancier tools. And I’m not cynical. Oh, no.

So instead of HUU, we are left with the one-at-a-time methods provided by the vSphere Command Line Interface or, more precisely, vihostupdate. For those in the same boat of managing maybe only one VMware vSphere Hypervisor (for which I am still incredibly grateful, if occasionally frustrated), this is the way to apply those upgrades and patch ‘bulletins’.

Install vSphere Command Line Interface

No getting away from it, you do need this now. There is one shining beacon of happiness, which is that you don’t need the poky Windows command line to use it; Linux can now join in. Download vSphere CLI for your OS and then either get busy with your .exe or (for Ubuntu 10.10):

sudo apt-get install libxml-libxml-perl perl-doc libssl-dev
tar zxvf VMware-vSphere-CLI-4.1.X-XXXXXX.i386.tar.gz
cd vmware-vsphere-cli-distrib
sudo ./

It’s now worth running vihostupdate --server <IP> --query to make sure things are working, and to show your previously installed patches.

Update to ESXi 4.1

Assuming you are still humming along merrily on ESXi 4.0 it’s time to shut down your virtual machines, drop to Maintenance Mode and fetch ESXi 4.1 (upgrade ZIP from ESXi 4.0)’. You can find it amongst the rest of the ESXi 4.1 downloads. Once you’ve got the .zip file you can either chew your way through to page 63 of the vSphere Upgrade Guide or:

vihostupdate --server <IP> -i -b <PATHTOZIP>

You can add the -B flag to install a specific bulletin, but you want everything, so don’t bother.

Check that it has landed properly using the vihostupdate --server <IP> --query command again and once you’re happy, cross your fingers and reboot from vSphere Client. If it’s worked, you’ll be prompted to download the new client when you try to log back in.

Patching ESXi 4.1

This used to be load-click-password-click-relax. Now you search for patches manually (yes, it does say ‘System Exception occured’ [sic] a lot, doesn’t it?), download the .zip files by hand and then replicate exactly what we did above with the ‘-i’ and ‘-b’ flags for each patch in the order that they were released. Use —query to make sure things are correct before rebooting.

Usefully, but gallingly, you can still use HUU to scan your hypervisor and display which patches are required; you just can’t use it to apply them. I’d also recommend signing up for the Patch and Maintenance Alerts, so you get a timely notification when something has been released.

I have to say that ESXi is outstanding, and it’s phenomenal that they allow you to run it (albeit in a limited manner) for free, but simple things like updates really shouldn’t be this convoluted and it’s not helped when the reams of documentation are so impenetrable. How they make such well-written and complete docs so difficult to mine the information from is a mystery. Unannounced dropping of apps, relying on mailing lists for security updates… It just all seems a little prehistoric these days.

Weird. Lot of spam on this article. Comments are off!