Xen 3.0に本格実装される疑似仮想化の実力──優位点は高速処理と柔軟性

 数年前にXenプロジェクトが登場するまで、疑似仮想化(Paravirtualization)という技術はほとんど知られていなかった。この技術では、対応するように変更されたOSが、特権操作(仮想メモリを再構成し、デバイスと通信する)をCPUに直接送るのではなく、「ハイパーバイザ」レイヤにリダイレクトする。VMwareやMicrosoft Virtual Serverなどのハードウェア・エミュレーション・ベースの仮想化ソリューションは、特権操作をCPU命令レベルで解釈してリダイレクトしなければならないが、この疑似仮想化によるリダイレクト方法は、それよりもはるかに効率的だ。

 Linuxのソースコード・ツリーでは、Xenは新しいCPUアーキテクチャと同等に位置づけられている。Xenをターゲット・アーキテクチャとしてLinuxをコンパイルすると、疑似仮想化機能が組み込まれたLinuxが作成される。

 電源投入時には、XenハイパーバイザがロードされてからXen Linuxホスト・カーネルがロードされる。そこから1つのシンプルなコマンドで、XenのゲストOSとして動作するように変更されたLinux、BSD、NetWare、あるいは他のいくつかのホストOSの1つが起動される。

 物理システムから仮想システムへの移行は、通常は面倒だ。だが、「dd」コマンドを使って、ほかのサーバのブート・ドライブをローカル・ファイルにコピーし、Xenでそのファイルを指定して仮想マシン(VM)を起動すればよい。コンサルタントを雇う必要もない。

 オープンソースのXenは簡単にインストールして実行できるが、決して軽量で機能が制限されているわけではない。XenのゲストVMは、“高速”と形容するだけでは十分な説明にはならない。Xenは計算速度が速いだけでなく動作がきわめて高速なのだ。仮想化のパフォーマンス指標の1つはスループットだが、Xenのスループットは非常に優れているとしか言わざるをえない。

 XenはストレージとネットワークのI/O処理が高速なほか、ストレージの管理に関しても非常に柔軟だ。ゲストVMは専用のドライブやアレイのほか、既存ドライブ上の専用のパーティション、ホストにマウントされたファイルシステム上にあるディスク・イメージ・ファイルも利用することができる。

 Xenの設定パラメータはテキスト・ファイルに保存されており、その管理インタフェースはシンプルなコマンドライン・ディレクティブだ。

 NovellはXenのGUI管理インタフェースの開発に取り組んでいるが、限られた数のサーバを運用する場合には、Xenのスクリプタブルな短い1行のディレクティブは、起動、遮断、状態調査、仮想マシンコンソールへの接続を行ううえで不都合は見当たらない。

 Virtual IronやVMWare VirtualCenterで提供される稼働中のVMを物理サーバ間で移動する機能も1行のディレクティブで実行でき、Xenプロジェクトでは、Xenはこの稼働中の移動のスピードが最も速いとしている。また、Xenはオーバーヘッドが低いため、高い可用性の維持だけを目的に利用するという考え方もできる。

 米XenSourceのWebサイトには、「Xenは現在そして今後もオープンソースであり続ける」と記されている。オープンソース・プロジェクトは、商用ソフトウェアに対してトレードオフがある場合が多く、オープンソース・コミュニティはオープンソースの理想を推進するためにそれを受け入れている。

 しかし、Xenの場合は、オープンソース版と商用版との違いはない。2006年第3四半期にオープンソースとして、そしてXenSourceからサポート付きの商用エンタープライズ・ソリューションとしてリリースされるXen 3.0は、オープンソースの優秀さを象徴する製品として、有料で購入する価値を認められるだろう。

(トム・イェイガー/InfoWorld 米国版)

米XenSource
http://xensource.com/

提供:Computerworld.jp