RHEL/CentOS 6.2 on Hyper-V 2008 R2 with LIC v3.2

Microsoft Officially supports RedHat, CentOS and SUSE Linux Distributions as VMs running on Hyper-V. Linux Integration Components (LIC) or Linux Integration Services are the software components released by Microsoft that need to be installed on Linux VMs to take full advantage of Hyper-V features.

Linux Integration Components are a set of drivers that enable synthetic device support in supported Linux virtual machines running on Microsoft Hyper-V

These components when installed on Linux mainly provide below features

1. Drivers : Synthetic network controller (NIC), IDE and SCSI storage controllers support
2. Time sync : Clock inside the virtual machine will be in synch with the clock on the Host
3. Integrated Shutdown : Shut down from either Hyper-V Manager or SCVMM
4. Symmetric Multi-Processing (SMP) Support : Support up to 4 virtual processors Per VM
5. Heartbeat : Allows Host to detect if the virtual machine is running and responsive
6. Integrated Mouse Support : Seamless mouse integration when used with the Linux GUI

If Linux IC are not installed one might be presented with one or all of the below errors

CEntOS-00

CEntOS-01

CEntOS-02

Note: This post assumes that one has install CentOS/RHEL/Scientific Linux 6.2 on HyperV and has mounted Linux IC v3.2.iso onto DVD Drive of VM. If not please follow link below this post for Picture guide of CentOS server minimal installation

The documentation available along with LIC v3.2 looks good, but, unfortunately when trying to install you will get an error similar to the below one

ls: cannot access kmod-hyper-v-rhel6-43.1.x86_64.rpm: no such file or directory

ls: cannot access hyper-v-rhel6-43.1.x86_64.rpm: no such file or directory RPM’s are missing

There is a simple work around to this by changing the working directory to the mount point of Linux IC drive and invoking ./install.sh script.

LIC-Error

Below are the commands to run to install Linux IC and reboot, once prompted, as shown in the above screenshot

mount /dev/cdrom /media

cd /media

./install.sh

reboot

When VM is rebooted you will notice that there is no network connectivity to your VM. Follow steps below for configuring network connectivity

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Press i Key on keyboard and type the below lines

DEVICE=”eth0″
ONBOOT=”yes”
HWADDR=
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=”System eth0″

HWADDR is the MAC address of the NIC that can be found from settings menu of VM in Hyper-V (Below screenshot for your reference) and DHCP is the mode of getting IP Address

CEntOS-27b

Now use below Key Combination to save the file and close

Esc

Shift + :

wq

Enter

Use the below commands to edit, Save and close on more file

vi /etc/sysconfig/network

CEntOS-27c

Enter below text, save and close

NETWORKING=yes

CEntOS-27d

Now Run ifup eth0 and you should be connected to network or else take a reboot.

CEntOS-27e

With this our CentOS/RHEL/Scientific Linux 6.2 can take full advantage of Hyper-V synthetic drivers and ready for production 🙂

Useful Links:

Click here for RedHat Official Site

Click here for CentOS Official Site

Click here for Scientific Linux Official Site

Here is the official download page of Linux Integration Components v3.2 for Hyper-V

Pictorial Walkthrough of installing CentOS 6.2 minimal on Hyper-V with LICv3.2

Note: Cross posted from Experience – Inspire – Contribute.
Permalink

Advertisement

