How To Upgrade The VM Configuration Version In Windows Server 2016 Hyper-V Cluster With PowerShell? #HyperV #WS2016

Introduction

In the previous version of Hyper-V, whenever you upgraded your host to a new release, the moment Hyper-V sees your virtual machines, the VM configuration version will be upgraded automatically behind the scenes.

This has been changed in Windows Server 2016, Hyper-V will NOT automatically upgrade your virtual machines. This gives you the flexibility to move virtual machines back to earlier Hyper-V versions if we deem it necessary. Once you upgrade the VM configuration to the latest version, you cannot move it back to a downgrade level host. This what is called the “Point of no Return.

The upgrade of a virtual machine version in Windows Server 2016 is a manual operation that is separate from upgrading the host.

As a reference, version 5.0 is the configuration version of Windows Server 2012 R2. Version 2.1a was for Windows Server 2008 R2 SP1. The configuration version was always there for internal usage based on the functionality and not based on the release, and it was not displayed to the users. In Windows Server 2016 Hyper-V the version is 8.0.

The process to upgrade a virtual machine configuration version requires to shutdown the VM, and do a manual upgrade. This is a one-way process so you can either do this through PowerShell or through the Hyper-V Manager console.

As you can see in the UI we have got this Upgrade Configuration Version.

HVCluster-UpgradeVMConfigurationVersion-01

Upgrade The VM Configuration in a Hyper-V Cluster

I recently deployed a 4-Nodes Storage Spaces Direct (S2D) cluster and I moved all my virtual machines from Windows Server 2012 R2 to 2016.

I don’t have anymore Windows Server 2012 R2 host in my environment, and I decided to upgrade all the virtual machines configuration in order to get the benefit of the latest and greatest features.

Check out my blog post about What’s new in Windows Server 2016 Hyper-V to get an overview about all the new features!

I moved dozens of VMs to this new shiny S2D cluster.

In order to get all virtual machines in the cluster, you can run the following command:

HVCluster-UpgradeVMConfigurationVersion-02

In order to upgrade the VM configuration version for all virtual machines, you can do this with the following commands:

Note: Please make sure to schedule a maintenance window before doing so.

Let’s check now if all VMs are upgraded successfully to version 8.0!

HVCluster-UpgradeVMConfigurationVersion-03

Cheers,
-Ch@rbel

About Charbel Nemnom 302 Articles
Charbel Nemnom is a Microsoft Cloud Consultant and Technical Evangelist, totally fan of the latest's IT platform solutions, accomplished hands-on technical professional with over 15 years of broad IT Infrastructure experience serving on and guiding technical teams to optimize performance of mission-critical enterprise systems. Excellent communicator adept at identifying business needs and bridging the gap between functional groups and technology to foster targeted and innovative IT project development. Well respected by peers through demonstrating passion for technology and performance improvement. Extensive practical knowledge of complex systems builds, network design and virtualization.

Be the first to comment

Leave a Reply