Hyper-V Integration Services Explained, Part 2

In the first part of this series on Hyper-V Integration Services, we looked at the Integration Services in terms of hardware drivers. In this installment, we’ll look at the other services included in these enhancements.

Enabling or Disabling the Services

These services can be enabled or disabled by accessing their “Settings” property sheets in Hyper-V Manager and switching to the Integration Services tab:

Hyper-V Manager Integration Services

Hyper-V Manager Integration Services

 

Operating System Shutdown

This service is self-explanatory. You can use commands in the host (using PowerShell or WMI) or Hyper-V Manager to initiate a graceful shutdown inside the operating system. Without this, you can only power the machine off. An analog to this service is also provided inside Linux virtual machines.

Time Synchronization

With this service enabled, the host will periodically update the system clock in the guest machine. Otherwise, it will use whatever time synchronization method you have set up. To check the source on a Windows guest, run the following in a command prompt:

w32tm /query /source

If the guest is synchronizing from a Hyper-V host, the returned source will be “VM IC Time Synchronization Provider”.

Time synchronization is one issue that some people have reported troubles with in Hyper-V. I have not yet encountered a situation I was not able to solve, and wrote an earlier post on the strategy that I use. However, there is no guaranteed way to ensure your installation will be entirely without some clock drift. The basic issue is that, as has been the case for Windows versions going back at least to 95, Windows controls the clock. It normally runs in a system-level thread. The basic idea behind this configuration is that the CMOS clocks in x86 hardware aren’t the most accurate timekeepers either and since the operating system would need a timer of its own either way, it’s better for all of the applications and services within a Windows system to be tied to the same inaccurate central Windows clock than to have them choose between two inaccurate clocks. In cases of heavy CPU utilization that starve the clock thread, the Windows clock has been known to undergo minor clock drift. I cannot verify that this is all still true today, but I have seen people complaining that their Hyper-V systems suffer from clock drift. Microsoft has never guaranteed perfect clock performance in their generally available server and desktop products.

This service also has an analog available within Linux guests. I am personally not aware of how to verify its proper operation. However, I found this posting that may assist you.

Data Exchange

This service allows the guest and the host to communicate by passing key/value pairs. This is normally something that will only be accessed programmatically through WMI. To answer one of the most common questions people have upon learning this exists: this is not a [useful] method of transferring files from guest to host. The key/value pairs manifest as registry keys in Windows guests under  HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual MachineGuestParameters. Linux guests can also participate. If you’re interested in putting this service to use, this is the post to start with.

Heartbeat

This service allows the host to determine if the guest is still functioning by responding to heartbeat requests from the host. In some rare instances, problems have been solved by disabling this service. If you aren’t using any monitoring software, this service is not useful. This service is also available for Linux guests. If you want to check it yourself, on 2008 R2 with the PSHyperV module loaded, you can use “Test-VMHeartbeat” (read the documentation before trying!!!) to see that this is working. On 2012, use the following:

Get-VMIntegrationService -Name Heartbeat -VMName vm1

Backup (Volume Snapshot)

If you are backing up a virtual machine using host-level software, this service allows the Volume Shadow Copy Service (VSS) in the host to synchronize with the same service in the guest. This will trigger a VSS operation, which flushes all I/O buffers in the guest and pauses operations while a snapshot is taken. This also allows for VSS-registered applications in the guest, such as Exchange and SQL, to perform any pre- and post-backup operations necessary. If this service is not enabled, Hyper-V will pause the virtual machine while the backup is taken. Unfortunately, VSS is specific to Microsoft, so this particular service is not available in Linux guests. Most host-level backup software will need to pause Linux guests to back them up. Some applications, such as Altaro Backup for Hyper-V, employ other techniques that allow these guests to be backed up without changing their state. This functionality is not provided by Hyper-V Integration Services.

Further reading

 

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

2 thoughts on "Hyper-V Integration Services Explained, Part 2"

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published.

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.