どのような仮想化ソフトがあるのか?


 仮想化ソフトといっても、世の中にはさまざまなソフトが存在する。今回は、サーバー仮想化ソフトを中心に各社製品を紹介する。


VMware

 VMwareは、「VMware ESX」「VMware ESXi」「VMware Server」のサーバー仮想化ソフトをリリースしている。

 VMware Serverは、WindowsおよびLinuxに対応したホスト型の仮想化ソフトで、無償提供されている。昨年末にリリースされたVMware Server 2では、ホストOSとしてWindows Server 2008やRed Hat Enterpriseをサポートしたり、64ビットのゲストOSに対応したりしている(ホストOSが64ビットOSの場合)。また、CPUの仮想化支援機能などにも対応しているため、そこそこのパフォーマンスで動作もする。

 VMware ESX/ESXiは、ハイパーバイザー型の仮想化ソフト。ESXとESXiの違いは、ESXがハイパーバイザーに管理機能(サービスコンソール)を含んでいるのに対して、ESXiは純粋なハイパーバイザーのみとなっている点。サービスコンソールが含まれていないESXiはプログラムサイズも非常に小さくなるため、USBメモリなどからブートすることも可能(ESXはHDDにインストールして利用する)。一部のサーバーベンダーは、必要なドライバなどをインストールしたESXiを組み込んだサーバーも提供されている。ESXiは、サーバーを購入して、電源を入れれば、すぐに仮想化環境が利用できる仮想化レディのシステムを目指して開発されたといっていいだろう。また、ESXが有償であるのに対して、ESXiは無償で提供されているのも大きな違いだ。

 VMwareでは、このVMware ESX/ESXiを基盤に、「VMware Infrastructure」のようなスイート製品や、仮想化ベースのインフラ構築製品をリリースしている。


マイクロソフト

 マイクロソフトは、ホスト型の「Virtual Server」とハイパーバイザー型の「Hyper-V」の2種類のサーバー仮想化ソフトをリリースしている。

 Virtual Serverは、Windows Server 2003をホストOSとして動作するサーバー仮想化ソフト。最新バージョンでは、Intel VTやAMD-VといったCPUの仮想化支援機能をサポートしているが、ゲストOSには32ビットOSしか利用できない。

 Hyper-Vは、Windows Server 2008に標準で添付されているハイパーバイザー型の仮想化ソフト。Hyper-Vは、ドメイン0(ペアレントパーティション)にインストールされているデバイスドライバを利用する仕組みを採用しているので、Windows Server 2008が必須となっている。Windows Server 2008は、フルインストールのほか、GUIなどを省いたServer Coreでも問題なく利用できる。

 ドメイン0のドライバを利用するHyper-Vは、ハイパーバイザーのプログラムサイズも非常に小さくなり、仮想化のオーバーヘッドが小さくなる。また、ドメイン0のWindows Server 2008にインストールされているドライバを利用できるため、多くの周辺機器が仮想環境で利用することができるのも特長だ。このほか、Hyper-Vでは64ビットのゲストOSもサポートするなど、Virtual Serverでサポートされていなかったいろいろな機能がサポートされている。

 Hyper-Vの次期バージョン「Hyper-V 2.0」(次期サーバーOS「Windows Server 2008 R2」に標準搭載)では、CPUの第二世代仮想化支援機能、接続を切らずに仮想環境を別のサーバーに移行できるライブマイグレーション機能などがサポートされる。

 Hyper-Vは、Xenとの相互運用性も確保している。特に、Xenの開発を行っていたXenSourceを買収したシトリックスのXenServerとは、非常に高い相互運用性を持っている。また、ノベルとも協業関係にあり、SUSE Linux Enterprise Serverなどとの相互運用性も実現している。

 なお、マイクロソフトでは、ドメイン0にWindows Server 2008 Server Coreを利用したサーバー仮想化ソフト「Hyper-V Server」を無償で提供している。


Xen

 サーバー仮想化ソフトの中で、さまざまな企業がディストリビューションをリリースしているのがXenだ。

 当初Xenは、オープンソースとしてケンブリッジ大学で研究が始まり、その後ケンブリッジ大学の研究スタッフたちが設立したXenSourceが中心となって、開発が進められた。その後、XenSourceはシトリックスに買収されたが、オープンソースとしての開発は現在も続いている。

 Xen自体は、ハイパーバイザー型の仮想化ソフトだ。ドライバに関しては、ドメイン0にインストールされているOSのドライバを利用することで、ハイパーバイザーのコンパクト化を図っている。

 現在、xen.org(http://www.xen.org/)が中心に開発が行われており、最も先進的なバージョンはxen.orgで公開されている。

 XenSourceを買収したシトリックスは、「XenServer」という名称でXenをリリースしている。ただし、xen.orgで公開されている最新のものではなく、少し前のバージョンがベースとなっている。これは、安定度やバグフィックスなどの観点から、最新のXenをすぐに取り込むよりも、安定度が高いモノを提供するためだ。このXenServerは無償で提供されており、管理ツールやプロビジョニングなどの機能を「Citrix Essentials for XenServer」として販売している。

 シトリックスとマイクロソフトは、仮想化に関して提携をしているため、XenServer上でのWindows OSの動作などを保証している。さらに、ゲストOSが準仮想化環境で動作できるようにドライバの開発も共同ですすめている。

 Xenは、オープンソースということもあり、さまざまな企業がXenを使った仮想化ソフトを提供している。Xenベースの仮想化ソフトとしては、オラクルの「Oracle VM」、サン・マイクロシステムズの「Sun xVM Server」、ノベルの「SUSE Linux Enterprise Server(Xenを内蔵)」、Virtual Iron Softwareの「Virtual Iron」などがある。


そのほかの仮想化ソフト

 Hyper-VやESX、Xen以外にも、サーバー仮想化ソフトは存在する。

 一つは、レッドハットが買収した「KVM(Kernel-based Virtual Machine)」だ。KVMは、Linuxのカーネルにハイパーパイザーの機能を追加するソフト。基本的な実装は終了し、現在はゲストOS用のドライバや管理ツール、パフォーマンスチューニングなどが行われている。CPUの仮想化支援機能を最大限に生かして、ネイティブ並みのパフォーマンスを仮想環境において発揮しようとしている。

 Mac OS向けのサーバー仮想化ソフトもある。Parallelsの「Parallels Server」だ。現在、アップルのXserve向けに提供されている。Parallels Serverは、x86サーバー向けにも開発が進められており、現在ベータ版がリリースされている。

 さまざまな企業がサーバー仮想化ソフトを提供しているが、ハイパーバイザー型が今後主流になっていくだろう。今回は紹介していないが、デスクトップ向けの仮想化ソフトも同じ方向に進むだろう。また、基盤となる仮想化ソフト自体は、無償で提供されるか、OSにバンドルされることになるだろう。このため仮想化ソフトベンダーは、ハイパーバイザーでビジネスを行うのではなく、管理ツールなどを含めた仮想化のインフラシステムでビジネスを行っていくことになる。

 また、サーバー仮想化とはいっても、シンクライアント、アプリケーションのストリーミング配信、デスクトップの仮想化などの基盤としても使われることになる。今後、さまざまなレイヤーで仮想化は進んでいくだろう。



(山本 雅史)
2009/4/20 18:30