今月の@ITのLinux Kernel Watchに気を引かれる記事が。
カーネル2.6.20に仮想化機能がマージされる予定とのこと。
KVM(Kernel based Virtual Machine)がリリースカーネルに入るらしいです。
はじめて見るので少しWebを読んでみるとKVMはフルバーチャライゼーション機能を持ち、複数の改変なしのLinuxやWindowsのイメージを実行できるとあります。
要はLinuxカーネル自体にVMwareやXenのような仮想化機能を追加していろんなOSを実行できるようにしようというわけですね。
ステータスを簡単に訳すると
動作するもの:
- Intelベースのホスト(VT機能を持つCPUが必要)
- AMDベースのホスト(SVM機能を持つCPUが必要)
- Linuxゲスト(32ビットと64ビット)
- Windowsゲスト(32ビット)
- SMP ホスト
- 停止中のゲストのマシン間移動(Non-live Migration)
作業中のもの:
- MMU仮想化機能の最適化
- 実行時の移動(Live migration)
予定されているもの:
- SMPゲスト
となっています。
qemuのユーティリティコマンドでディスクイメージを作成、ゲストをインストールでき、loadvm/savevmでvmを移動できるとのこと。これにより仮想マシンのベースが提供されることになりますね。
OSの仮想化機能は去年辺りから大きくフィーチャされ始め、VMware, Xen, OpenVZ, Win4Lin(qemu)、Parallels(MacOSX)そしてLinux本体の仮想化機能とだいぶ選択肢が増えてきました。昨年、今年とマルチコア、マルチプロセッサ、仮想サポート機能などがCPUに入ってきて導入しやすくなってきています。
サーバ屋さん以外でどれだけの人がこんな機能が必要なんだろうかとの疑問はありつつも、1マシンでいろんなことがやりたくて出始めの頃のVMwareから使っている自分としては非常にうれしい限りです。
特にLinuxカーネルに追加されるこのKVMは仮想マシンを劇的に一般化する可能性が大きくあると思います。ここのところのLinux界隈の進歩の速度をもってしてもGUIであたかももう一台のPCがPCの中にあるようなVMwareの使い勝手の域に達するには数年を要すると思いますが、標準カーネルに機能があるというのは非常に大きいでしょう。
unionfsや新しくファイルシステムを用意するなどして1インストールで複数の環境を立ち上げるとか、thinクライアントのベースにするとか、そもそも仮想機能ありきでの構成がいろいろ考えられますね。
個人サーバなどでも最近流行のプロビジョニング、サーバ障害対応、なにかの折のマイグレーションなど素晴らしい利点が数多くあります。
仮想機能付のCPUが欲しくなった記事でした。
リンク