ESXi Upgrade using ESXCLi 6.5 U3 to 7.0 U3

Today I am going to show you and explain how can we upgrade the ESXi version via command line and also how to resolve the issues might face during the upgrade. I hope this could help you and make your life easier.

Server model : ProLiant DL20 Gen10

Current ESXi version and details:

vmware -vl
VMware ESXi 6.5.0 build-13932383
VMware ESXi 6.5.0 Update 3

esxcli software profile get
PE-ESXi-6.5.0-Update3-iso-Gen9plus-650.U3.10.4.1.8
   Name: HPE-ESXi-6.5.0-Update3-iso-Gen9plus-650.U3.10.4.1.8
   Vendor: Hewlett Packard Enterprise
   Creation Time: 2020-01-19T09:24:55
   Modification Time: 2020-01-19T09:26:01
   Stateless Ready: True
   Description:

      HPE Custom Image Profile for ESXi 6.5.0 ISO

First you should check the VMware latest version is supported with hardware. You would check from HPE and VMware.

Please bear in mind administrator should check the compatibility thoroughly why it would be a big problem if server is running with unsupported software in Production. Unsupported configuration effectively means no one can guaranteed how long system would run without any issues. VMware support might say they would not support either. In this case I have double checked my server even though it’s DL20 Gen10 and HPE says supported up to ESXi 8.0. Looks little bit deeper what type of processor you have that’s the most important aspect to consider.

6 CPUs x Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz

According to the VMware HCL server does not support to ESXi 8.0 because of the CPU series my server has been equipped with. I would have upgraded to ESXi 8.0 if server would run E-2200 or high CPU series.

Let’s see how we can upgrade ESXi 6.5 to 7.0. Download the custom offline bundle (.ZIP) for HPE from VMware or HPE site. Sometime you might need to contact HPE to get a custom files which is not availble on VMware official site because VMware removes old versions from the portal to maintain the latest custom iso’s and offline zip files.

As a practise I would prefer to do the below checks they might help to avoid unforeseen issues

df -h
vdf -h
  • uptime of the node because curious to know how long this has been running
uptime
  • smartctl check for the boot disk
esxcfg-scsidevs -c >>> get the device name from this command
esxcli storage core device smart get -d 'device_name'
  • ISO md5 checksum to make sure the iso or offline bundles.
Linux   >>>>> md5sum 'file name'
Windows >>>>> Get-Filehash 'file name' -Algorithm md5

Are you ready start the upgrade. let’s do it.

First put the host in maintenance mode. VM will be migrated to working nodes or you don’t have a vCenter arrange the downtime for the VMs at least 30min.

esxcli system maintenanceMode set -e true  >>> How to put the host in maintenance in ESXCLi
esxcli system maintenanceMode get          >>> Check the maintenance mode status

Ensure there are no VMs running through below command. 

esxcli vm process list

Upload the offline bundle in to the local datastore or one of the datastore is accessible from the ESXi using Winscp. Created a directory named ISO inside the srv-local-storage-2.

cd /vmfs/volumes/srv-local-storage-2/
mkdir ISO

[root@cloud:/vmfs/volumes/5eb333fb-f61f3214-88fc-08f1eaafa25c/ISO] ls -l
total 407552
-rw-r--r--    1 root     root     417329875 Apr  1 17:54 VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip
[root@cloud01:/vmfs/volumes/5eb333fb-f61f3214-88fc-08f1eaafa25c/ISO]

Verify the offline bundle using the below command.

esxcli software sources profile list -d "/vmfs/volumes/srv-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip"

[root@cloud01:/vmfs/volumes/5e1eaafa25c/ISO] esxcli software sources  profile list -d "/vmfs/volumes/srv1708-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip"
Name                               Vendor                      Acceptance Level  Creation Time        Modification Time
---------------------------------  --------------------------  ----------------  -------------------  -------------------
HPE-Custom-AddOn_703.0.0.11.2.0-9  Hewlett Packard Enterprise  PartnerSupported  2022-12-02T02:01:04  2022-12-02T02:01:04

