Upgrading vSphere ESXi Hosts (Including HP and Dell)

KB ID 0001343

Problem

Before you think about upgrading your hosts, you should upgrade your vCenter,

Upgrade vSphere vCenter Appliance

Assuming that’s all done, your task now is to upgrade your hosts, if you have a vanilla VMware ESXi version installed. You COULD simply SSH into the host, and execute the following commands;

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

Well that’s great but if you are using a custom ESXi image, the process won’t even start, you simply get warned that this won’t work, as it will break all the vendor specific drivers/software, (which is a good thing I suppose, the warning I mean, not the breaking things!)

Still, if you have a vendor modified copy of ESX what do you do? Well the following procedures will work for any version of the software, either vanilla VMware or HP/Dell/IBM etc. AND IT RETAINS ALL THE HOST SETTINGS, i.e. licences, vSwitches (standard and distributed), certificates etc.

Solution 1: Use an ‘Offline Bundle’ update

Firstly, you need a copy of the appropriate ‘offline bundle’ update, below you can see this is the customised one for HPE servers.

ESX Customised Upgrade Offline Bundle

Upload the offline bundle into a datastore, (that the host to be upgraded has access to!) While in here, shut down the guest VMs on this host, and put the host into ‘maintenance mode‘.

NOTE: If you are updating an HPE Server, there will be a gen-9 and a pre-gen-9 update bundle! Pick the correct one!

ESX Upload Offline Bundle

Or, you can upload the bundle via SCP into the appropriate datastore, if you prefer.

ESX Upload Offline Bundle SCP

SSH into the host you are going to upgrade. Below you can see me navigating to the Datastore;

cd /vmfs/volumes
ls

Enable SSH Access to VMware vSphere ESX

ESX SSH to Volumes

And there’s my offline bundle ready to be installed.

ESX SSH to Offline Bundle

Remember: Even if you’re in the correct directory, you need to specify the ‘full path’ to the ‘offline bundle‘ (or it looks in the ‘/var/log’ directory and won’t work). Execute the following command;

esxcli software vib update -d /vmfs/volumes/{Datastore-Name}/VMWare-ESXi-6.5.0-Update2-9298722-HPE-preGen9-650.U2.9.6.8.3-Sept2018-depot.zip

Install VMware Offline Bundle

For a while it will look like nothing is happening, (don’t panic.) After a while a LOT of text will scroll past (quickly). Scroll back up to the TOP of all that text, and you are looking for, is ‘The update completed successfully‘.

VMware Offline Bundle Sucessful

Reboot the host.

Reboot ESX from SSH CLI

Solution 2: Use VMware Update Manager

Warning: You CANT deploy an ESXi image, thats OLDER than the Update Manager you are running, i.e. if your vCenter is 6.5 you cant upload an ESX 6.0 image, (it will fail – this cost me two hours onsite!)

Warning 2: You need vCenter 6.0 Update1 or newer to perform this function.

I’ve got two hosts, one’s a Dell PowerEdge and the other a HP Proliant, I’ve already upgraded the HP server, you will see that in the screen shots below, now I’m going to upgrade the Dell.

Before Starting;

  • Download the install .ISO file that has the newer version of the ESXi software.
  • vMotion all the VM’s off the host being upgraded, (to save time).
  • If you have two hosts, (like me.) You might want to disable HA and DRS on the cluster as well temporarily!

Connect to vCenter > Home.

vSphere Web Client Home

Update Manager.

vSphere Web Client Update Manager

Select the vCenter > Manage > ESXi Images > Import ESXi image.

vSphere Web Upload ESX Image

Browse to the .iso file you downloaded and upload it to update manager.

vSphere Web Upload Dell HP ESX Image

After a short pause you should see the image appear, (Note: you can see the HP one I uploaded earlier) > Select the one to deploy > Create Baseline.

vSphere Create Baseline

Give it a sensible name > OK.

vSphere Create Host Upgrade Baseline

Back in ‘Hosts and Clusters’ View > Select the Cluster > Update Manager > Attach Baseline.

vSphere Attach Baseline to Cluster

Select your new one > OK.

vSphere Attach Host Upgrade Baseline

Scan for updates > Select Upgrade Only > OK.

vSphere Scan for Upgrades

After a while, you will see your baseline saying ‘Non-Compliant‘ > Select it > Remediate.

vSphere Remediate Host

Select the new baseline again > Next > Select the ‘Target Host’ to upgrade > Next > Accept the EULA > Next.

vSphere Update ESX Host

Next > Next.

vSphere Update ESX Host options

Next > Finish.

vSphere Upgrade ESX Host options

Watch the task bar > Remediation will start > The host will go into Maintenance mode, get upgraded, reboot, and be taken out of maintenance mode.

vSphere Host Remediation Progress

Here you can see my host is now upgraded. (Mine’s an older server, it took about 45 minutes).

Note: If you disabled HA, DRS etc, you will want to re-enable that now.

vSphere Host Remediated

 

Related Articles, References, Credits, or External Links

Upgrade vSphere vCenter Appliance to Version 6.5

VMware Upgrading the vSphere Virtual Center Appliance

VMware ESXi 5 – Applying Patches and Updates

Update VMware ESXi from 4.0 to 4.1

Upgrade ESX 3 to version 4.1.0

Author: PeteLong

Share This Post On

1 Comment

  1. I list to use the profile command to upgrade, seems to get more custom packages and updates the image version on the ESXi Dashboard, so easy to tell what version this host is on.

    #Step 1 – Figure out profile name – list them
    esxcli software sources profile list -d /vmfs/volumes/datastore1/iso/VMware-VMvisor-Installer-7.0.0.update03-20328353.x86_64-Dell_Customized-A09.zip

    #Step 2 – Upgrade using profile name in VIB
    esxcli software profile install -d /vmfs/volumes/datastore1/iso/VMware-VMvisor-Installer-7.0.0.update03-20328353.x86_64-Dell_Customized-A09.zip –profile=DEL-ESXi-703_20328353-A09 –ok-to-remove

    Post a Reply

Submit a Comment

Your email address will not be published. Required fields are marked *