In one of my vSphere environments, I’m prepping another upgrade. There are a lot of ways I’ve done this before, including just doing fresh installations and moving virtual machines between environments. That’s one way, but it doesn’t apply to every environment well.

Recently, I saw VMware KB article 2032757, which provided a number of ways to upgrade ESXi. This is a great way to identify your options for upgrade, and chances are you may not have thought of all of them. Here are each of them with my comments on each approach:

#1 vSphere Update Manager

The KB puts this option as the first choice, and this is with good reason. I feel that Update Manager is the cleanest, safest, and most efficient way to upgrade a host. A host can be updated quite easily with Update Manager. You need to think through a few points first, such as ensuring an outage can be taken. The best way to address this is to use maintenance mode and vMotion. Also give some thought to where vSphere Update Manager resides. I know a lot of people who install vSphere Update Manager on a PC, simply so it is out-of-band of the virtual environment.

#2 Interactive ISO upgrade

If an existing ESXi server is booted up from a disc or .ISO image, the menu will prompt two options: new installation or upgrade. The upgrade process simply takes the configuration up to the newer version of ESXi, and any VM inventories and datastores are preserved (including local storage).

#3 Scripted upgrade

I don’t know about you, but I’m not a very good scripter. Luckily, you can upgrade via scripts a number of ways, including via an unattended upgrade tool. I find myself looking to William Lam and Alan Renouf for scripts on this topic. My personal preference would be to skip the scripts for an upgrade, however.

#4 vSphere Auto Deploy

Enterprises, this is for you. This is the most efficient way to deploy a large number of ESXi hosts. Auto Deploy leverages pre-boot execution (PXE) to do both stateless and stateful deployments. In my experience, I’m usually not working in very large environments. I usually would upgrade as many as 10 hosts per day for an active cluster. But if you are doing a large roll-out, Auto Deploy is for you.

#5 Esxcli

The console of the host has the ability to install patches directly on console. This is much more limited than the previous examples, and is really the least desirable of scenarios.

My addition

I would add another option aside from those listed in the KB article mentioned earlier. And that is to do a fresh install. It may sound odd, but if you have the hosts (especially new ones); it may be much cleaner to pick them up and migrate the VMs over to new storage and server resources. Depending on a number of factors, there may be downtime for the virtual machines, however. The critical step here is to have the newer vCenter Server inventory the older hosts.

There are plenty of ways to upgrade a host and these are only a few. Update Manager is the safe bet and my recommendation. How do you upgrade your ESXi hosts? Share your comments below.