VSphere 6.0 was released last week so I decided to give it a spin in my home lab. It comes loaded with a lot of features that might not be useful in a smaller virtual environment: virtual volumes, long distance vmotion, VSAN 2.0, etc but it does include significant scalability improvements for various subsystems in the vmkernel. Besides, who does not like running the latest and greatest software?

The complete process should not take longer than an hour or so. One can either download the ISO image or the offline bundle (.zip) which is needed to upgrade using esxcli. The HP custom ISO comes pre-loaded with some drivers required for HP specific hardware, so I prefer downloading that particular flavor. I chose to go the offline bundle route since it allows for an upgrade via esxcli on a headless system.

I am going to assume you will follow the same upgrade route. Download the offline bundle to a local datastore on the host and gracefully shutdown all the running VMs. Now, move the host into maintenance mode using the VSphere client before starting the upgrade.

Before we proceed, you need to know the correct profile to update to. This is a tag for an offline bundle signifying the version profiles for all the ESXi subcomponents that are included in an offline bundle. You can find out by running this esxcli command:

[root@localhost:~] esxcli software sources profile list -d /vmfs/volumes/datastore1/esxi/VMware-ESXi-6.0.0-2494585-HP-600.9.1.39-Mar2015-depot.zip Name Vendor Acceptance Level ------------------------ --------------- ---------------- HP-ESXi-6.0.0-600.9.1.39 Hewlett-Packard PartnerSupported

Now, ssh into your host and run the following command to do a dry-run of the upgrade using the correct profile name in the -p option as obtained from above:

esxcli software profile update -d /vmfs/volumes/datastore1/esxi/VMware-ESXi-6.0.0-2494585-HP-600.9.1.39-Mar2015-depot.zip -p HP-ESXi-6.0.0-600.9.1.39 --dry-run

If this completes without an error, the command will output a list of vibs that need to be removed and a list of vibs that need to be installed. Remove the –dry-run parameter and begin the upgrade process:

esxcli software profile update -d /vmfs/volumes/datastore1/esxi/VMware-ESXi-6.0.0-2494585-HP-600.9.1.39-Mar2015-depot.zip -p HP-ESXi-6.0.0-600.9.1.39

Once this is complete, reboot the host. Remember, never reboot an ESXi host using “reboot -f”. Instead, always use the “reboot” command. There are a number of system settings and changes that depend on certain backup commands running during a system shutdown which are not invoked on a forceful reboot.

When the host has completed the reboot, it will boot up ESXi 6.0 and you can check the console to ensure this is the case. Here is my host just after the completion of the upgrade.

Now, try connecting to the host using the VSphere client (assuming you have the C# client); it will recognize that an upgrade is required and it will automatically start downloading the latest bits from VMware. Once it completes, you will be able to connect to the host using the client. Move the host out of maintenance mode, and start up your VMs.

All my changes to crontab (which I need for William Lam’s ghettoVCB VM backup script) and esx.conf changes for an NFS datastore were preserved correctly. I did need to tweak the ghettoVCB script to work with 6.0, but thats a discussion for a different day.