25 thoughts on “RHEL/CentOS 6.2 on Hyper-V 2008 R2 with LIC v3.2

  1. These instructions are just what I needed in terms of details! Unfortunately, I’m getting an error when testing the connection and on rebooting the virtual system that the MAC address was not expected. Do you have any other advice for the MAC address? Thank you!

  2. That did it! I’ve finally got the network connection working from the VM. I did set up a new network adapter for the VM (in settings) that was a “Legacy” type in case you are interested. Then entered a MAC address that was in the range specified in HyperV under Virtual Network Manager (in Actions). Thanks so much for your help! These were the clearest, most detailed instructions I could find and helped me solve a frustrating problem.

  3. Has any one seen the following error while installing Linux Integration Component 3.2 on RHEL6U3x86_64 Hyper-V VM.?

    kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel6-43.1.x86_64

    I installed the packages using –nodeps option and the mouse is working fine now. But I don’t know whether it has to do anything with my network. I have chosen Legacy Network Adapter, even before installing the Linux Integration components, I was getting the IP from the DHCP server, but unable to access the outside network. Even not able to ping the RHEL6U3 VM’s IP from Host. I have tried giving static MAC address for the Legacy adapter, and it was in vain.

  4. Awesome – the only thing I would add to this is add GATEWAY=xxx.xxx.xxx.xxx to /etc/sysconfig/network – that is assuming that you use a static address instead of dhcp

  5. I am also getting a “Failed dependencies” error:
    kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64

    I was trying to do a minimal install of centOS 6.3 and i was using LinuxIC v33
    But after install I had no network connection so I was trying this tutorial.

    • Failed Dependencies error is due to the way kernel specific kmod rpm by Microsoft. Run below commands and it should work

      rpm -Uvh –nodeps kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
      rpm -Uvh –nodeps microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm

      • Thanks for the reply! I installed centOS 6.2 and the steps above worked fine. After I had network access I ran a yum update.

      • CentOS 6.3 minimal + LinuxIC v33.iso
        login as: root

        # mount /dev/cdrom /media
        mount: block device /dev/sr0 is write-protected, mounting read-only

        # cd /media

        # ls
        install.sh microsoft-hyper-v-rhel63.3-4.20120605.src.rpm
        kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
        kmod-microsoft-hyper-v-rhel63.3-4.20120606.i686.rpm microsoft-hyper-v-rhel63.3-4.20120606.i686.rpm
        LICENSE_GPL microsoft-hyper-v-rhel63.3-4.20120606.src.rpm
        microsoft-hyper-v-debuginfo-rhel63.3-4.20120605.x86_64.rpm upgrade.sh
        microsoft-hyper-v-debuginfo-rhel63.3-4.20120606.i686.rpm

        # rpm -Uvh –nodeps kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
        error: open of –nodeps failed: No such file or directory
        warning: kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY

        # rpm -Uvh –nodeps microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm
        error: open of –nodeps failed: No such file or directory
        warning: microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY

        # ./install.sh
        Installing the Linux Integration Services for Microsoft Hyper-V…
        warning: kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6a39758c: NOKEY
        error: Failed dependencies:
        kernel(clocksource_register) = 0xd88be65d is needed by kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64
        Kmod RPM installation failed, Exiting.

  6. ./install.sh
    Installing the Linux Integration Services for Microsoft Hyper-V…
    warning: kmod-microsoft-hyper-v-rhel6-43.1.i686.rpm: Header V3 DSA signature: NOKEY, key ID 6a39758c
    error: Failed dependencies:

    How to solve this

    • Доброго времени суток!

      Чтобы не приходилось делать эту операцию после каждой перезагрузки можно сделать следующее(делал это на CentOS 6.3 с пакетом интеграции Linux Integration Services Version 3.4 for Hyper-V – Русский (http://www.microsoft.com/ru-ru/download/details.aspx?id=34603&WT.mc_id=rss_alldownloads_drivers)):

      1. Создаём файл запуска:

      vi /etc/init.d/addcdrom

      2. Следующий текст и вставляем в vi нажатием правой кнопки мыши(должен вставить, если нет нажмите ” i “, а потом правую кнопк мыши) текст приведён ниже:

      #!/bin/sh
      #
      # Startup script for add cdrom and dvd
      #
      ### BEGIN INIT INFO
      # Provides: kernel
      # Default-Start: 2 3 4 5
      # Default-Stop: 0 1 6
      ### END INIT INFO
      # Source function library.
      . /etc/init.d/functions

      # private settings
      case “$1” in
      start)
      insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko
      ;;
      stop)
      echo “For service usage only start”
      ;;
      *)
      echo “Usage: $0 {start|stop}”
      exit 1
      esac

      3. Сохраняем файл для этого нажимаем ” Esc “, после чего ” Shift+: “, вводим ” wq “(w – записать, q – выход) и ” Enter “.

      4. Выставляем права на запуск файла:

      chmod +x /etc/init.d/addcdrom

      5. Добавляем как службу:

      cd /etc/init.d
      chkconfig –add addcdrom

      6. Настраиваем уровни запуска:

      chkconfig –level 2345 addcdrom on

      7. Проверка уровней запуска:

      chkconfig –list addcdrom

      8. Перезагружаемся:

      reboot

      9. Проверяем наличие устройств:

      cd /dev
      ls cdrom dvd

      P.S. Всё можно монтировать устройства без лишних раздумий.

  7. Pingback: Virtualize CentOS under Hyper-V « Ron's Space

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s