QEMUは高速なCPUエミュレーションを行うソフトウェアです。x86/PowerPC/SparcなどのCPUで他のCPUの命令をダイナミックにネイティブコードにトランスレートしながら実行します。またハードウェアのエミュレート機能も持ち、クロス環境やPowerPCでWinowsを使うなどの汎用的な仮想化用途に使用できます。
QEMUはあくまでエミュレータでやはりCPUネイティブな実行と比べかなり低速です。そこでアクセラレータのカーネルモジュールKQEMUを使用することで動作速度を劇的に改善しネイティブ動作並に向上させることが出来ます。 商用ではWin4LinProがQEMU+KQEMUを採用しています。
このKQEMUは今までバイナリと一部ソースでしか提供されておらず再配布制限があり利用の敷居が高かったのですが2007/2/5からGPL v2でオープンソースとなったようです。これで今後Linuxディストリビューションのパッケージに導入される可能性がぐぐっと上がった感じです。
つい先日リリースされたLinux kernel 2.6.20で正式にkvmがカーネルに導入されました。これで間違いなくLinux界隈の仮想化機能としてはkvmがメインストリームになるでしょう。Fedora Core7での採用も決定しているようでRHEL5での採用もあるかもしれないとのこと。
しかしこのkvmはIntel-VT, AMD-Vが必須。最低でも昨年位に導入した比較的新しいマシンが必要です。まだまだ仮想化機能のないCPUのPCが多いと思われるので、ここでQEMU+KQEMUです。
kvmはユーザランドにqemuのツールを使っているため相互の親和性が高く、将来的にkvmが使えるようになったらvmだけコピーすればそのまま使えると思われます。同様の構成はXenoppixですでに採用されています。
しかし、いろんな仮想化の選択肢が増えて楽しくなってますね。でもサーバなんかにはどれを使うと良いのか迷います。結局定番VMwareを使ってますが。