2010年11月8日 星期一

安裝 Linux Integration Services v2.1 for Microsoft Hyper-V (適用 CentOS 5.5)

 Microsoft 的 Hyper-V 虛擬化對 Linux 支援程度比以前更好了,終於有了給 Linux 用的整合套件,但目前根據官方公佈僅支援兩家 Linux,RedHat 和 SUSE,不過還好 CentOS 是 RHEL 的 Clone 版本,可以相容 Microsoft 的整合套件。

◎ 作業系統
 先將 CentOS v5.5 安裝到 Hyper-V 的 VM 中,並記得在安裝過程必須勾選「Software Development」,稍後在安裝 Linux Integration Services 時需要編譯。
 若沒有勾選,事後請使用下列指令線上安裝。


 # yum groupinstall "Development Tools"
 PS1:該指令會連線到網路,此時 Linux 應該抓不到任何網路卡,可先安裝「傳統網路介面卡」讓 Linux 支援基本網路功能,待更新完成後再移除。或是參考Windows Server 2008 R2 Hyper-V安裝Linux系統整合服務(Integration Components) Step By Step 文件安裝必要元件。



 PS2:必要元件為 gcc 與 kernel-devel


◎ 下載 Linux Integration Services v2.1 for  Windows Server 2008 Hyper-V R2
 1. 執行 Linux Integration Services v2.1 for Microsoft Hyper-V.EXE。
 2. 將解壓縮後的 LinuxIC v21.iso 掛載到 VM 中。


◎ 安裝
 1. 以 root 身份掛載光碟機。
  # mkdir /media/cdrom
  # mount /dev/cdrom /media/cdrom


 2. 複製 Linux Integration Services 至 VM。
  # mkdir /opt/linux_ic_v21_rtm
  # cp -R /media/cdrom/* /opt/linux_ic_v21_rtm


 3. 以 root 身份執行下列指令進行編譯並安裝,安裝完成後請重新開機。
  # cd /opt/linux_ic_v21_rtm
  # make
  # make install
  # reboot


 NOTE: 如果是安裝 x64 的 RedHat/CentOS Linux,請額外執行下列步驟。
 1. 將 Linux 原始光碟或 ISO 放進 VM 的光碟中。
  # mkdir /media/cdrom
  # mount /dev/cdrom /media/cdrom


 2. 安裝 adjtimex RPM 套件確保時間的準確性。
  # rpm -ivh /media/cdrom/Server/adjtimex-1.20-2.1.x86_64.rpm

◎ 驗證 Linux Integration Services v2.1 功能
 1. modinfo 指令,可取得模組資訊
  # /sbin/modinfo vmbus  filename:       /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/vmbus.ko
  version:        2.1.25
  license:        GPL
  srcversion:     3C1899C419665CB2514F2D0
  depends:
  vermagic:       2.6.18-194.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
  parm:           vmbus_irq:int
  parm:           vmbus_loglevel:int
  這個指令以可以使用其他模組,例如 modinfo [vmbus|netvsc|storvsc|blkvsc]


 2. 驗證所有子系統是否正常運作
  # /sbin/lsmod | grep vsc  blkvsc                 37572  3
  storvsc                32292  0
  netvsc                 40144  0
  vmbus                  51912  3 blkvsc,storvsc,netvsc
  scsi_mod              141973  5 scsi_dh,blkvsc,storvsc,libata,sd_mod


 NOTE: 各子系統功能如下
  ‧ "netvsc" 提供網路卡整合支援。
  ‧ "storvsc" 提供 SCSI Disk 整合支援。
  ‧ "blkvsc" 提供 IDE Disk 整合支援。
  ‧ "vmbus" 提供 Host 與 Guest 快速溝通平台。


◎ 解除安裝 Linux Integration Services
 1. # cd /opt/linux_ic_v21_rtm 2. # make uninstall 3. # vi /boot/grub/grub.conf  將含有 noprobe 的項目刪除。
 4. 還原 initrd 映像檔
  # cp /boot/initrd-2.6.18-194.el5.img.backup0 /boot/initrd-2.6.18-194.el5.img 5. 重新開機


◎ 備註
 1. 如果使用 RedHat Enterprise Linux 5.5 需修改下列檔案。
  # vi /boot/grub/grub.conf  將 hda=noprobe hdb=noprobe 修改為 ide0=noprobe ide1=noprobe

 2. Enabling Promiscuous Mode
  The synthetic network adapter can be used in either normal mode or promiscuous mode. When in promiscuous mode, the synthetic network adapter will pass all packets through instead of only the packets destined for the guest. This is usually needed only for advanced networking configurations.


  To enable promiscuous mode, execute the following steps as the root user:
  # rmmod netvsc.ko  # modprobe netvsc promisc_mode=1

  To disable promiscuous mode, execute the following steps as the root user:
  # rmmod netvsc.ko  # modprobe netvsc

 3. Linux Integration Services no longer function after a kernel upgrade (KB2387594)
  問題:更新 Kernel 後,開機出現"Unable to mount root file system"。
  原因:更新 Kernel 後,Linux Integration Services 需重新編譯。
  解決方法:為防止此問題,需在更新 Kernel 前,啟用 Dynamic Kernel Module Support (DKMS)
  I. 安裝最新版本的 DKMS 套件:
   # wget http://linux.dell.com/dkms/permalink/dkms-2.1.1.2-1.noarch.rpm or 
   
# rpm -ivh dkms-2.1.1.2-1.noarch.rpm

  II. 環境設定
   a. 複製 Linux Integration Services 的原始檔到 VM。
    # mkdir /usr/src/linuxic-2.1
    # cp -R /media/cdrom/* /usr/src/linuxic-2.1
   b. 複製 dkms.conf 至 /usr/src/linuxic-2.1
    # cp /opt/linux_ic_v21_rtm/scripts/dkms.conf /usr/src/linuxic-2.1   c. 將下列資訊額外加入到 /etc/modprobe.conf
    alias scsi_hostadapter1 vmbus
    alias scsi_hostadapter2 blkvsc
    alias scsi_hostadapter3 storvsc
    alias scsi_hostadapter4 netvsc


  III. 透過 DKMS 安裝 Drivers
   # dkms add -m linuxic -v 2.1
   # dkms build -m linuxic -v 2.1
   # dkms install --force -m linuxic -v 2.1
   # reboot


  IV. 重開機後,確認 drivers 是否有成功載入
   # /sbin/modinfo vmbus   filename:       /lib/modules/2.6.18-194.el5/extra/vmbus.ko
   version:        2.1.25
   license:        GPL
   srcversion:     3C1899C419665CB2514F2D0
   depends:
   vermagic:       2.6.18-194.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
   parm:           vmbus_irq:int
   parm:           vmbus_loglevel:int




資料參考來源:1. Linux Integration Services v2.1 Read Me.pdf
2. 
Installing Linux Integration Services v2.1 Hyper-V R2 On CentOS 5
3. 
Linux Integration Services v2.1安裝方式(Hyper-V R2)~跟之前v2版安裝方式小改變 
4. 
Windows Server 2008 R2 Hyper-V安裝Linux系統整合服務(Integration Components) Step By Step

沒有留言:

張貼留言