📜 ⬆️ ⬇️

Windows Server 2016 and Hyper-V Integration Services

Hyper-V integration services are responsible for the efficient interaction of virtual machines and the hypervisor by installing additional services in the guest OS. To understand the degree of importance, we offer a brief overview of each of them, as well as key changes in Windows Server 2016.



By default, not all services are enabled. Guest Services is usually included as needed. The rest are responsible for more important functionality.


')
Operating System Shutdown - includes the ability to shutdown the VM (the analogy of the usual shutdown from the guest OS) using Hyper-V Manager or PowerShell / WMI.

Time Synchronization - responsible for providing time synchronization between the host and the virtual machine.

Data Exchange or KVP (key-value pairs) - provides functionality for exchanging key + value format values ​​of the strings type, located in the HKLM \ Software \ Microsoft \ Virtual Machine \ registry key or in kvp_pool_x files (for Linux OS) via VMbus. On the host side, WMI queries are handled by VMMS.exe (the AddKvpItems , ModifyKvpItems and RemoveKvpItems functions ). In turn, the VM must be running the Hyper-V Data Exchange Service.

HKLM \ Software \ Microsoft \ Virtual Machine \ Auto contains information about the VM that is generated during the first start of the Hyper-V Data Exchange Service.



HKLM \ Software \ Microsoft \ Virtual Machine \ External contains data sent by the user from the host side. By default, this section is empty and does not contain any KVP objects.

HKLM \ Software \ Microsoft \ Virtual Machine \ Guest presents the data that needs to be sent to the virtualization host from the VM. For example, information about AVMA activation or custom parameters that your application needs to transfer to a higher level (yes, in general, we can add our own key + value pairs and work with them through KVP and WMI without providing credentials. New analogy - PowerShell Direct, but with its pluses and minuses).

HKLM \ Software \ Microsoft \ Virtual Machine \ Guest \ Parameters contains information about the virtualization host (name, FQDN, VMID, and so on). Remember this thread - it will come in handy later.



Heartbeat is responsible for checking the state of the VM through hearbeats, performed at a certain interval, between the VM and the node.



Backup (volume snapshot) includes the ability to use VM backup tasks at the host level to ensure the consistency of backups.

Guest Services provide file transfer to the VM via WMI or PowerShell (Copy-VMFile). By default, not enabled. More details can be read here .



What needs to be considered in Windows Server 2016?


Everyone remembers that to install the integration services, you had to mount an ISO image (% systemroot% \ system32 \ vmguest.iso) through the " Insert Integration Services Setup Disk " option in the VM console and start the installation process inside the VM. Then check the IS version from time to time to update it (vmguest.iso, as well as the node, was also updated via Windows Update). This process has changed significantly in Windows Server 2016. There are no options in the console, just like vmguest.iso itself. Now, IS Update is distributed to the VM by Windows Update itself. But there are features that we will consider below.

Automatic IS delivery through Windows Update is available for new OSs inside VMs (starting with Windows Server 2012 R2 / Windows 8.1 and newer ). No further action is required from you.

If the guest OS is based on Windows Server 2012 / Windows 8 and later, then a working Data Exchange Service (discussed above) is required. DES provides access to the HostSystemOSMajor and HostSystemOSMinor parameters / values, located in the HKLM \ SOFTWARE \ Microsoft \ Virtual Machine \ Guest \ Parameters branch, to determine if the IS should be updated on the VM. These parameters must be present and have values. Otherwise (for example, if DES is not enabled for the VM or the service is not running), IS will not be provided via WU.



TIP : we can manually create or modify these registry values ​​to supply a “false” signal, but this action is not officially supported.

Suppose that the VM is running Windows Server 2012 R2, and the host is running Windows Server 2016. DES receives information about the VM, compares the values ​​between those available on the site and those received from the VM, and they turn out to be different, so IS on the VM are not relevant and their update will be done via WU.



In the case of Linux-based operating systems , IS is usually embedded. In some cases, Linux Integration Services or FreeBSD Integration Services is required. You can get detailed information about the requirements for various distributions and functionality from the article " Supported Linux and FreeBSD virtual machines for Hyper-V on Windows ".

If you still have virtualized Windows Server 2003 , which is no longer supported, then at least it is recommended to install IS using vmguest.iso from Windows Server 2012 R2, for example. Reliability and performance are not guaranteed, but the year 2003 was already 14 years ago. Of course, migration to newer OS versions will be preferable in this case.

How to install IS manually?


If DES is not running or Windows Update is not available from the VM, then there is a special KB for self-loading. IS "Available for Windows 10 or Windows Server 2016-based host " (available in KB version IS: 6.3.9600.17903) + IS Update to troubleshoot issues with Windows Server Guest OSes (IS ver.6.3.9600.18080, applicable to Windows 7 / 8.1).

First, you need to make sure that the installed April 2014, update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (2919355) and Service Pack 1 for Windows 7 installed .

An IS from KB is available as a cab file that can be applied via PowerShell: Add-WindowsPackage -PackagePath <path> -Online . If you need to apply the IS update on a disabled VM ( offline vm servicing ), then we recommend that you refer to this manual .

Note : A newer version of IS is available as vmguest.iso (see below for an unofficial download source) to simplify the self-update process.

Where can I find VMGuest.iso?


Download VMGuest.ISO here . This image contains IS Windows Server 2012 R2, currently updated (February, 2017. Version IS 6.3.9600.18398). You can use them to install or upgrade IS “prehistoric” OS on Windows Server 2016 nodes (migration to new OS is preferred) or on Windows Server 2012 R2 / Windows 8.1 nodes.

about the author


Roman Levchenko began his IT career in 2007 and currently works as a System Architect with a leading integrator. He has experience in building complex systems based primarily on Microsoft products using Azure cloud technologies and a wide range of hardware from leading vendors. Certified on Windows Server, Hyper-V, System Center, VMware vSphere, and Unified Communications Systems. First received MVP status in 2014 and is VMware vExpert since 2016. He shares his practical experience in automation (PowerShell), cloud technologies (Azure, Hybrid / Private Clouds) and virtualization in a blog , and actively participates in the life of technical communities.

Source: https://habr.com/ru/post/323298/


All Articles