LinuxIC = Linux Integration Components
ご存じの方も多いかと思う。正式には
Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2
そう、Hyper-VのゲストOSとしてLinuxを使用する際に必要なツールだ。
Linux一筋な人にはさりげなく関係がない話になってしまう。(Hyper-Vは当然WindowsベースのVMなので)
Hyper-Vを運用したことがある人は、Hyper-Vのネットワークアダプターが二種類あることに少し疑問をいだいたことがあるかもしれない。
「ネットワーク アダプター」
「レガシ ネットワーク アダプター」
実際のコンソールではどうなっているか
ネットワークアダプターの説明は
ゲスト オペレーティング システムに統合サービスをインストールする場合、ネットワークアダプターにはインストール済みのドライバーが必要です。
一方、レガシネットワークアダプターは
ゲスト オペレーティング システムのネットワークベース インストールを実行する場合、または統合サービスがゲスト オペレーティング システムにインストールされていない場合は、レガシ ネットワーク アダプターを使用してください。
いっちゃえば、普通のNICの様に動くのがレガシネットワークアダプター、Hyper-V独特の動きをするのがネットワークアダプターだ。
これだけ見れば、わざわざ統合サービスを入れてまで、ネットワークアダプターを使う必要は無いように思える。
しかし、レガシネットワークアダプターは100Mbpsでの通信しかできないため、ギガビット通信ができないのだ。
本格的にネットワーク通信を行う際は相当ネックとなる。
おまけに、ネットワークアダプターと比べて、オーバーヘッドが大きいので、同じ量の通信でも、より大きなCPUや内部IOを使ってしまう。
そして、統合サービスはこのHyper-V管理ツールからゲストオペレーティングシステムにインストールできる。
ただしWindowsに限る
(なお、Windows7、Windows Server 2008 R2には標準でインストールされているので、これすら不要です)
じゃあLinuxはだめなのか!
さすがのMicrosoftもそんなことはしない
Hyper-V におけるゲスト オペレーティング システムのサポート
ちゃんと、SUSE、RHELのx86とx64の両方に対応している。
CentOSはRHELとほぼ同じなので、保証はされていないが動くということだ
とりあえず、インストールしよう
ここからLinuxIC v2.1をダウンロード!
Windowsバイナリが落ちてくるので、それを実行すると、isoが出てくるので、対象のLinuxが入ったVMにマウント
/media/CDROM
にデフォルトではマウントされるので
rootになって
mkdir /opt/LinuxIC
cp -rf /media/CDROM/* /opt/LinuxIC
などでコピー
で、コンパイラなどなどいれてないかもしれないので、入れる
yum groupinstall “Development Tools”
で、LinuxICのディレクトリでmake
make
make install
インストール自体はこれで終了
再起動すれば、ネットワークアダプターが動きます
めでたしめでたし・・・・と言いたいところだが、とある時、カーネルアップデートをして、再起動したらKernel panic!!!!!!!!!
Oh…..どうした
とまあ、LinuxICはkernel-develなどの内容と共にビルドされるので、当然カーネルが変わったらビルドしなおさないといけません。
うひゃあ。とりあえず、起動しないとことが始まらない
まだ、アップデートしたあと、再起動してないのなら/boot/grub/grub.confを開く、もし再起動してpanicしてるひとは、grubでエディタを起動して、編集
対象のブートパラメータのkernelの部分
kernel /vmlinuz-2.6.18-194.32.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet notsc divider=10 hda=noprobe hdb=noprobe
とかなっている部分の「hda=noprobe hdb=noprobe」を削除してから、起動する
そうすると、LinuxICは読み込まれないので、ネットワークアダプターは動きませんが、panicにはなりません
で、もう一度LinuxICを同じ手順でビルドすると、LinuxICも正常に入り、grubのパラメータも修正されるので、再起動すればOKです!
ついでに、 hda=noprobe の意味は/dev/hda、つまりプライマリIDE HDDのドライバを自動検索しないという意味。LinuxICがこれをつけないと読み込まれないということは・・・・・おっと、僕の知識ではこれ以上はわからない。
だれか詳しい人、助言を頼む