Use the below command to check what are the vibs that are going to update. you can use –dry-run at the end with below command to check.

esxcli software vib update -d "/vmfs/volumes/srv-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip" --dry-run

[root@cloud01:/vmfs/volumes/5eb3a25c/ISO] esxcli software vib update -d "/vmfs/volumes/srv1708-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip" --dry-run

 [DependencyError]
 VIB VMware_bootbank_esx-base_7.0.3-0.65.20842708 requires esx-update << 7.0.3-0.66, but the requirement cannot be satisfied within the ImageProfile.
 VIB VMware_bootbank_esx-base_7.0.3-0.65.20842708 requires esx-update >= 7.0.3-0.65, but the requirement cannot be satisfied within the ImageProfile.
 Please refer to the log file for more details.

We did not run the update command yet but here we have an issue with “DependencyError, Requirement Cannot Be Satisfied Within The ImageProfile” we have a VMware KB stated to use below command while we are doing the upgrades via CLi.

Please run this command to update the host as per the VMware recommendation.

esxcli software profile update - p <profile name> -d <location of ZIP file> 
 
Example:
# esxcli software profile update -p ESXi-6.7.0-2018xxxxxxx-standard -d /vmfs/volumes/datastore1/update-from-esxi6.7-6.7_update01.zip

Note: To get a list of available profiles within a path use the command below:
esxcli software sources profile list -d <location of ZIP file> 

=====================================================================================================================================
[root@cloud01:/vmfs/volumes/5e1eaafa25c/ISO] 

Name                               Vendor                      Acceptance Level  Creation Time        Modification Time
---------------------------------  --------------------------  ----------------  -------------------  -------------------
HPE-Custom-AddOn_703.0.0.11.2.0-9  Hewlett Packard Enterprise  PartnerSupported  2022-12-02T02:01:04  2022-12-02T02:01:04

In our case final update command would be like below. 

esxcli software profile update -p HPE-Custom-AddOn_703.0.0.11.2.0-9 -d "/vmfs/volumes/srv-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip"

Unfortunately I ended up with another error after the above command.

[root@cloud01:/vmfs/volumes/5eb333fb-f61f3214-88fc-08f1eaafa25c/ISO] esxcli software profile update -p HPE-Custom-AddOn_703.0.0.11.2.0-9 -d "/vmfs/volumes/srv-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip"

 [InstallationError]
 ('HPE_bootbank_ilorest_700.4.0.0.0.32-15843807', 'Could not find a trusted signer.')
       vibs = HPE_bootbank_ilorest_700.4.0.0.0.32-15843807
 Please refer to the log file for more details.

Found the issue has been described one of the VMware KB here. According the the VMware the problem here is destination version 7.0 U3 recommend workaround is to upgrade the ESXi 6.5 U3 to 6.7 U1, U2 or U3 and upgrade to the 7.0 U3.

I am going to download the Vmware ESXi 6.7 HPE custom offline bundle and upload it to the same path and run the update command. see the below. I am not going to show you all the stuff again you already know how to upload the file in to ESXi via Winscp.

[root@cloud01:/vmfs/volumes/5eb31eaafa25c/ISO] ls -l
total 763904
-rw-r--r--    1 root     root     364848814 Apr  1 18:16 VMware-ESXi-6.7.0-Update1-11675023-HPE-Gen9plus-670.U1.10.4.0.19-Apr2019-depot.zip
-rw-r--r--    1 root     root     417329875 Apr  1 17:54 VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip

****Take the profile name by running below command

[root@cloud01:/vmfs/volumes/5eb333fb-f61f3214-88fc-08f1eaafa25c/ISO] esxcli software sources  profile list -d "/vmfs/volumes/srv-local-storage-2/ISO/VMware-ESXi-6.7.0-Update1-11675023-HPE-Gen9plus-670.U1.10.4.0.19-Apr2019-depot.zip"
Name                                              Vendor                      Acceptance Leve
------------------------------------------------  --------------------------  ----------------
HPE-ESXi-6.7.0-Update1-Gen9plus-670.U1.10.4.0.19  Hewlett Packard Enterprise  PartnerSupported

