次の方法で共有


Hyper-V アーキテクチャ

Hyper-V は、特定の x64 バージョンの Windows 用のハイパーバイザー ベースの仮想化テクノロジです。 ハイパーバイザーは仮想化の中核です。 これは、複数の分離されたオペレーティング システムが 1 つのハードウェア プラットフォームを共有できるようにする、プロセッサ固有の仮想化プラットフォームです。

Hyper-V では、パーティションの観点から分離がサポートされます。 パーティションは、オペレーティング システムが実行されるハイパーバイザーによってサポートされる分離の論理単位です。 Microsoft ハイパーバイザーには、Windows を実行する親 (ルートパーティション) が少なくとも 1 つ必要です。 仮想化管理スタックは親パーティションで実行され、ハードウェア デバイスに直接アクセスできます。 ルート パーティションは、ゲスト オペレーティング システムをホストする子パーティションを作成します。 ルート パーティションは、ハイパーコール アプリケーション プログラミング インターフェイス (API) を使用して子パーティションを作成します。

パーティションは物理プロセッサにアクセスすることも、プロセッサの割り込みを処理することもありません。 代わりに、プロセッサの仮想ビューがあり、各ゲスト パーティションにプライベートな仮想メモリ アドレス領域で実行されます。 ハイパーバイザーはプロセッサへの割り込みを受け取り、それを各パーティションに振り分けます。 Hyper-V は、CPU で使用されるメモリ管理ハードウェアとは無関係に動作する入力出力メモリ管理ユニット (IOMMU) を使用して、さまざまなゲスト仮想アドレス空間間のアドレス変換をハードウェアで高速化することもできます。 IOMMU は、物理メモリ アドレスを子パーティションで使用されるアドレスに再マップするために使用されます。

子パーティションは、他のハードウェア リソースに直接アクセスすることもなく、仮想デバイス (VDevs) としてリソースの仮想ビューが表示されます。 仮想デバイスへの要求は、VMBus またはハイパーバイザーを介して親パーティション内のデバイスにリダイレクトされ、要求が処理されます。 VMBus は、論理パーティション間通信チャネルです。 親パーティションは、VMBus 経由で通信して子パーティションからのデバイス アクセス要求を処理する仮想化サービス プロバイダー (VSP) をホストします。 子パーティションは、VMBus を介して親パーティション内の VSP にデバイス要求をリダイレクトする仮想化サービス コンシューマー (VSC) をホストします。 このプロセス全体は、ゲスト オペレーティング システムに対して透過的です。

仮想デバイスでは、記憶域、ネットワーク、グラフィックス、および入力サブシステム用に、Enlightened I/O という名前の Windows Server 仮想化機能を利用することもできます。 対応 I/O は、VMBus を直接利用し、デバイス エミュレーション レイヤーをバイパスする、高度な通信プロトコル (SCSI など) の仮想化対応の特殊な実装です。 これにより、通信がより効率的になりますが、ハイパーバイザーと VMBus に対応する対応ゲストが必要になります。 Hyper-V 対応 I/O とハイパーバイザー対応カーネルは、Hyper-V 統合サービスのインストールによって提供されます。 仮想サーバー クライアント (VSC) ドライバーを含む統合コンポーネントは、他のクライアント オペレーティング システムでも使用できます。 Hyper-V には、Intel VT または AMD Virtualization (AMD-V) テクノロジで提供されるなど、ハードウェア支援型の仮想化を含むプロセッサが必要です。

次の図は、Hyper-V 環境のアーキテクチャの概要を示しています。

Hyper V の高レベル アーキテクチャの図。4 つのパーティションとハイパーバイザー セクションが示されています。

用語集

  • APIC –高度のプログラム可能な割り込みコントローラー– 割り込み出力に優先順位レベルを割り当てることができる装置。
  • 子パーティション - ゲスト オペレーティング システムをホストするパーティション - 子パーティションによる物理メモリとデバイスへのすべてのアクセスは、仮想マシン バス (VMBus) またはハイパーバイザーを介して提供されます。
  • ハイパーコール – ハイパーバイザーとの通信のためのインターフェイス - ハイパーコール インターフェイスは、ハイパーバイザーによって提供される最適化へのアクセスに対応します。
  • ハイパーバイザー – ハードウェアと 1 つ以上のオペレーティング システムの間に配置されるソフトウェアのレイヤー。 その主なジョブは、パーティションと呼ばれる分離された実行環境を提供することです。 ハイパーバイザーは、基になるハードウェアへのアクセスを制御し、裁定します。
  • IC – 統合コンポーネント – 子パーティションが他のパーティションおよびハイパーバイザーと通信できるようにするコンポーネント。
  • I/O スタック – 入出力スタック
  • MSR – メモリ サービス ルーチン
  • ルート パーティション – 親パーティションと呼ばれることもあります。 デバイス ドライバー、電源管理、デバイスのホット 追加/削除などのコンピューター レベルの機能を管理します。 ルート (または親) パーティションは、物理メモリとデバイスに直接アクセスできる唯一のパーティションです。
  • VID – 仮想化インフラストラクチャ ドライバー – パーティション管理サービス、仮想プロセッサ管理サービス、およびパーティションのメモリ管理サービスを提供します。
  • VMBus – 複数のアクティブな仮想化パーティションを持つシステム上のパーティション間通信とデバイス列挙に使用されるチャネルベースの通信メカニズム。 VMBus は、Hyper-V Integration Services と共にインストールされます。
  • VMMS – 仮想マシン管理サービス – 子パーティション内のすべての仮想マシンの状態を管理します。
  • VMWP – 仮想マシン ワーカー プロセス – 仮想化スタックのユーザー モード コンポーネント。 ワーカー プロセスは、親パーティション内の Windows Server 2008 インスタンスから子パーティション内のゲスト オペレーティング システムへの仮想マシン管理サービスを提供します。 仮想マシン管理サービスは、実行中の仮想マシンごとに個別のワーカー プロセスを生成します。
  • VSC – 仮想化サービス クライアント – 子パーティションに存在する合成デバイス インスタンス。 VSC は、親パーティション内の仮想化サービス プロバイダー (VSP) によって提供されるハードウェア リソースを利用します。 子パーティションデバイス I/O 要求を満たすために、VMBus 経由で親パーティション内の対応する VSP と通信します。
  • VSP – 仮想化サービス プロバイダー – ルート パーティションに存在し、仮想マシン バス (VMBus) 経由で子パーティションに合成デバイスのサポートを提供します。
  • WinHv – Windows ハイパーバイザー インターフェイス ライブラリ - WinHv は基本的に、パーティション分割されたオペレーティング システムのドライバーとハイパーバイザーの間のブリッジです。これにより、ドライバーは標準の Windows 呼び出し規則を使用してハイパーバイザーを呼び出すことができます。
  • WMI – 仮想マシン管理サービスは、仮想マシンを管理および制御するための一連の Windows Management Instrumentation (WMI) ベースの API を公開します。