How-to fix the mismatch between the VM Guest Operating Setting and the Guest Running Operating System

Why does this mismatch happen?

As you are upgrading your OS to a newer version or simply chose the wrong (VM Guest Operating Setting) profile to run a different OS.


From Cloud Portal you might see something like this. In this example all virtual machines are running Windows Server 2016, however Cloud portal is showing Microsoft Windows Server 2008


From the vss-cli you might see something like this. Let's proceed to show the virtual machines filtered by name.

vss-cli --columns moref,name,guest_id,guest_full_name,guest_id_run,guest_full_name_run,version compute vm ls -f name=<NAME_OF_VM>

output:

moref name guest_id guest_full_name guest_id_run guest_full_name_run version ------- ------------------ --------------------- -------------------------------------- --------------------- ----------------------------------------------- --------- vm-ID 1509T-VM-Name windows8Server64Guest Microsoft Windows Server 2012 (64-bit) windows9Server64Guest Microsoft Windows Server 2016 or later (64-bit) vmx-09

 

The importance of this output is the mismatch between the guest_full_name column and guest_full_name_run. What it means is that you are running Windows Server 2016 with a virtual machine settings of Windows Server 2012.

Note that the column version also contains an outdated value. The latest virtual hardware version is vmx-19.

How does this affect your VM?

The virtual machine setting allows presenting the optimal virtual hardware to the guest operating system. In this case, the guest operating system Windows 2016 won’t be presented with the optimal virtual hardware for it to run performant and stable.

How can you fix the mismatch configuration?

Pre-requirements

Latest virtual hardware (vmx-19). If the hardware is not on the latest version, please follow How-to Upgrade a virtual machine to the latest supported hardware version
Access to the ITS Private Cloud Portal or CLI.


VSS-CLI

  1. List the guest_id that matches the full_name OS you are looking for

    vss-cli compute os ls -a

    output:

    id guest_id full_name family ---- ----------------------- -------------------------------------------------------------------- ---------------- 30 rhel7Guest Red Hat Enterprise Linux 7 linuxGuest 28 solaris6Guest Solaris 6 None 31 solaris7Guest Solaris 7 None 94 asianux8_64Guest Asianux Server 8 (64 bit) None 88 oracleLinux6_64Guest Oracle 6 (64-bit) None 89 oracleLinux6Guest Oracle 6 None 90 oracleLinux7_64Guest Oracle 7 (64-bit) None 91 oracleLinux7Guest Oracle 7 None 92 asianux5_64Guest Asianux Server 5 (64 bit) None 93 asianux7_64Guest Asianux Server 7 (64 bit) None 3 winNetStandard64Guest Microsoft Windows Server 2003 Standard Edition (64 bit) windowsGuest 8 centosGuest CentOS 4/5 linuxGuest 9 other24xLinux64Guest Linux 2.4x Kernel (64 bit) (experimental) linuxGuest 10 fedoraGuest Fedora Linux linuxGuest 17 slesGuest Suse Linux Enterprise Server 9 linuxGuest 23 rhel3Guest Red Hat Enterprise Linux 3 linuxGuest 95 vmwarePhoton64Guest VMware Photon (64 bit) linuxGuest
    1. You can filter the list by a particular name, for example: Microsoft

      vss-cli compute os ls -f full_name=like,Microsoft%

      output:

      id guest_id full_name family ---- ----------------------- ------------------------------------------------------------------------ ------------ 3 winNetStandard64Guest Microsoft Windows Server 2003 Standard Edition (64 bit) windowsGuest 26 windows7Server64Guest Microsoft Windows Server 2008 R2 (64 bit) windowsGuest 77 winLonghorn64Guest Microsoft Windows Server 2008 (64-bit) windowsGuest 50 windows7Guest Microsoft Windows 7 windowsGuest 5 winNetDatacenter64Guest Microsoft Windows Server 2003, Datacenter Edition (64 bit) windowsGuest 27 windows8Server64Guest Microsoft Windows 8 Server (64 bit) and Windows Server 2012 (64 bit) windowsGuest 1 windows7_64Guest Microsoft Windows 7 (64 bit) windowsGuest 68 winNetStandardGuest Microsoft Windows Server 2003, Standard Edition windowsGuest 13 windows8_64Guest Microsoft Windows 8 (64 bit) windowsGuest 54 winNetWebGuest Microsoft Windows Server 2003, Web Edition windowsGuest 66 windows8Guest Microsoft Windows 8 and Windows Server 2012 windowsGuest 6 windows9Guest Microsoft Windows 10 windowsGuest 19 winNetDatacenterGuest Microsoft Windows Server 2003 Datacenter Edition windowsGuest 41 winNetEnterprise64Guest Microsoft Windows Server 2003, Enterprise Edition (64 bit) windowsGuest 53 winNetBusinessGuest Microsoft Windows Small Business Server 2003 windowsGuest 76 winLonghornGuest Microsoft Windows Server 2008 (32-bit) windowsGuest 65 winNetEnterpriseGuest Microsoft Windows Server 2003, Enterprise Edition windowsGuest 24 windows9_64Guest Microsoft Windows 10 (64 bit) and Microsoft Windows Server 2016 (64-bit) windowsGuest 47 windows9Server64Guest Microsoft Windows Server 2016 (64-bit) windowsGuest
  2. Tun off the Virtual Machine

    vss-cli compute vm set <VM_ID> state off
  3. Configure the right OS, replace the Windows2012 profile to Windows 2016 profile

    vss-cli compute vm set <VM_ID> os windows9Server64Guest
  4. Turn of the Virtual Machine

    vss-cli compute vm set <VM_ID> state on

 

Cloud Portal UI

In order to update the OS settings, the virtual machine needs to be powered off.

 

  1. Turn off the virtual machine that you need to update.

    1. Click edit button to make changes to the virtual machine.

       

    2. Switch Power Status to off

       

    3. Click Update button

       

    4. Click Confirm button



  2. Click edit button to make changes to the virtual machine.



  3. Edit the OS by typing the name of the OS you want to update with, for this example is Microsoft Windows Server 2016



  4. Click Update button.



  5. Click Confirm button.

     

  6. Turn on the virtual machine

    1. Switch Power Status to on

       

    2. Click Update button

    3. Click Confirm button

 



 

 

Related content

University of Toronto - Since 1827