「Hyper-V」は、マイクロソフトの仮想化テクノロジの一つで、Windows Server 2008の標準機能として組み込まれている。このほか同社が提供する仮想化テクノロジには、(1)デスクトップOSを仮想化する「Virtual PC 2007」、(2)サーバーOSを仮想化する「Virtual Server 2005 R2」、(3)Windows Serverの標準機能としてデスクトップセッションを仮想化する「ターミナルサービス」、(4)アプリケーションの実行環境をオンデマンドで配布する「Microsoft Application Virtualization(App-V)」などがある。

 これらの中で、(1)(2)は無償で提供される。Hyper-V 2.0の特徴を見る前に、まずHyper-Vのアーキテクチャを説明する。

Hyper-Vのアーキテクチャ

 Hyper-Vのアーキテクチャを図1に示した。Hyper-Vは単独で動作するものではなく、それ自体は単なる仮想化レイヤーとしてハードウエアとOSを切り離す役目を果たす「薄皮」である。このため、Windows Server 2008に組み込んで動作させる。具体的には、まずペアレントパーティション(ドメイン0)と呼ばれるWindows Server 2008をインストールする。

図1●Hyper-Vのアーキテクチャ
図1●Hyper-Vのアーキテクチャ
[画像のクリックで拡大表示]

 このパーティションは、Windows Server 2008の最小構成のインストールオプションである「Server Core」でも利用できる。Server Coreは、GUI機能を備えず、サーバー実行に必要なコア部分だけを持つもので、インストールされるコンポーネントは必要最小限に抑えられている。このため、脆弱性の影響が最小限にとどめられるほか、セキュリティパッチなどのアップデートもフルインストールに比べて減り、一連の作業により再起動される回数も少ない。

 次に、このペアレントパーティションのWindows Server 2008上で「役割の追加ウィザード」を使用してHyper-Vをインストールする(Server Coreの場合はGUIが無いので、コマンドラインからインストールを行う)。すると、「VSP(Virtual Service Provider)」と呼ばれるコンポーネントと、仮想的な通信路「VM Bus」が組み込まれるとともに、ブートローダが書き換えられる。これにより、Hyper-Vのハイパーバイザーである「Windows Hypervisor(hvboot.sys)」のローダが、OS起動時に最初に読み込まれるようになる。ハイパーバイザーがインストールされていない OSでは、CPUのリング0と3が使用される。ところがハイパーバイザーが読み込まれると、CPUの仮想化支援機能によって、さらに特権レベルが高い、リング「-1」でハイパーバイザー本体が動作するようになる。

 Windows Server 2008 R2は、64ビット版のみ提供され、Hyper-V 2.0はDatacenter/Enterprise/Standardの各エディションで動作する。一方、Foundation版と「Windows Web Server 2008 R2」、およびx64と異なるアーキテクチャ用の「Windows Server 2008 R2 for Itanium-Based Systems」では、Hyper-V機能は提供されない。