****update command looks like below

esxcli software profile update -p HPE-ESXi-6.7.0-Update1-Gen9plus-670.U1.10.4.0.19  -d "/vmfs/volumes/srv1708-local-storage-2/ISO/VMware-ESXi-6.7.0-Update1-11675023-HPE-Gen9plus-670.U1.10.4.0.19-Apr2019-depot.zip"

It was success and see the output as below. If ESXi upgrade successfully you should see the output as below.

[root@cloud01:/vmfs/volumes/5eb333f1eaafa25c/ISO] esxcli software profile update -p HPE-ESXi-6.7.0-Update1-Gen9plus-670.U1.10.4.0.19  -d "/vmfs/volumes/srv1708-local-storage-2/ISO/VMware-ESXi-6.7.0-Update1-11675023-HPE-Gen9plus-670.U1.10.4.0.19-Apr2019-depot.zip"

Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: Avago_bootbank_lsi-mr3_7.706.08.00-1OEM.670.0.0.8169922, ELX_bootbank_elx-esx-libelxima-8169922.so_12.0.1188.0-03, EMU_bootbank_brcmfcoe_12.0net-forcedeth_0.61-2vmw.650.0.0.4564106, VMW_bootbank_net-libfcoe-92_1.0.24.9.4-8vmw.650.0.0.4564106, MW_bootbank_igbn_0.1.0.0-15vmw.670.0.0.8169922, VMW_bootbank_lsi-msgpt35_03.00.01.00-12vmw.670.1.28.10302608, VMW_bootbank_lsi-msgpt3_16.00.01.00-3vmw.670.1.28.10302608, VMW_bootbank_nenic_1.0.21.0-1vmw.670.1.28.10302608, VMW_bootbank_nvme_1.2.2.17-1vmw.670.1.28.10302608, VMware_bootbank_elx-esx-libelxima.so_11.4.1184.0-0.0.8169922, VMware_bootbank_esx-ui_1.30.0-9946814, VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.34-1.28.10302608...................

Reboot the host by running reboot in cli.

reboot

Once server boot into ESXi 6.7 we can run the same commands we tried above to upgrade version to 7.0 U3 which is our destination here. This is the current ESXi version after reboot.

[root@cloud:~] vmware -vl

VMware ESXi 6.7.0 build-11675023
VMware ESXi 6.7.0 Update 1

Let’s run the ESXi 7.0 update now. fingers crossed.

  • Navigate to the ISO folder.
  • Run the above commands as below again.
[root@cloud01:/vmfs/volumes/5eb333fb-f61fa25c/ISO] esxcli software profile update -p HPE-Custom-AddOn_703.0.0.11.2.0-9 -d "/vmfs/volumes/srv1708-local-storage-2/ISO/VMware-ESXi-7.0.3-20842708-HPE-703.0.0.11.2.0.9-Jan2023-depot.zip"

Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: BCM_bootbank_bnxtnet_223.0.152.0-1OEM.700.1.0.15843807, BCM_bootbank_bnxtroce_223.0.152.0-1OEM.700.1.0.15843807, BCM_bootbank_lsi-mr3_7.722.02.00-1OEM.700.1.0.15843807, EMU_bootbank_lpfc_14.0.543.0-1OEM.700.1.0.15843807, HPE_bootbank_testevent_6.7.0.02-00.01.12.7535516, INT_bootbank_i40en_1.7.11-1OEM.670.0.0.8169922, INT_bootbank_igbn_1.4.7-.........
   VIBs Skipped:

Upgrade was done without any issue. Run the reboot command again and exit the host from maintenance mode.

[root@cloud:/var/log] vmware -vl

VMware ESXi 7.0.3 build-20842708
VMware ESXi 7.0 Update 3

Bear in mind you will have assign a new ESXi license key for the version 7.0 You can upgrade the license through the VMware portal. you have 60 days until you get the license.

Thank you for reading. Appreciate your comments if I have missed something here.

I am Pubudu Wijerathna who is the author of SystemsMedic blog.
Posts created 16

Leave a Reply

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

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top