Hyper-V

Upgrading the VM configuration version in Windows Server 2016 Hyper-V

In the earlier versions of Hyper-V host, after you have upgraded your Hyper-V host to a new operating system, VMs configuration version will be upgraded automatically as the Hyper-V host as soon as you moved the virtual machine. With Windows Server 2016, Hyper-V host will not automatically upgrade VMs configuration version. Instead, upgrading is now a manual process. With rolling upgrades, Windows Server 2012 R2 version 5.0 will run on both Windows server 2012 R2 and Windows server 2016 Hyper-V host. This help us to leave VMs unchanged until the upgrade of all failover cluster node is completed.

With rolling upgrades, when you feel that you will not require to move the VMs to legacy Hyper-V host, Windows Server 2012 R2, then upgrade all the Hyper-V host with Windows Server 2016. After all the Hyper-V hosts are upgraded, then shut down VMs and upgrade the configuration version to get new features of Windows Server 2016 Hyper-V such as hot add/remove of memory, production checkpoints, and resizing of live shared drives.

Check the current virtual machine configuration version:

Open Windows PowerShell with Run as Administrator. Use the Get-VM cmdlet to run the following command to get the VMs versions.
Get-VM * | Format-Table Name,Version

As a figure, version 5.0 is the configuration version of Windows Server 2012 R2.

Update a single virtual machine configuration version with GUI:

In the Hyper-V Manager, shut down the virtual machine you want to Upgrade Configuration Version. Right click the virtual machine, KTM-DB1, select Upgrade Configuration Version..

In the Upgrade Configuration Version Windows, click Upgrade and verify the Configuration Version of virtual machine. The Configuration Version must be 8.0 because Windows Server 2016 Hyper-V version is 8.0.

 

Update a single virtual machine configuration version with PowerShell:

To upgrade the virtual machine configuration version by Windows PowerShell, use the
Update-VMVersion cmdlet. Run the following command from an elevated Windows PowerShell command prompt:

Update-VMVersion <vmname>

Update all virtual machines configuration version on all cluster nodes:

To update all virtual machines version on all cluster nodes, run the following command from an elevated Windows PowerShell command prompt:

First, use Get-VM –ComputerName (Get-ClusterNode) to verify the current configuration version. As a figure, version 5.0 is the configuration version of Windows Server 2012 R2 and version 8.0 is the configuration version of Windows Server 2016.

Secondly, Use Get-VM –ComputerName (Get-ClusterNode) | Stop-VM to shut down all the VMs in the cluster. Then Press A to Yess to All to stop VMs.

In the Failover Cluster Manager Windows, verify that all the VMs are shut down state.

Using Windows PowerShell command to verify the VMs are in shutdown state.

Thirdly, run the following command from an elevated Windows PowerShell command prompt:
Get-VM –ComputerName (Get-ClusterNode) | Update-VMVersion

Press A to Yess to All.

Use Get-VM –ComputerName (Get-ClusterNode) to verify the current configuration version is 8.0.

Lastly, start the virtual machines run the following command from an elevated Windows PowerShell command prompt:

Get-VM –ComputerName (Get-ClusterNode) | Start-VM

 

 

 

Summary:

Upgrading the VM configuration version from 5.0 to 8.0 is very important to get the new feature of Windows Server 2016 Hyper-V. In Windows Server 2016, Hyper-V version is 8.0. This includes hot add/ remove of memory, production checkpoints and resizing of live shared drives. I hope this article help you to get the new features of Windows Server 2016 Hyper-V.


It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on TumblrEmail this to someonePrint this page

Leave a Reply

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