2010/07/30

Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2 now on Web !!

個人的に心待ちにしていた、Hyper-V の Linux Integration Components (Linux ICs) の最新バージョンが Linux Integration Services (Linux IS) v2.1 として公開されました。とうとう、Hyper-V 上で Linux ゲストを本格的に試せる、あるいは運用に踏み切るときが来たかもしれません。


Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551




Linuc ICs v2.1 の機能

・ 仮想マシン バスのサポート - vmbus
・ 統合デバイス (Synthetic devices) 用ドライバー - netvsc、storvsc、inputvsc (Citrix Project Satori http://www.xen.org/download/satori.html http://www-archive.xenproject.org/products/archived/satori.html)
・ 起動デバイス (IDE) の高速化 - blkvsc
・ ホストとの時刻同期 - vmbus [新機能]
・ ホストからのシャットダウン連携 - vmbus [New]
・ ホストへのハートビート出力 - vmbus [New]
・ 着脱可能 (?) タイムソース (Plaggable Time Souce、Hyper-V ホストの時刻をゲストに提供するタイムソースとして機能) - hv_timesouce [New]
・ マルチ プロセッサのサポート (最大 4 CPU) [New]

Windows ゲストにはあって、Linux ゲストには未実装の統合機能
・ データ交換
・ ボリューム スナップショット バックアップ
・ Jumbo Frame と TCP Offload
・ ホット アド/ホット リムーブ ディスク

Windows ゲストとのサポートの差がずいぶん縮小されました。仮想環境で課題となる時刻の問題も解消されます。もう、時計の修正に悩むことはありません。本番運用のために、あとは VSS バックアップのサポートがほしいところ。

Linux ICs v2.1 のサポート OS

・ SUSE Linux Enterprise Server 10 SP3 x86/x64 (最大 4 CPU)
・ SUSE Linux Enterprise Server 11 x86/x64 (最大 4 CPU)
・ Red Hat Enterprise Linux 5.2/5.3/5.4/5.5[New] x86/x64 (最大 4 CPU)

inputvsc は、SLES 11 ではサポートされません。
hv_timesource は、RHEL 5.x x64 ではサポートされません。hv_timesouce の代わりに、OS 標準の adjtimex RPM パッケージを使用できます。

SLES 11 SP については、Read Me ドキュメントでは Users of SUSE Linux Enterprise Server 11 SP1 should contact Novell for a version of Linux Integration Services.”と記述されています。先日お伝えしたように、SLES 11 SP1 には Linux ICs v2.0 相当が標準で組み込まれています。おそらく、Linux IS v2.1 相当の更新が、今後、ノベル カスタマ サービス経由で提供されるのでしょう。後述しますが、一部のモジュールは既に更新で提供されてきています。

Linux ICs v2.1 のインストール

ゲスト OS および Linux IS のインストール手順は、「Linux Integration Services v2.1 Read Me.pdf」ファイルに記述されていますが、恒例のように分かりにくいままです。簡単に説明します。ゲスト OS のインストールについては、以下の投稿の Step 1 のままでかまいません。

Linux ICs v2 のもうちょっと詳しいステップ バイ ステップ ガイド (我流) : SLES 11 編 
http://yamanxworld.blogspot.com/2010/02/linux-ics-v2-sles-11.html
Linux ICs v2 のもうちょっと詳しいステップ バイ ステップ ガイド (我流) : RHEL 5.4 編
http://yamanxworld.blogspot.com/2010/02/linux-ics-v2-rhel-54.html


Step 2 以降はちょっと変更になっています。これまで Perl スクリプト ベースだったものが、make install 形式に変更になっています。SLES 11 と RHEL 5.5 を例にすると (x86 と x64 でほぼ同じ手順です)...

SLES 11 の場合:
1. root アカウントでログインします。
2. /etc/modprobe.d/unsupported-modules を編集します。
# vi /etc/modprobe.d/unsupported-modules
allow_unsupported_modules 01
3. /opt/linux_ic_v21_rtm (または任意のディレクトリ) を作成します。
# mkdir /opt/linux_ic_v21_rtm
4. Linux IC v21.iso を仮想マシンにマウントし、中身を /opt/linux_ic_v21_rtm にコピーします。ISO イメージのマウント パス (私の場合は /media/CDROM ) は、mount コマンドなどで確認すること。
# cp -R /media/CDROM/* /opt/linux_ic_v21_rtm# umount /media/CDROM
5. /opt/linux_ic_v21_rtm から make & make install を実行します。
# cd /opt/linux_ic_v21_rtm
# make
....
Your system supports the timesouce driver, including driver in the build

# make install
....
vmbus    0:off 1:on 2:on 3:on 4:off 5;on 6:off 
6. /etc/fstab を編集します。
# vi /etc/fstab
/dev/disk/by-id/ata-Virtual_HD-part1/dev/hda1 swap  swap  defaults  0 0
/dev/disk/by-id/ata-Virtual_HD-part2/dev/hda2 /         ext3    defaults acl,user_eattr 1 1
7. GRUB メニュー /boot/grub/menu.lst を編集します。
# vi /boot/grub/menu.lst
title SUSE Linux Enterprise Server 11 - ....
  root (hd0,1)
  kernel /boot/vmlinuxz=2.6.27.19-5-pae root=/dev/disk/by-id/ata-Virtual_HD-part2/dev/hda2 resume=/dev/disk/by-id/ata-Virtual_HD-part1/dev/hda1 splash= ....
8. /etc/modprobe.d/unsupported-modules を編集し、元に戻します。
# vi /etc/modprobe.d/unsupported-modules
allow_unsupported_modules 10
9. ゲスト OS を再起動します。
# reboot

RHEL 5.5 の場合:
1. root アカウントでログインします。
2. /opt/linux_ic_v21_rtm (または任意のディレクトリ) を作成します。
# mkdir /opt/linux_ic_v21_rtm
3. Linux IC v21.iso を仮想マシンにマウントし、中身を /opt/linux_ic_v21_rtm にコピーします。ISO イメージのマウント パス (私の場合は /media/CDROM ) は、mount コマンドなどで確認すること。
# cp -R /media/CDROM/* /opt/linux_ic_v21_rtm
# umount /media/CDROM
4. /opt/linux_ic_v21_rtm から make & make install を実行します。
# cd /opt/linux_ic_v21_rtm
# make
....
Your system supports the timesouce driver, including driver in the build
(x86 の場合)
Your system DOES NOT support the timesouce driver (x64 の場合)
# make install
....
/etc/init.d/vmbus start    [OK]
5. 仮想マシンから Linux IC v21.iso を取り出します。RHEL 5.5 x64 の場合は、RHEL 5.5 の DVD メディアをマウントし、 hv_timesouce の代替になる adjtimex の RPM パッケージをインストールします。RHEL 5.5 x86 ではこの手順は不要です。
# cd /media/RHEL_5.5*/Server
# rpm -ivh adjtimex-1.20-2.1.x86_64.rpm
# umount /media/RHEL_5.5*
6. 続いて、 Citrix Project Satori のサイトからマウス統合のコンポーネント (Inputvsc.iso) をダウンロードし、仮想マシンにマウントして、inputvsc をインストールします。
# mkdir /opt/inputvsc
# cp -R /media/CDROM/* /opt/inputvsc
# cd /opt/inputvsc
# ./setup.pl inputvsc
7. ゲスト OS を再起動します。
# reboot

動作確認

動作確認の方法については、Read Me にも記述されていますし、Linux ICs v2.0 でも説明しました。Linux ICs をインストールしたら、lsmod | grep vsc コマンドなどでモジュールが動いていることを確認します。v2.0 と v2.1 では、hv_timesouce モジュールも追加されています。

続いて、ネットワークと SCSI ディスクの初期設定を行います。SLES 11 の場合は、[YaST2 コントロールセンター>ネットワークの設定][YaST2 コントロールセンター>ディスクの分割]、RHEL 5.5 の場合は、[システム>管理>ネットワーク]、[システム>管理>論理ボリューム管理] の GUI 管理ツールが使えます。

新機能の動作確認は次の方法で。

マルチ プロセッサ:
SLES 11 の場合は[YaST2 コントロールセンター>ハードウェア情報]、RHEL 5.5 の場合は[システム>管理>システム・モニタ]を確認する。


ハートビート:
[Hyper-V マネージャ]で[ハートビート]が[OK]と表示される。


シャットダウン:
[Hyper-V マネージャ]や[仮想マシン接続]からシャットダウンを実行する。






時刻同期:
時刻を変更し、ホストに同期されるかどうかを確認する。











SLES 11 SP1 はどうなる ?

SLES 11 SP1 には、hyper-v-kmp-default (Microsoft Hyper-V drivers)パッケージが既定でインストールされます。RTM バージョンには0_2.6.32.12_0.7-0.6.7 ですが、オンライン更新を実行すると 0_2.6.32.13_0.4-0.7.3 に更新されました (今日時点で) 。そして、この新しいバージョンには、hv_timesource.ko ドライバーが含まれています。ただし、hv_timesource は既定ではロードされませんし、ロードしても時刻同期はできませんでした (おそらく hv_vmbus のほうにまだ時刻同期が実装されていないため)。現時点では、Linux ICs v2.0 相当ですが、今後の更新を注視してみたいと思います。

(9/21 追記) こちらも参照してください。→ http://yamanxworld.blogspot.com/2010/09/sles-11-sp1-hvutils.html

1 件のコメント:

山市 良(仮名) さんのコメント...

2010/9/13 に hyper-v-kmp-default 0_2.6.32.19_0.2-0.7.11 が YaST 経由で更新されましたが、kernel (->2.6.32.19-0.2) のセキュリティ問題の修正 CVE-2010-2946 に伴う更新のようです。hyper-v-kmp-default の機能に変化はありませんでした。