Hyper-v vm’s are depending on the integration tools. And often the tools are not updated or in line with the Hyper-v Server. Or there are unsupported versions of VM’s So even if you think you are mastering Hyper-v with just tagging the checkbox or running a Powershell command.
Install-WindowsFeature –Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools –Restart
Well let me tell you that is where the Fun starts.
Take a look at the integration Versions you can easily see this in VMM but you can also see this quickly in PowerShell. and I’m not talking about the VMM Agent.
So is this windows only ? no as Microsoft is loving Linux there is also a Pack for Linux. With his own guidance
Hyper-V Linux Integration Services (LIS)
Hyper-V Linux Integration Services, sometimes referred to simply as Hyper-V LIS, provides two types of components: drivers and services. The drivers play an important role in enhancing the performance of Linux virtual machines, and services are designed to perform a specific job.
Linux Integration Services Version 4.0 for Hyper-V
Current version: 4.0.11 Please refer to the Linux Virtual Machines on Hyper-V topics for up to date information on the LIS feature set, all supported Linux distributions, availability and download locations.
Download the ISO
Back to the Windows Versions as the Integration services differ there is also an option on virtual machine configuration versions that are supported on a host. is this different than the IS yes as you can migrate a VM to and from a Hyper-v 2012R2 to a Hyper-v 2016 and back so the VM needs to know that.
Let us check the Integration Services Version (IS)
Get-VM | ft Name, IntegrationServicesVersion – On a Hyper-v 2012R2
Get-VM | ft Name, IntegrationServicesVersion – On a Hyper-v 2016
As you can see there is clearly a difference between Windows Server 2012R2 and 2016.
PowerShell Hyper-V Supported Version
But what about the Tag in the Hyper-v Console there is also a Version.
This is a Windows Server 2016 and as you can see two different versions is this Wrong ? No it isn’t.
Get-VMHostSupportedVersion will list the output below ( works only in Windows Server 2016 )
So there are Currently six 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
So Creating a VM in Hyper-v 2016 Server it will always have version 7.1 when you create this in the GUI
But When using Powershell you can set the Version tag only then is the VM compatible with Hyper-v Server 2012
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
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”
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 7.1 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
More about this https://technet.microsoft.com/en-us/library/mt695898.aspx
HAppY Vm
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
Hi Robert,
There is any list with builds numbers for Windows Server 2016 Integrations Services and horfix that updates it ?
I found for WS 2012 R2, but not to WS 2016. ( http://social.technet.microsoft.com/wiki/contents/articles/33796.hyper-v-integration-services-list-of-build-numbers.aspx?CommentPosted=true#commentmessage )
Can you help me?
I need the last build number and hotfix to install from WSUS on my VMs.
these are now also updated with Windows update. Currently there is no update.