【 ここから本文 】
Microsoftウォッチ
ソーシャルブックマークに登録 :
印刷用ページの表示
【解説】
「Hyper-V RC1」緊急レビュー
Windows Server 2008標準搭載の仮想化ハイパーバイザを徹底解剖
(2008年05月27日)
【Architecture】
Virtual Server 2005とは異なる
Hyper-Vのアーキテクチャ
Hyper-Vは、Virtual Server 2005 R2とはまったく異なるハイパーバイザ型のアーキテクチャを採用している(図1)。ハイパーバイザは、単一のコンピュータ上で複数OSの並列実行を可能にするテクノロジーだ。Hyper-Vでは「Windows Hypervisor」と呼ばれるごく薄い抽象化レイヤーがハードウェアとOSを切り離し、複数OSの同時実行を可能にする。
| 図1● Hyper-Vのアーキテクチャ。Windows Hypervisorがパーティショニングを行い、複数OSを並列実行する |
Hyper-Vでは複数のOSを「パーティション」で分けており、Virtual Server 2005 R2のホストOSに相当する部分を「ペアレントパーティション(Parent Partition)」、仮想マシンを「チャイルドパーティション(Child Partition)」と呼ぶ。物理コンピュータに最初にインストールされるOSがペアレントパーティションとなる。プロセッサから見れば、ペアレントパーティションもチャイルドパーティションも同等であり、まさに複数OSを並列実行しているイメージだ。
Windows Hypervisorは、単純なパーティショニング機能しか持たない。デバイスへのアクセスは、チャイルドパーティションのゲストOSとペアレントパーティションの管理OSとの通信で実現される。これを可能にするのが、すべてのパーティションに存在する仮想的なバス「VMBus」になる(図2)。
| 図2● Hyper-Vの仮想マシンはデバイスをエミュレートしない。ゲストOSのVSCがVMBusを通して管理OSのVSPと通信する。なお、ゲストOSの初期導入時やVMBus非対応OSのサポートのために、エミュレートされたハードウェアも用意されている |
VMBusはペアレントパーティションとチャイルドパーティションの高速な通信路(バス)として機能し、ゲストOSはデバイスドライバではなく「VSC(Virtualization Service Client)」と呼ばれるコンポーネントを使用して、VMBus経由で管理OSの「VSP(Virtualization Service Providor)」と通信を行い、デバイスI/Oを行う(画面4)。物理的なハードウェアに対応したデバイスドライバは管理OSだけが持ち、重複したデバイスの処理がなくなるぶん、高速なI/Oを実現できる。
| 画面4● VMBusはペアレントパーティション(管理OS)とチャイルドパーティション(ゲストOS)の両方に存在する |
Windows Hypervisorはデバイスのサポートを含まないため、ペアレントパーティションの管理OSが必須となる。言い換えれば、ペアレントパーティションの管理OSが動いていなければ、チャイルドパーティションも動かないということだ。
対して、VMware ESX Serverのように、Hyper-Vのペアレントパーティション(Xenのドメイン0)に相当する部分が不要で、ゲストOSを直接並列実行できるものもある。これは、ハイパーバイザ層にデバイスのサポートを含む方式を採用しているからであり、ハードウェアが限定されることを意味する。
それぞれ一長一短はあると思うが、Hyper-Vのほうが多くの標準的なサーバハードウェアで動作するので導入しやすいうえ、ドライバを持たないのでよりセキュアだと言える。

























