What is the virtual machine configuration version?
In previous versions of Hyper-V, whenever you upgrade a host to a new release, as soon as Hyper-V sees your virtual machine, it is automatically updated behind the scenes.
However, this has changed in Windows Server 2016, Hyper-V does not automatically update your virtual machines. Upgrading a virtual machine is now a manual operation separate from upgrading a host. This gives you the flexibility to migrate individual virtual machines back to previous versions of Hyper-V until they are manually upgraded. This is what we call it A point from which there is no return.
Version 5.0 is a configuration version of Windows Server 2012 R2. Version 2.1a was for Windows Server 2008 R2 SP1 . The configuration version was always available for internal use based on functionality rather than publication, and was not shown to users. Version of Windows Server 2016 Technical Preview 2 is 6.2.
Upgrading a virtual machine version requires shutting down the virtual machine and performing a manual upgrade. This is a one-way process, so you can do this through either PowerShell or the Hyper-V Manager console, and in the interface you can see that we have this Update the configuration version.
To update a virtual machine configuration file through PowerShell, run the following cmdlet from Advanced Windows PowerShell:
As a side note: PowerShell cmdlet upgrades virtual machine configuration version was updated in Windows Server 2016 Technical Preview 2 Update-VMVersion, but in the technical preview, the 1 cmdlet name was Update-VMConfigurationVersion.
The latter is shorter
In Windows Server 2016, Microsoft has introduced a new configuration file format for virtual machines designed to increase the efficiency of reading and writing configuration information for virtual machines. It is also designed to reduce the possibility of data corruption in the event of a storage failure.
So after you upgrade the virtual machine version, the new configuration files will use .VMCX extension (Replaced old .XML files) for virtual machine configuration information and .VMRS extension (Replaced old .VSV / .BIN files) For VM runtime status information.
You can continue to use imported virtual machines in Hyper-V 2016 as much as you want, but you won’t benefit from the new features unless you upgrade to the configuration version.
Since we need to start preparing for the transition from previous versions to Hyper-V 2016, this will become an iteration process.
I know it’s still early to release Windows Server 2016, but preparing a migration plan in advance saves time and ensures that the migration is successful.
Suppose you have 50 or 100 virtual machines that you want to upgrade to their configuration version .
So I created the following tool to help you automate the migration and upgrade process.
I want to mention that this tool was created using SAPIEN PowerShell Studio 2015 which is a great support when creating advanced scripts or a GUI tool.
This tool helps you migrate virtual machines, including their storage spaces, in real time from Windows Server 2012 Hyper-V to Windows Server 2016 Hyper-V (TP2).
Once the shared no live transfer is complete, you will have the opportunity to upgrade the virtual machine configuration version of all virtual machines to previous versions and get all the benefits and features of Windows Server 2016 Hyper-V!
If the virtual machine is running, the virtual machine is turned off and upgraded to the current virtual machine version 6.2, and then turned on.
How to use:
Run Update-VMConfigVersion1.0.exe Windows Server 2016 on a TP2 Hyper-V host.
Requires: PowerShell version 5.0.
Operating system: Windows Server 2016 Technical Preview 2 Hyper-V and Windows Server 2012 R2 Hyper-V.
Module: Hyper-V-PowerShell versions 2.0 and 1.1.
Domain: A member of the same domain with administrator privileges.
You can download a copy of this tool at
TechNet Gallery GitHub here.
This is version 1.0, do you have any other scenarios? Please leave your feedback below.
Hope this makes your upgrade easier
Until then … enjoy your day!
Be social and share!