Upgrading VMware ESXi from 5.5U3 to 6.5 on-line

Today I upgraded my physical host from VMware ESXi 5.5U3 to 6.5 using the online update method. There were a couple of gotcha’s that needed to be taken care of on the way (as I use a network card that doesn’t support.)  You might want to skip to Keeping VMware ESXi Updated: 6.5 Update 1, if you’re keen to start.

So with a last use of the VMware vSphere Client (ESXi 6.5 uses the web UI interface instead), and a few lines entered on via the SSH console, a short outage as the system rebooted, and it was done. Let’s get started.

Warning: If you use VCSA (vCentre Server Appliance), then you must this to v6.5 first!

So firstly we need to enable the SSH console on the server, so that we can connect to the CLI remotely (it is also possible to do this from the command prompt on the server itself, but I’d rather do this in comfort, rather than in the machine room). So here we follow the instructions on VMware’s documentation Centre to enable the SSH console.

Also check that all your essential VMware guests are set to automatically start when the system is booted (but that should be the current state anyway). Shutdown all the guests (unless you’ve got VMware or Open-Vm-Tools (OVT) installed on them). And now we to our SSH client of choice (in my case, I used the perennial PuTTY). Login using the credentials to the VMware server.

Firstly you need to check to see if there are any devices in use that are deprecated. I know that I am using a Realtek 8168 for the management connection to the server (it’s built into the motherboard, so provides a “free” port for this purpose.

[root@vmware:~] esxcli network nic list
Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address           Description
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  -----------------------------------------------------------------------------------------
vmnic0  0000:03:00.0  r8168   Up            Up             100  Full    5c:f9:dd:70:15:a7  1500  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit  Controller
vmnic1  0000:01:00.0  igb     Up            Up            1000  Full    00:1b:21:92:1c:08  1500  Intel Corporation  Server Adapter I340-T4
vmnic2  0000:01:00.1  igb     Up            Up            1000  Full    00:1b:21:92:1c:09  1500  Intel Corporation  Server Adapter I340-T4
vmnic3  0000:01:00.2  igb     Up            Up            1000  Full    00:1b:21:92:1c:0a  1500  Intel Corporation  Server Adapter I340-T4
vmnic4  0000:01:00.3  igb     Up            Up            1000  Full    00:1b:21:92:1c:0b  1500  Intel Corporation  Server Adapter I340-T4

Gets us a list of drivers that are in use, in this case, the r8168 that I slipstreamed into the original build CD for this server, and the driver for my Intel i340-T4 card. So we need to update this r8168 driver to a one which will operate under ESXi6.5.

esxcli software acceptance set --level=CommunitySupported
esxcli network  ruleset set -e true -r httpClient
esxcli software vib install -d https://vibsdepot.v-front.de -n net55-r8168

Here we set the VMware system to accept the community supported drivers (lowering the level of the physical host a little), allow the internal client access through the firewall, and then install the driver I need from the V-Front VIB Depot.

Once we’ve got the drivers fixed, we can now perform the actual ESXi upgrade process.

esxcli network firewall ruleset set -e true -r httpClient
esxcli software profile update -p ESXi-6.5.0-4564106- -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
esxcli network firewall ruleset set -e false -r httpClient

The first line is only needed if we didn’t already allow this to fix the network drivers.
This allows the internal HTTP Client to access the outside world through the firewall, and then updates the environment to ESXi 6.5.0 build 4564106.
Now check everything again and

reboot

Now, since 6.5 no longer users the vSphere client, we’ll need to log in to the server itself, so point browser at https://vmware.svr.some.where/ and you’ll see a login prompt, complete the credentials and then you’ll be in the shiny new UI of the upgraded VMware ESXi 6.5.0 server. Check all your auto-starting VMs are on their way up, and you’re done.

For reference, I did use a couple of sources to assist in the process, courtesy of VMware Front Experience and TinkerTry. Thanks guys!