Manually update the vCenter VM's hardware version in vCenter 9.1 and above if its updated from 9.0
search cancel

Manually update the vCenter VM's hardware version in vCenter 9.1 and above if its updated from 9.0

book

Article ID: 403995

calendar_today

Updated On:

Products

VMware vCenter Server VMware Cloud Foundation

Issue/Introduction

This article outlines the process of manually updating (in-place) the vCenter virtual machine's hardware version to vmx-17 after an upgrade from vCenter 9.0.x to vCenter 9.1 or above.

These steps MUST be taken on any vCenter server that was updated (in-place) from 9.0 to 9.1. This excludes Reduced Downtime Updates (RDU), as a new appliance is created during that process and is not considered "in-place"

Environment

VMware vCenter 9.1 (After an in-place upgrade from 9.0.x) 

Resolution

Using the vSphere Client UI

  1. Log in to the Management VC vSphere UI

  2. Locate the vCenter VM

  3. Cross-check the VM Hardware compatibility from the vSphere VM Hardware Panel under the Summary Tab. VC 9.0 and older builds have VM hardware version 10. If the VC was upgraded to 9.1 from 9.0.x, the Compatibility will still be VM Version 10, as shown below


  4. Schedule the upgrade:
    Right-click on the VM and select "Compatibility", then "Schedule VM Compatibility Upgrade"

  5. Confirm the upgrade:
    A window will appear explaining the upgrade process. Click "Yes" to proceed

  6. Select the compatibility version.
    Choose the VM Compatibility version as "ESXi 7.0 and later" from the dropdown menu, which supports virtual machine hardware version 17

  7. Select the "Only upgrade after normal guest OS shutdown" option
    This ensures that the upgrade will only occur after a proper shutdown or reboot of the guest OS.


  8. Reboot the VM using one of the options below
    • Restart the Guest OS from the "Power" Menu -> "Restart Guest OS"
    • From a root SSH session to the vCenter using the "reboot" command

  9. Verify the upgrade:
    After the reboot, check the VM Hardware Panel under the Summary Tab in the vSphere Client to confirm that the VM's hardware version has been updated. 

 

Using the ESX Host Client UI

  1. Login to the ESXi Host Client UI

  2. Locate the vCenter VM
    In the left-hand pane of ESXi Host Client, click 'Virtual Machines', locate the VM you want to update

    Cross-check the VM Hardware compatibility in the Summary Panel. It will be "ESXi 5.5 virtual machine" that supports VM hardware version 10

  3. Power off the VM
    Right-click the VM -> Power -> Power Off

    (Changing hardware version requires the VM to be off)

  4. Change the Virtual Hardware Compatibility
    Right-click the VM -> Upgrade VM Compatibility

  5. Select the VM Compatibility version as "ESXi 7.0 virtual machine" from the dropdown menu, which supports VM hardware version 17

  6. Click Yes to confirm VM compatibility upgrade by accepting the dialogue box

  7. Power On the VM & Verify

    The hardware version change takes effect immediately once it boots. Verify the updated VM Hardware compatibility from the Summary Panel.

    It must have been updated as "ESXi 7.0 virtual machine", which supports VM hardware version 17.

Additional Information

Upgrading the vCenter Server Virtual Machine hardware version above 17 can cause VMware Cloud Foundation (VCF) Operations to incorrectly report the vCenter Server version as 9.0.x. This inventory mismatch falsely triggers a requirement to upgrade to VCF 9.1.

To resolve this issue, manually revert the hardware version to 17 by modifying the virtual machine's .vmx configuration file:

  1. Power off the vCenter Server Virtual Machine.

  2. Create a backup of the vCenter Server .vmx file.

  3. Open the .vmx file using a text editor (e.g., vi).

  4. Locate the virtualHW.version parameter and modify the value to "17":

    Plaintext
     
    virtualHW.version = "17"
    
  5. Save and close the file.

  6. Reload the Virtual Machine configuration using vim-cmd vmsvc/reload ## (## should be the vm id which can be identified with vim-cmd vmsvc/getallvms | grep -i vmname)

  7. Power on the vCenter Server Virtual Machine.