久々に仮想化の話題です。今回は,Ubuntu7.10にKVMをインストールして試してみました。

KVMは,Intel VTやAMD-VといったCPUの仮想化機能を使って仮想マシンからCPUに直接アクセスできるようにするデバイス・ドライバ(/dev/kvm)で,別途仮想マシン・モニタのqemuが必要です。

Ubuntu-KVM
 UbuntuのKVMを使って
 Fedora8を起動中



【KVMのインストール方法】
インストールは簡単です。Gnome端末で

$ sudo apt-get install kvm qemu

これだけです。
Synapticパッケージマネージャを使っても構いません。
【KVMの起動方法】
KVMを起動させるには,ゲストOSのisoイメージファイルインストール用CD(またはDVD)ライブCD(またはDVD)のいずれかが必要です。また,imgファイルにインストールする場合は,仮想ハードディスクを作成しておく必要があります。

今回は,Fedora8のインストールDVDで仮想ハードディスクにインストールしてみました。

ステップ1:
まず,次のコマンドで仮想ハードディスクを作成します。

$ qemu-img create -f qcow vm-disk.img 4G

ここではファイル名をvm-disk.imgとし,ファイルサイズは4GBに設定しましたが,qcowというオプションを使って,使用量に応じて容量が変化するようにしてあります。

ステップ2:
次に,kvmモジュールを下記のコマンドでロードしておきます。

$ sudo modprobe kvm
$ sudo modprobe kvm_intel


これは,インテルのCPU(Intel VT)を使う場合の設定です。AMDのCPU(AMD-V)の場合は,kvm_intelの代わりに,kvm_amdとします。

次のコマンドで下記のように表示されれば,正常にロードされています。

$ lsmod | grep kvm
kvm_intel   22156 0
kvm       64944 1 kvm_intel


なお,起動時に自動的に読み込むようにするため,/etc/modules
kvm
kvm_intel

という2行を追記しておきましょう。

ステップ3:
これで,準備が整いました。早速,起動してみましょう。
Fedora8のインストールDVDをDVDドライブに挿入して,次のコマンドを実行します。なお,オプションの -m の数値は,ゲストに使用するメモリ容量です。メインメモリに余裕がないときついです。

$ sudo kvm -no-acpi -m 512 -cdrom /dev/cdrom -hda vm-disk.img -boot d

-bootオプションの「d」は光学ドライブから起動する設定です。

これで,KVM対応のqemuが立ち上がります。あとは,通常のステップを踏んでいけば,インストールは終了です。

ステップ4:
通常のインストールと異なり,最後に「再起動」を選択しても,そのままでは再起動できません。次のコマンドで,再びKVMを起動します。

$ sudo kvm -no-acpi -m 512 -cdrom /dev/cdrom -hda vm-disk.img -boot c

これで,仮想ハードディスクから起動できます。最後のオプションが「-boot c」となっている点に注意して下さい。

ちなみに,光学ドライブが使えるように,-cdromオプションを加えたままにしてあります。

初回設定が終了したら,次回以降は同じコマンドで起動できるようになります。

以上です。


実際の使用感ですが,インストールの速度は,普通のインストールとほとんど変わりません。通常のqemuに比べると,かなり速いです。

また,起動中の操作も,さすがにホストには劣りますが,仮想環境としては充分に快適だと思います。

【追記】
一般ユーザでkvmコマンドを実行すると,/dev/kvmのパーミッションエラーが出ます。下記のコマンドを実行すれば,一般ユーザでも(sudoなしで)起動できますが…

$ sudo chmod 777 /dev/kvm

次回起動時にはパーミッション設定が戻ってしまいます。