First things first: Backup
No matter how you upgrade your ESX servers you need to upgrade your VMware vCenter Server and components. This means you need to back up your Virtual Center and Update Manager databases. We should all be backing these up regularly anyway.
If you are not a database savy administrator, go find your database administrator or developer and have them run a new backup before you do any upgrading. Next run the vCenter Upgrade. Be careful to select the option to upgrade your existing database. Proceed with upgrading Update Manager, vCenter Converter and any other components you have installed. Do not forget to connect your Web browser to the address of the vCenter Server and install the new vSphere Client, now supporting Windows 7.
'Blow away' the old installation
Now we need look at the options for upgrading your ESX environment. The first and most popular is Rebuild from the DVD/ISO/Deployment Appliance. All of these require vMotioning the machines to another host and using the DVD to make a fresh install "blowing away" the old installation. When using this method go into the advanced installation options and resize some of the partitions while it is easy to do so.
There are plenty of opinions on what to set each partition to. Here is mine: Make sure swap is 1600 MB, make /var /tmp and / (root) big enough (see the following table). If you have internal storage on your host server you probably have at least 2 x 72GB SAS/SCSI drive in a Raid 1, more than enough room for the ESX install; so do not skimp on the sizes of /var /tmp and of course / (root). If you use this method, a fresh install with no residual parts of the old OS hanging around to cause problems is most likely your goal and this will definitely achieve that.
Host Update Utility
The host update utility is a great tool and can be installed as an option with the vSphere Client. A perfect fit in a small environment. It can download patches, keep you up to date and even upgrade ESX to the next version. Start the Host Update Utility. Add an ESX host. Scan it for patches/upgrades. Then let the utility do the rest. An upgrade package is downloaded and the host is upgraded.
Update Manager lets you manager the patches and upgrades from your vCenter Server. The upgrade can be staged and in larger environments it may be more efficient. Although it helps automate the upgrade the real usefulness comes then you create a baseline based on the packages you want installed for example vSphere Update 1 and you can quickly see which hosts are in and out of compliance. If you have just a three-host cluster it is not a big deal but in a 300 ESX server data center it is good to track progress.
If you like to run upgrades from command lines because you don't trust the graphical user interface (GUI) you can still download the upgrade package and use the esxupdate or vihostupdate command-line interface (CLI) commands.
Version 7 Virtual Hardware
There are reports of the new version 7 Hardware for the virtual machines having strange effects or problems in certain situations. Be sure to fully investigate the situation before upgrading the VM hardware because there is no going back.
How would you do it?
After the overview of the options on how to upgrade people often ask, "Which method do you use?" For me, it always depends. I would first weigh the cost and benefit of upgrading using a Deployment Appliance such as EDA (ESX Deployment Appliance) or UDA (Ultimate Deployment Appliance). If the time spent tinkering with those appliances to get the "just right" is less than if I insert the DVD and stand in front of the rack and hit the buttons myself, I will lean towards the appliance.
But it isn't always about time, if you will be adding additional hosts or you constantly rebuild hosts then getting the appliance working is well worth your time. Also, with the appliance you can be certain each machine is built the same, eliminate the possibility you miss type a configuration setting and spend an hour trying to figure out why you can't VMotion to your upgraded machine.
Jon Owings (VCP) has 12 years of experience as an IT professional. He has worked as a senior technical engineer for an IT consulting company, a network administrator and a Citrix administrator. He specializes in design, implementation and management of VMware, Cisco and SAN products. Owings also manages his own blog, 2 VCPs and a truck.
This was first published in December 2009