Can your Hyper-V VMs get integration components from Windows Update?
- select the contributor at the end of the page -
As for Hyper-V itself, you can expect many changes in the next version of Windows Server. And you may already be able to use one of these upcoming changes on existing versions. Since November 2014, the drivers that let a virtual machine communicate with the host OS have been distributed through Windows Update and WSUS like normal drivers, rather than coming with Hyper-V itself (as long as you're running those VMs on the Technical Preview of Windows 10 or Windows Server). Microsoft calls these drivers integration components and integration services, depending on whether it's talking about what they do inside the VM or how they work on the host OS.
Integration components and integration services
These also cover everything from time sync to copying files to and from the guest OS. It's often a tedious task updating these, because until now they've been packaged with the Hyper-V host OS, not the OS you're running in the virtual machine. When a newer version of Hyper-V came out, so did new drivers--even if you already had them. You have to install the components in the VM using VMGUEST.ISO, and restart the VM. You can't do that in a batch with any other Windows updates that need applying, making it disruptive.
It also needs two sets of admin credentials. And as Microsoft's Ben Armstrong explained at TechEd Europe last year, “It's now common to run virtual machines on Hyper-V where you don't have credentials for those VMs, and to use VMs when you don't have admin access to the host.” The Hyper-V administrator had to offer VMGUEST.ISO to all the guest VMs, but you had to be logged in as administrator on the VM to install the components. So, either the Hyper-V admin had to have rights to all the VMs on the server, or they had to coordinate with the admins for those systems.
Armstrong also noted, “We're not going to release drivers with the host or demand that you have the latest version of the drivers for the host to get support; we'll only release drivers when we have updates for them and what you need to get support is just the latest drivers.” You get these through Windows Update, initially for Windows Server 2008 R2, Windows Server 2012, Windows 7 and Windows 8 VMs running on Technical Preview.
When you install a VM with any of those operating systems, make sure the KVP (Hyper-V data exchange) integration component is enabled (this puts a shared registry key in both the guest and host registries). Then you'll go into Windows Update and make sure KB3004908 is selected (it's under Important). You'll get the latest integration components, and the next time a new driver is released, your VM will get it from Windows Update.
How to get the update (unofficially)
Microsoft hasn't yet confirmed if it will offer this update for VMs on older versions of Windows Server but, unofficially, there's a way of using it for VMs hosted on Windows Server 2012 R2 and Windows 8.1.
Windows Updates can see which host OS the virtual machine you're updating is running on by looking in the KVP shared registry key. If you have KVP enabled, HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Virtual Machine/Guest/Parameters contains information like the VM name and ID, the physical host name, along with the major and minor OS versions of the host system (in HostingSystemOSMajor and HostingSystemOSMinor).
Windows Update looks at the OS version of the guest, and then the major and minor OS versions from the host in the KVP key; if they're one of the supported guest OS's and Technical Preview, respectively, Windows Update downloads the right integration components.
The integration components you get through Windows Update are the same integration components that shipped with Hyper-V in Windows Server 2012 R2 and Windows 8.1. So, if you alter the information in the KVP registry key (so that the OS version is 6.4 instead of 6.3) you should get the integration components from Windows Update and they should work without problems (just remember that this isn't officially supported). You can also change the registry quickly with PowerShell: New-ItemProperty –Path “HKLM: SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters” –Name HostinSystemOSMinor –PropertyType DWord –Value 4 Force.
Veeam Task Manager
Switching the host components from Windows Update means Hyper-V admins don't need to be the admin on every VM to keep it updated. If you install the free Veeam Task Manager for Hyper-V on the host server, you can also see the CPU and memory usage for all your VMs without opening them (something the Windows task manager can't split out for individual VMs). If it's the virtual machines using up all the memory, rather than any of the host OS processes, you'd never see that in task manager. Conveniently, the Veeam tool will run from a USB stick, so you don't need to install it on the host server. It will also run on Server Core and on the free Hyper-V Server, so it's worth keeping a copy handy for when you're troubleshooting performance problems on your servers.