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 VMware 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.
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 tools or Open-Vm-Tools (OVT) installed on them). And now we switch 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 MTU 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 Ethernet Controller
vmnic1 0000:01:00.0 igb Up Up 1000 Full 00:1b:21:92:1c:08 1500 Intel Corporation Ethernet Server Adapter I340-T4
vmnic2 0000:01:00.1 igb Up Up 1000 Full 00:1b:21:92:1c:09 1500 Intel Corporation Ethernet Server Adapter I340-T4
vmnic3 0000:01:00.2 igb Up Up 1000 Full 00:1b:21:92:1c:0a 1500 Intel Corporation Ethernet Server Adapter I340-T4
vmnic4 0000:01:00.3 igb Up Up 1000 Full 00:1b:21:92:1c:0b 1500 Intel Corporation Ethernet 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 firewall 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 security level of the physical host a little), allow the internal HTTP 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-standard -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!