オープンソース仮想化ソフト「Xen」とXenSourceの行方を探る--仮想化技術をひも解く(7)

谷川耕一 2007年08月22日 08時00分

  • このエントリーをはてなブックマークに追加

 ここ最近のサーバの仮想化ブームを強力に後押ししたのは、仮想化ソフトウェアである「Xen」がオープンソースで登場したことであろう。もちろん今ではVMwareやMicrosoftも仮想化ソフトウェアを無償で提供しているので、手軽にサーバの仮想化を試すことはできる。しかし、それらはホストOS上で、1つのアプリケーションとして動く仮想化技術でしかない。つまり、ハイパーバイザー型の仮想環境が無償で利用できるXenの登場は、かなり画期的なことになる。今回は、このXenと、Xenをエンタープライズ用途で安心かつ容易に利用できるよう推進する同ソフトのディストリビューター、XenSourceの活動をひも解いてみたい。

本格的なハイパーバイザー型仮想化環境

 前回、Microsoftの次期サーバOS「Windows Server 2008」で提供される「Windows Virtualization」は、Xenに似たハイパーバイザー型の仮想化技術だと説明した。その理由は、Xenでは仮想化環境を管理するための「ドメイン0(ゼロ)」と呼ばれるLinux OSが、必ず1つ稼働するからだ。Windows Virtualizationの場合も、やはり管理用のWindows Server 2008のサーバコアが1つ稼働し、それを通じて仮想環境を管理する。

 ドメイン0はあくまでも管理用であり、Xenのハイパーバイザー上で動く。ゲストOSが動く環境は「ドメインU」と呼ばれ、こちらはもちろんハイパーバイザー上で複数動かすことができる。とはいえ、ドメインUは単独で動かすことはできない。ドメインUからハードウェアへのアクセスは、ドメイン0を経由して行われるのだ。

 ドメイン0を経由するとはいえ、ドメイン0での処理がXenのハイパーバイザーに最適化されていることや、後述する準仮想化という効率的な仮想化実現技術の採用により、性能の劣化はほとんどない。そのためXenの特長の1つは、VMwareのハイパーバイザータイプの製品である「VMware Infrastructure 3」と比べても、「勝るとも劣らない高性能だ」と、XenSourceのCEO、Peter Levine氏は言う。Xenの場合は、ホストOSによる仮想化から開発が始まったのではなく、当初からハイパーバイザー型の次世代仮想化環境に特化して開発を行っているからこそ、この高性能が実現できたとLevine氏は説明する。

 Xenのもう1つの特長は、デバイスドライバの仕組みにある。Xenではドメイン0のLinuxを経由して、ゲストOSがハードウェアにアクセスする。そのため、もともとLinuxが動くハードウェアであれば、デバイスドライバが対応しているので、Xenの仮想化環境がそのハードウェアで実現できることになる。これに対し、例えばVMwareでは、ハイパーバイザーがデバイスドライバを管理するので、サポート外のハードウェアでも動くかもしれないが、VMwareがそのデバイスドライバを正式にサポートするかどうかが重要となる。

Xenの弱点は?

 オープンソースでなおかつ本格的なハイパーバイザー型の仮想化技術が存在するのなら、あえて商用の仮想化ソフトウェアを手に入れる必要はないと考えるかもしれない。とはいえ、すべてにおいてXenに優位性があるわけではない。弱点の1つともいえるのが、Xenで採用されている準仮想化と呼ばれる技術だ。これは、処理コストが高いハードウェアの完全エミュレートをする代わりに、ゲストで動かすOSのコードに手を入れて仮想化に対応させる手法だ。

 完全にエミュレートしないので、エミュレーションのオーバーヘッドを最小限に抑えることができ、軽く高速な仮想環境が実現できる反面、ゲストOS側に手を入れるので、改変可能なオープンソースOSでなければゲストOSとして稼働できない。この問題を解決すべく、ソースコードが改変できないWindowsもゲストOSとして動かせるようにしたのが、以前に説明した「Intel-VT」や「AMD-V」といったCPUの仮想化サポート機能ということになる(「CPUの仮想化サポート技術は一体何をサポートしているのか」を参照のこと)。

 Xenがもう1つ不利な点は、Xenはハイパーバイザーとしては優秀だが、それを設定したり管理するための仕組みが提供されていないことだ。Xenは「Red Hat Enterprise Linux 5」や「SUSE Enterprise Linux 10」に含まれているが、仮想化を管理するための特化した便利ツール類は、現段階でこれらディストリビューションには含まれていない。ディストリビューションベンダーは、OS環境を提供するのに手一杯で仮想化環境にはまだ手が回りきっていないのだ。

  • このエントリーをはてなブックマークに追加
関連キーワード
仮想化

関連ホワイトペーパー

SpecialPR