The key to a virtual machine performing correctly on any hypervisor is to ensure all drivers are in place. Drivers are usually delivered through something called a guest enlightenment kit. For Hyper-V, this is included by default with operating systems newer than Windows 7 and Windows Server 2008 within the Microsoft realm as Integration Services. Older operating systems have Integration Services available, and further, Linux VMs have Integration Services as well.

Guest enlightenment kits provide drivers (if necessary) for storage, networking, and other core components of the virtual machine. They also can provide additional features such as time synchronization with the host, file interoperability, key tasks (like power down), and a heartbeat.

Windows Server 2012 with Hyper-V has a matured iteration of Integration Services for virtual machines. There are five options that are on by default for each virtual machine created in Hyper-V. These options are shown below in Figure A:

Figure A

Configuring the Integration Services options is easy.

Time management is the one that sticks out to me. I’ll admit, time management is easier in the world of Windows where Active Directory or Group Policy can assist. Comparatively, this is a key difference from other virtualization technologies. In the world of defaults for small environments, managing time via Integration Services will probably be fine. The only catch is that it is not explicitly guaranteed that the host(s) and guest virtual machines will get the same time management configuration centrally via Active Directory or Group Policy. In fact, it is quite possible that guest virtual machines and hosts are in separate management domains. This can bring about the timeless virtualization administration question on time management best practices, this time applied specifically for Hyper-V.

With that being said, the default configuration for Hyper-V virtual machines is a good arrangement for most situations and it is easy enough to change. These options can even be changed while the virtual machine is powered on.

Do you use all of the Integration Services options for Hyper-V VMs? If so, why? Have you changed which ones are in use? Share your comments below.