Upgrading Hyper-v Server 2012R2 to Server 2016 now what ? #hyperv #winserv #RollingOS   Leave a comment

So you have done a rolling Upgrade – see Cluster operating system rolling upgrade To all your Hyper-V servers but other than a different logon screen you see no difference. Where are all the options ? Well you will need to do some extra steps. To get the full Hyper-v 2016 Server.

Illustration showing the three stages of a cluster OS rolling upgrade: all nodes Windows Server 2012 R2, mixed-OS mode, and all nodes Windows Server 2016

All the VM options are the Same Did I miss something or is there another configuration option as I created a new VM it has all the new options.

Do I need to recreate all the VM’s ?, where is the hidden option to change this ? a while a go I created a blog post on

Windows Server 2016 with Hyper-v Upgrading Configurations —Windows Server 2016 with Hyper-v Integrations tools & configuration versions

Well this was still on a TP version so the numbers has changed but not the methods. But there is no gui option in the Hyper-v Server that can flip the bit to the new Configuration version. It is done only by Powershell. with that Let us see how this is changed.

image image

Old VM settings vs the New VM Settings.

Do I need to recreate all the VM ? NO are you nuts. this would be odd. Lets dive in a little bit deeper.

In the Hyper-v Manager you can see the configuration and generation version in the 2012R2 this is version 5.0

image

In windows server 2016 the Hyper-v configuration version is now 8.0

image

With the get-VM we can see the Configuration version of the VM

Get-VM | ft Name, IntegrationServicesVersion,version 

image

as you can see I have a version 5.0 and a 8.0 just as in the screen shots above.

Now changing this is a ONEWAY thing and If you have an OLD none 2016 version in your Cluster then the VM would fail if it runs on this node. Version 8.0 runs only on Hyper-V 2016 !

To list all the Supported Configurations On this Server we can do a “ Get-VMHostSupportedVersion “

 

image

So there are Currently seven different versions. With all the options why should I care setting this.

Well there are a couple of reasons why you should set this option. Make the latest Hyper-V features available on your virtual machines by upgrading the configuration version. Don’t do this until:

  • You upgrade your Hyper-V hosts to the latest version of Windows or Windows Server.
  • You upgrade the cluster functional level.
  • You’re sure that you won’t need to move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server.

And you you replicate from a Hyper-v 2016 Server to a Hyper-v 2012 Server for DR then make sure you don’t run in a higher version than 5.0

When you move or import a virtual machine to a computer that runs Hyper-V on Windows Server 2016 or Windows 10, the virtual machine’s configuration isn’t automatically updated. This means that you can move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server. But, this also means that you can’t use some of the new virtual machine features until you manually update the configuration version. You can’t downgrade the virtual machine configuration version after you’ve upgraded it.

The virtual machine configuration version represents the compatibility of the virtual machine’s configuration, saved state, and snapshot files with the version of Hyper-V. When you update the configuration version, you change the file structure that is used to store the virtual machines configuration and the checkpoint files. You also update the configuration version to the latest version supported by that Hyper-V host. Upgraded virtual machines use a new configuration file format, which is designed to increase the efficiency of reading and writing virtual machine configuration data. The upgrade also reduces the potential for data corruption in the event of a storage failure

Building a VM based on Windows 2012R2 configuration You should use this PowerShell command as you could see the 8.0 Configuration is default.

New-VM -Name “DemoVM17” -Version 5.0

When listing the VM Configurations you can see the difference. and easily see the 5.0 Version VM’s  config.XML

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx

image

But what if I want to upgrade the VM’s ? yes you can but only to the default level and PowerShell Only

Update-VMVersion “VM Name”

image

as you can see the DemoVm06 is already at the max level but when updating the DemoVM01 which has Version 5.0 it will be upgraded to Version 8.0 and the Config file will be transferred this can’t be undone!

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx

you can automate this and do all upgrades in onetime or have a pick list to do this. But the VM needs to be OFF no running VM can be upgraded.

TO upgrade all VM’s   Update-VMVersion * -force

Or pick the VM by yourself with a before and after version.

#Select a VM to upgrade
$vm2016= (Get-VM | select Name, Status, version | Out-GridView -Title "Select VM for update the configuration version" -PassThru).Name
#list VM configuration Version
Get-VM $vm2016 | ft Name, IntegrationServicesVersion,version 
#Convert the Config TO the default Configuration
Update-VMVersion $vm2016 -Force -Verbose
#list VM configuration Version
Get-VM $vm2016 | ft Name, IntegrationServicesVersion,version 

image

 

 

Flickr Tags: Windows Server 2016,CloudOS

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

Posted October 31, 2016 by Robert Smit [MVP] in Windows Server 2016

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • Twitter

  • %d bloggers like this: