2008年05月14日 10時50分 UPDATE
特集/連載

ホスト・ベアメタル・OS・ハイブリッド4つの仮想化アーキテクチャと今後の展望

ホスト仮想化、ベアメタル仮想化、OS仮想化、ハイブリッド仮想化のそれぞれの特徴を解説するとともに、2008年のMicrosoftの計画が仮想化分野にどのような影響を及ぼすかも展望する。

[Andrew Kutz,TechTarget]

 VMwareがESX Serverをリリースしてから7年が経過した。VMwareはx86サーバの仮想化分野を開拓したが、今ではこのフロンティアを切り開いているのは同社だけではない。幾つもの優秀なベンダーが参入し、独自ブランドの仮想化製品を生み出している。以下では、こうしたさまざまな製品を分類・評価する助けになるように、現在市場で利用されている4種類の仮想化アーキテクチャを概説し、それらが今後数年間にどのような方向に進むかについて見通しを示す。

ホスト仮想化

 最初に取り上げるのは、ほとんどのユーザーにとってなじみの深い仮想化アーキテクチャであるホスト仮想化だ。VMware WorkstationやVMware Fusion、Parallels Desktop for Macなど、デスクトップ仮想化製品は、すべてホスト仮想化アーキテクチャを実装したものだ。

mo_ov1.jpg

 このように、ホスト仮想化のアプローチでは既存OSが利用されている。ハイパーバイザーはOS上で動作し、仮想マシン(以下、VM)はハイパーバイザーによって管理される。

 このタイプの仮想化には多くのメリットがある。ユーザーは仮想化製品を一般のアプリケーションと同様にデスクトップにインストールでき、デスクトップOSを引き続き利用可能だ。

 しかし、ホスト仮想化にはデメリットもある。ハイパーバイザーとOSの両方がメモリマネージャとCPUスケジューラを持つことに注意してほしい。この方式ではオーバーヘッドが多くなる。このアプローチは、ハードウェアの仮想化支援機能が実現される前にホスト仮想化製品が開発されたことから、必要に迫られて採用された。

 ホスト仮想化製品は現在もよく使われている(VMware Workstation 6.0のように)が、この状況がどのくらい続くかは分からない。実際、新しい選択肢が登場している。本稿で4番目に取り上げるハイブリッド仮想化は、オーバーヘッドを伴わずにホスト仮想化のすべてのメリットを提供する。

 VMware、Microsoft、Parallelsのような企業が、ホスト仮想化製品を発展させてハイブリッド仮想化を導入するかどうかは、時がたてば分かるだろう。

ベアメタル仮想化

 2つ目の仮想化アーキテクチャは、現在のエンタープライズデータセンターで主流となっているベアメタル仮想化だ。現在、エンタープライズ仮想化市場で圧倒的なシェアを占めているVMware ESX(以下、ESX)では、ベアメタル仮想化アーキテクチャが採用されている。

mo_ov2.jpg

 このアーキテクチャを見てすぐに分かるのは、既存OSが利用されていないことだ。ハイパーバイザーはハードウェア上で直接動作するようになっており、「ベアメタル(地金)仮想化」という言葉はこのことに由来している。多くのデータセンターでESXやXenなどのベアメタル製品が導入されているのは、ベアメタル仮想化では、OSを利用するホスト仮想化と比べてオーバーヘッドが少なく処理が高速だからだ。

 ESXとXenをひとくくりに分類したことに疑問を感じた読者の方もいるかもしれない。「両者は異なるアーキテクチャを採用しているのではないか」と。

 その答えはイエスでもありノーでもある。完全仮想化と準仮想化の違いを見てみよう。完全仮想化では、OSは仮想環境を認識せずにVMのゲストOSとして動作する。だが、準仮想化では、OSをVMのゲストOSとして動作させるには、仮想環境を認識するようにあらかじめ変更を加えておく必要がある。ESXが従来、完全仮想化を採用してきたのに対し、Xenは準仮想化に先駆的に対応してきた。しかし実のところは、どちらの方式もベアメタル仮想化であり、現在ではいずれもESXとXenで利用されている。このため本稿の文脈では、完全仮想化と準仮想化はいずれもベアメタル仮想化に分類する。

 ベアメタル仮想化を利用することにはデメリットもある。仮想化ベンダーは一般に、自社の仮想化製品とともに使用可能なハードウェアを指定したハードウェア互換性リストを公開している。これは、ハイパーバイザーをできるだけスリムに保つために、ハイパーバイザーカーネル内のデバイスドライバの数が最小限に抑えられているからだ。一部のハイパーバイザーでは、この問題の対策(Xenドメインやドライバドメインなど)が用意されている。だが、それらを利用する際には、かなり大変な作業に取り組む覚悟が必要だ。

 データセンターでの利用を想定した場合にベアメタル仮想化が非常に魅力的な理由はパフォーマンスの高さではなく、ベアメタル仮想化を実装した製品がアプライアンスやサーバOSとして配布されていることにある。ESXやXenServerを例に取ろう。インストールCDでサーバを起動しさえすれば、既存OSの設定や管理で大騒ぎしなくても、これらの製品はHDDにインストールされる。また、組み込み型ハイパーバイザーは、仮想アプライアンスの優れた例だ。サーバの電源を入れれば、会社の仮想化インフラに合わせて自動的に設定される。ただし、ベアメタル仮想化のこうした機能は、アーキテクチャ自体に由来するものではない。このため、ベアメタル仮想化は2008年、本稿の4つ目のアーキテクチャ(ハイブリッド仮想化)との本格的な競争に直面するかもしれない。

