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 Upgrade a virtual machine to the latest supported hardware version - Access to the ITS Private Cloud Portal or CLI.
VSS-CLI
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
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
Tun off the Virtual Machine
vss-cli compute vm set <VM_ID> state off
Configure the right OS, replace the Windows2012 profile to Windows 2016 profile
vss-cli compute vm set <VM_ID> os windows9Server64Guest
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.
Turn off the virtual machine that you need to update.
Click edit button to make changes to the virtual machine.
Switch Power Status to off
Click Update button
Click Confirm button
Click edit button to make changes to the virtual machine.
Edit the OS by typing the name of the OS you want to update with, for this example is Microsoft Windows Server 2016
Click Update button.
Click Confirm button.
Turn on the virtual machine
Switch Power Status to on
Click Update button
Click Confirm button