2007年6月7日木曜日

KVMを試してみた

とある2chスレにて。

パソコンが壊れたときの反応
【一般人】。・゜・(ノД`)・゜・。
【自作ヲタ】。・゜・(ノ∀`)・゜・。


やっべー、分かる、すげー分かるよ(笑) 壊れたら買い換える大義名分が出来るものなぁ(ぉ 私もディスプレイ壊れたらワイドディスプレイ買いたいと思ってるし・・・。壊れると悲しい半面喜ぶかもw
さて、話はガラッと変わって仮想化のお話。Fedora7の目玉の一つがQEMU/KVM。CPUが仮想化サポート機能を持っていると、QEMUを高速化できるというもの。このKVMがF7からカーネルもジュールに取り込まれることになりまして、試してみたかったんですよねぇ。
仮想化を実現したいなら今はVMwarePlayerが無料で公開されていますからこれを使うのが手っ取り早いです。GUIも充実してるし。ディスクイメージも公開されており、それを使ってごにょごにょすれば好きなOSをゲストとして利用できます。
が、VMwarePlaerにしろVMwareServerにしろ、カーネルを更新する度にモジュールを作り直してインストールしないといけないんですよね。Fedoraはカーネルの更新が頻繁ですし、これはぶっちゃけ手間なんですな。当然root権限いるし。
これがKVMのようにカーネルモジュールにマージされると、カーネル更新時にちゃんとKVMモジュールも更新されるのでモジュールの再コンパイルの必要がない。これは非常に有難い(と私は思っているw)。
で、QEMU/KVMでWinXPを動かしてみました。するとこれがどうして、結構実用的な速度で動作するじゃないですか。QEMU単体の時はちょいと実用レベルには無いな〜と思ってましたが見直しました。これなら使えるよ、うん。
サウンドドライバもきちんとロードされてるしホスト側もデバイスにALSAを指定できるからdmixでゲストの音声をきちんと拾える。デフォルトがOSSになってるから環境変数書き換えておかないといけないのが玉に瑕か。もうそろそろALSAを標準にしてもいいと思うんだ。カーネルに標準で搭載されたんだしさ^^;
ただ、QEMUは引数がかなり長いので別途スクリプトファイルを用意しておく方が無難かも。あとネットワークがよく分からない・・・。このあたりはVMwareの方がかなり楽に設定できるなぁ。インターネットにはつながるけれどホストからゲストが見えていない(逆も然り)。後でTAP方式について調べておこう。こちらならできるらしい。
VMwareのようにスナップショットを保存することも出来るし、保存した状態から起動して差分の状態を保存する、なんてことも可能。
とまぁQEMUはかなり優秀ではあるんだけど、基本的にすべてコマンドライン操作。ここが中々ハードル高いところだよなぁ^^;
一応Fedoraにもvirt-managerってパッケージが用意されてて、XenとQEMUの仮想化をサポートするGUIが用意されたんだけど、これ既に存在する仮想イメージファイルを管理することってできないのかなぁ?
新規に作成することは出来るんだけど、既存のファイルをインポートするとかいう項目が見つからなかった。あると思うんだけどなぁ。ないのか?
まぁとりあえず動作速度は実用レベルにあると思う。ただインターフェイスがちょいと貧弱。オプションは豊富にあるし、強力な選択肢になると思うからここいらが充実してくるとXenをあっけなくひっくり返すかも。
とりあえず、Sambaでファイル共有が出来るようになればこっちのもんだからそこだけどうにか調べようっと。オプションで画面をフルスクリーンにできるから、デスクトップの2番目にでも貼り付けてやればディスプレイを2台切り替えて使うようなイメージで使えそうだ。
・・・、メモリを増設したくなってきたぞw