OS仮想化

 OS仮想化はこのところ注目を浴びている。MicrosoftがOS仮想化技術の買収を狙っているとうわさされているからだ。OS仮想化を採用している最も有名な製品は、Parallels VirtuozzoとSolaris コンテナだ。

mo_ov3.jpg

 OS仮想化では既存OSが利用されるが、オーバーヘッドが非常に少ない。VMの管理に従来型のハイパーバイザーを利用しないからだ。OS仮想化アーキテクチャでは、1つのOSを複数のコンテナに分割し、コンテナマネージャを使って管理を容易にしている。この仮想化アーキテクチャには多くのメリットがあり、高速なパフォーマンスがその最たるものだ。必要なディスク容量の削減というメリットもある。多くのコンテナが同じファイルを使えるため、必要なディスク容量が少なくなる。

 OS仮想化の大きな注意点は、OSの要件だ。コンテナOSはすべてホストOSと同じOSでなければならない。つまり、Solarisコンテナを利用する場合は、すべてのコンテナでSolarisを稼働させなければならない。また、Windows Server 2003, Standard Edition上でVirtuozzoコンテナを利用する場合は、すべてのコンテナでWindows Server 2003, Standard Editionを稼働させる必要がある。

 コンテナOSの要件が厳し過ぎるため、OS仮想化は採用する余地がないという声もある。しかし、多くのIT管理者は、OS仮想化は仮想デスクトップや仮想Webサーバの実装に最適なアーキテクチャだと考えている。これらのプラットフォームは多数の一般的なファイルを共有するからだ。しかし、前述した2つのアーキテクチャと同様に、OS仮想化も近いうちに、支持者がハイブリッド仮想化に乗り換える可能性がある。

ハイブリッド仮想化

 このアーキテクチャの説明を後に回したのには理由がある。以下の説明でお分かりいただけると思う。

mo_ov4.jpg

 ハイブリッド仮想化では、ホスト仮想化と同様にホストOSが利用される。だが、ホストOS上でハイパーバイザーが動作するのではなく、カーネルレベルのドライバがホストOSカーネルに挿入される。このドライバが仮想ハードウェアマネージャ(以下、VHM)として機能し、VMとホストOSの間でハードウェアアクセスを調整する。図のように、ハイブリッド仮想化では既存カーネルのメモリマネージャとCPUスケジューラが利用される。ベアメタル仮想化およびOS仮想化の場合と同様に、余分なメモリマネージャとCPUスケジューラがないことから、このアーキテクチャは高いパフォーマンスを発揮する。にもかかわらず、OS仮想化とは異なり、ハイブリッド仮想化にはホストと同じOSが動作するゲストしか作成できないという制限はない。

 ハイブリッド仮想化は、前述した3つのアーキテクチャのすべてのメリットを提供し、デメリットはほとんどない。とはいえ多少のマイナス面はある。ハイブリッド仮想化を利用するには、プロセッサがIntel VTやAMD-Vなどのように仮想化支援機能を備えている必要がある。つまり、この機能を搭載しない旧来のハードウェアは、ほかの仮想化アーキテクチャは利用可能でも、このアーキテクチャでは出番がないということだ。また、既存カーネルのメモリマネージャとCPUスケジューラの再利用をプラスに評価する向きもあるが、一部の業界アナリストは、サードパーティーのカーネルのような、コントロールの及ばないものに依存するのは得策ではないと主張している。この依存によってVHMの将来は、そのロード先のカーネルに左右されることになる。というのも、逆のことが言われているが、ハイブリッド仮想化では、VHMはハイパーバイザー「ではない」からだ。例えば、多くの人がKVM(Kernel-based Virtual Machine:Linuxカーネルにマージされた仮想化機能)はハイパーバイザーだと考えているが実はそうではない。

2008年以降の仮想化

 では、2008年以降、サーバ仮想化分野ではどのような展開があるのか。Microsoftは製品ポートフォリオを拡充するため、OS仮想化技術を買収するだろう。また、NTカーネルを利用して、ハイブリッド仮想化の自社開発も進めるだろう。Windows 7はVHMとともに出荷されるとみられる。このVHMにより、Microsoftの未発表のビルトインVMマネージャを使ってVMを簡単に作成できるようになるだろう。一方、カーネルのソースコードにアクセスできない仮想化製品ベンダーは、ホスト仮想化アーキテクチャに基づく製品をリリースし続けなければならないだろう。そうなれば、MicrosoftはVMのパフォーマンス面で優位に立つことになる。

 OS仮想化アーキテクチャは、いずれはハイブリッド仮想化に取って代わられ、姿を消すだろう。HDDの容量単価は著しく安くなっているため、これまでハイブリッドアーキテクチャに対してOS仮想化が持っていた強みは、ハイブリッドアーキテクチャに移行しない十分な理由ではなくなるだろう。ハイブリッドアーキテクチャは、OS仮想化と同等のパフォーマンスを提供し、1つのOSしか使えないというOS仮想化のデメリットはないのだから。一方、ベアメタル仮想化製品は、ベンダーのこれまでの投資に見合うだけの成功を続けるだろう。しかし、ハイブリッドアーキテクチャベースのアプライアンスが登場し始め、高価なベアメタルアーキテクチャベースのアプライアンスの非常に安価な代替選択肢になるだろう。

本稿筆者のアンドルー・カッツ氏は、.NET、オープンソース、ターミナルサービス、コーディング、コミックスの熱心なファン。MCSD(マイクロソフト認定ソリューションデベロッパー)、SANS GCWN(GIAC Certified Windows Security Administrator)、VCP on VI3(VMware Certified Professional on VMware Infrastructure 3)の資格を持つ。

関連ホワイトペーパー

仮想化 | VMware | x86


この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事