Hyper-V Integration Services (ICs) on Ubuntu servers – by Mauro C. Fileto
Getting tools to help manage infrastructure is vital to save time and get things done efficiently. That said, I have selected a topic very useful for windows server Hyper-V infrastructure managers, in order to install Hyper-V Integration Services on Linux machines.
After you install the guest OS on the virtual machine in Hyper-V, you need to to install the Hyper-V Integration Services in the guest OS. Since the Hyper-V Integration Components were contributed to Linux, they’ve been included in recent versions of the Linux kernel. With distributions based on newer builds of the Linux kernel (2.6.32 and after) you can add high performance support for Hyper-V without the need to download the Linux Integration Components (ICs) from Microsoft.
For Ubuntu 12.04 the following Hyper-V integration services are available: time synchronization, operating system shutdown, and heartbeat. Also, included are the following drivers: IDE, SCSI, networking, and mouse. Microsoft’s About Virtual Machines and Guest Operating Systems article provides a list of guest operating systems and features that are supported for Hyper-V in Windows Server 2008 R2, Hyper-V in Windows Server 2008 with Service Pack 2, and Hyper-V version 1. For a list of guest OS support in Hyper-V role in Windows Server 2012 see Hyper-V Overview in TechNet.
In this post I am using Ubuntu 12.04 LTS as the guest OS and Hyper-V role in Windows Server 2012 as the hypervisor. As mentioned earlier, integration services are built-in (since Ubuntu version 10.10) and do not require a separate download and installation — the ICs just need to be activated. To enable the integration services you will need to edit the modules file located in /etc/initramfs-tools. Below are the step by step instructions on how to do so in vi:
sudo vi /etc/initramfs-tools/modules
In vi navigate to the last line in the file and use the insert ( I ) command to append a new line below this one. Enter the following four lines:
hv_vmbus hv_storvsc hv_blkvsc hv_netvsc
Save the file by hitting the Esc key and issuing the save and exit ( : x ) command. Once the modules file has been updated, the following command needs to be executed:
sudo update-initramfs –u
At this point the guest OS needs to be rebooted:
sudo shutdown -r now
After the virtual machine reboots, run the following command to check if the modules are enabled:
The ICs work great, but the version of the Integration Components is not the exact same one that Windows Server 2012 is expecting (same issues reported with Windows Server 2008 R2). You might see event log entries similar to the ones below. These messages can be safely ignored.
- Networking driver on ‘Virtual Machine’ loaded but has a different version from the server. Server version 3.2 Client version 2.0 (Virtual machine ID DC1CCF5C-0C1A-4825-B32C-9A4F8F85AA9D). The device will work, but this is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.
- A storage device in ‘Virtual Machine’ loaded but has a different version from the server. Server version 4.2 Client version 2.0 (Virtual machine ID DC1CCF5C-0C1A-4825-B32C-9A4F8F85AA9D). The device will work, but this is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.
The comment about support can show up for any version of Linux –- whether it is supported or not due to the timing related to the code release.
Article by Mauro Cesar Fileto
You can also:
Follow me on Twitter at @m_fileto
Find me on Facebook at Mauro Fileto
Find me on Google Plus at Mauro C. Fileto
Connect with me on LinkedIn at Mauro Cesar Fileto