CentOS 6.0 を Windows 8 の Hyper-V で使用する
SOFTWARE REPORT
Windows 8 Developer Preview の Hyper-V での CentOS 6.0
これまで Windows Server 向けだった仮想化システム Hyper-V が、Windows 8 でも利用できるようになるようです。
Windows 8 は現在、Windows 8 Developer Preview を使ってみる でお話しした Developer Preview や Consumer Preview といった、いわゆるベータ版を試すことができるようになっています。
この Windows 8 Developer Preview や Consumer Preview でも Hyper-V は利用できるようになっていたので、さっそく Windows 8 の Hyper-V を有効化 してみました。
そしてそこへ CentOS 6.0 をインストールしてみたのですけど、Developer Preview ではいろいろと苦労が多かったですけど、Consumer Preview では基本的な部分はだいぶ利用できる感じになりました。
特に苦労したところとしては、Developer Preview の Hyper-V ネイティブのネットワークアダプターを搭載した CentOS 6.0 に Linux IC v3.1 (Linux Integration Services Version 3.1) をインストールすると、OS 起動時に Kernel Panic を起こしてしまうところでした。
これについては、Consumer Preview の Hyper-V では問題なくなっているようです。
ただし Consumer Preview でも、Developer Preview の時と同様に、仮想 DVD-ROM ドライブも認識されなくなってしまうなど、実際に使用するにはまだ少し難がありそうです。
そんな感じなので、もしかすると Windows 8 正式版や Linux IC のアップデートが登場するのを待つのも良いかもしれません。
CentOS 6.0 のインストーラーを実行する
CentOS 6.0 のインストールメディアは http://www.centos.org/ から DVD 版のものをダウンロードしたのですけど、それを使って、標準モードでインストールしようとすると、キーボードの選択画面でハングアップしてしまいました。
これを回避するためには、CentOS 6.0 のインストールをテキストモードで実行する必要があるようです。
CentOS 6.0 をテキストモードでインストールするには、CentOS 6.0 のインストーラーが起動したら [TAB] キーを押してインストールオプション行が表示されたら、そこに "text" と入力して Enter キーを押します。
これで、CentOS 6.0 をテキストモードでインストールを進められます。
テキストモードでのインストールであれば、キーボードの選択画面でハングアップしてしまうことはなくなりました。
インストールを進めて行くと、途中で "ATA Virtual HD" の警告メッセージが表示されましたが、これは Hyper-V で設定した仮想ハードディスクが、作成されたばかりでまだ初期化されていないために表示されているものの様子です。
メッセージに "This device may need to be reinitialized." とあるように、再初期化が必要だろうとのことなので、"Re-initialize" を選択して、この仮想ハードディスクの消去を行えば、問題なく利用できるようになります。
後は普通通りに進めていって、無事に Windows 8 Developer Preview の Hyper-V 上に CentOS 6.0 をインストールすることができました。
ところで CentOS 6.0 では、IDE に接続されたハードディスクも /dev/sda とかで割り当てられるのですね。
最初は思わず Windows 8 Developer Preview の Hyper-V では仮想 IDE も SCSI 的に扱われるようになったのかと思ってしまいましたけど、Hyper-V Server 2008 R2 でも CentOS 6.0 ではそうでした。CentOS 5.6 では /dev/hda とかだったので、CentOS 6.0 での変化と思って良さそうです。
そしてこれが Linux IC v3.1 をインストールした時には、CentOS 6.0 でも "/dev/hda" とかで認識されるような感じでした。ただ、Linux IC v3.1 をインストールすると、仮想 DVD-ROM が認識できなくなってしまいました。
Linux Integration Services Version 3.1 のインストール
Linux で Hyper-V 独自のネットワークアダプターや SCSI インターフェイスを利用できるようにするには、Linux IC (LinuxIC Linux Integration Services for Hyper-V) をインストールする必要があります。
ただ、平成 23 年 11 月 16 日現在は、Windows 8 Developer Preview上の Hyper-V に対応した Linux IC はリリースされていない様子でした。
それならと Hyper-V Server 2008 用の "Linux Integration Services Version 3.1 for Hyper-V" を http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=c1256a7f-8a2d-4b18-851c-63b22ca976d3 からダウンロードして入れてみることにしました。
ただし Developer Preview では、ネイティブなネットワークアダプタがあると CentOS 6.0 起動時に Kernel Panic を起こしてハングアップしてしまうので注意が必要です。また、Consumer Preview であっても、仮想 DVD-ROM が認識できなくなったりするようなので注意が必要です。
また、平成 24 年 5 月 1 日現在では、上記よりも新しい Linux IC v 3.2 が http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=216DE3C4-F598-4DFF-8A4E-257D4B7A1C12 からダウンロードできるようになっていました。
そんな感じではありますけど、とりあえず Linux IC 3.1 のインストールの仕方について記してみたいと思います。
ちなみにこの Linux Integration Services Version 3.1 for Hyper-V は、現行の Windows Server 2008 や Hyper-V Server 2008 用のものだそうですけれど、CentOS 5.7 等の場合にはこちらではなく、以前に Hyper-V Linux 統合サービス v2.1 をインストールする でお話した Linux IC v2.1 でないとインストールできない感じでした。
さて、インストール方法としては、Web サイトから "LinuxIC v3.0.iso" をダウンロードしたら、それを仮想 PC の CD-ROM ドライブにマウントします。
マウントしたら、CentOS 6.0 上で次のコマンドを実行して、CD-ROM の内容を /mnt ディレクトリにマウントします。
mount /dev/sr0 /mnt
CentOS 5.6 までは、光学ドライブは "/dev/hdc" 等が一般的でしたけど、CentOS 6.0 では "/dev/sr0" のような感じになる様子です。
Linux IC v3.1 のメディアをマウントできたら、次のようにして Linux 統合サービスのインストールを行います。
今回は 64 ビット版の CentOS 6.0 でのインストールなので、"x86_64/" ディレクトリの RPM をインストールしますが、32 ビット版の CentOS の場合には "x86/" ディレクトリのものをインストールするようにします。
cd /mnt
rpm -ivh x86_64/kmod-microsoft-hyper-v-rhel6-60.1.x86_64.rpm
rpm -ivh x86_64/microsoft-hyper-v-rhel6-60.1.x86_64.rpm
後は、次のようにして CentOS を再起動すれば、Linux IC v3.1 のインストールは完了です。
reboot
なお、インストールした Linux IC v3.1 を削除したい場合には、コマンドラインから次のコマンドを実行します。
rpm –e microsoft-hyper-v-rhel6-60.1 kmod-microsoft-hyper-v-rhel6-60.1
このようにすることで Linux IC v3.1 をアンインストールすることができました。
このコマンドは Linux IC v3.1 の CD-ROM をマウントしておく必要はないので、Linux IC v3.1 の影響で仮想 DVD-ROM が認識できなくなっていても実行することができる感じです。
ちなみに以前のバージョンの Linux IC v2.1 は CentOS 6.0 にはインストールできない様子でした。
こちらの場合は make によるコンパイル時に、たとえば "/opt/LinuxIC_2.1/src/osd.c:360: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)" などといったエラーがいくつも手出来てしまって、インストールまで行き着かなかった感じです。