付録 B: Hyper-V のアーキテクチャと機能の概要

このトピックでは、Hyper-V アーキテクチャの概要について説明し、Hyper-V の長所と短所について説明します。

Hyper-V のアーキテクチャ

Hyper-V は、ハイパーバイザーベースの仮想化プラットフォームであり、Windows Server のマーキー機能の 1 つである Live Migration の有効化テクノロジです。 Hyper-V では、Windows Server はクイック移行が可能であり、数秒のダウンタイムで物理ホスト間で VM を移動できます。 ライブ マイグレーションでは、物理ターゲット間の移動はミリ秒単位で行われます。つまり、接続されているユーザーには移行操作が見えなくなります。 「 Windows Server 上の Hyper-V の新機能」を参照してください。

ハイパーバイザーはプロセッサ固有の仮想化プラットフォームであり、互いに分離されている複数の仮想マシン (VM) をホストできますが、プロセッサ、メモリ、I/O デバイスを仮想化することで、基になるハードウェア リソースを共有できます。

Hyper-V 仮想マシンで実行されているゲスト オペレーティング システムは、必要な仮想サーバー クライアント (VSC) ドライバーとサービスがゲスト オペレーティング システムにインストールされている 場合 、物理ハードウェアで実行されているオペレーティング システムのパフォーマンスに近いパフォーマンスを提供します。 Hyper-V 対応 I/O とも呼ばれる Hyper-V 仮想サーバー クライアント (VSC) コードを使用すると、Hyper-V の "仮想マシン バス" に直接アクセスでき、Hyper-V 統合サービスのインストールで使用できます。 VSC ドライバーを提供する Hyper-V 統合サービスは、他のクライアント オペレーティング システムでも使用できます。

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

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

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

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

次の図は、Windows Server で実行されている Hyper-V 環境のアーキテクチャの概要を示しています。

Hyper-V アーキテクチャの概要

上の図で使用した頭字語と用語を次に示します。

  • APIC – 高度なプログラマブル割り込みコントローラ。 割り込み出力に優先度レベルを割り当てることができるデバイス。

  • 子パーティション – ゲスト オペレーティング システムをホストするパーティション。 子パーティションによる物理メモリとデバイスへのすべてのアクセスは、仮想マシン バス (VMBus) またはハイパーバイザーを介して提供されます。

  • ハイパーコール – ハイパーバイザーとの通信のためのインターフェイス。 ハイパーコール インターフェイスは、ハイパーバイザーによって提供される最適化へのアクセスに対応します。

  • ハイパーバイザー: ハードウェアと 1 つまたは複数のオペレーティング システムの間にあるソフトウェアのレイヤー。 ハイパーバイザーの主な目的は、パーティションと呼ばれる分離された実行環境を提供することです。 ハイパーバイザーは、基盤となるハードウェアへのアクセスを制御し調整します。

  • IC – 統合コンポーネント。 子パーティションが他のパーティションやハイパーバイザーと通信できるようにするコンポーネント。

  • I/O スタック – 入出力スタック。

  • MSR – メモリ サービス ルーチン。

  • ルート パーティション – デバイス ドライバー、電源管理、デバイスのホットな追加/削除などのマシン レベルの機能を管理します。 ルート (または親) パーティションは、物理メモリとデバイスに直接アクセスするパーティションです。

  • VID – 仮想化インフラストラクチャ ドライバー。 パーティション管理サービス、仮想プロセッサ管理サービス、およびパーティションのメモリ管理サービスを提供します。

  • VMBus: パーティション間の通信や、アクティブな複数の仮想化パーティションを持つシステムでのデバイスの列挙に使用される、チャネル ベースの通信メカニズム。 VMBus は、Hyper-V 統合サービスと共にインストールされます。

  • VMMS – 仮想マシン管理サービス。 子パーティション内のすべての仮想マシンの状態の管理を担当します。

  • VMWP – 仮想マシン ワーカー プロセス。 仮想化スタックのユーザー モード コンポーネント。 ワーカー プロセスは、親パーティション内の Windows Server インスタンスから子パーティション内のゲスト オペレーティング システムへの仮想マシン管理サービスを提供します。 仮想マシン管理サービスは、実行中の仮想マシンごとに個別のワーカー プロセスを生成します。

  • VSC – 仮想化サービス クライアント。 子パーティションに存在する合成デバイス インスタンス。 VSC では、親パーティション内の仮想化サービス プロバイダー (VSP) によって提供されるハードウェア リソースを利用します。 VSC は、VMBus 経由で親パーティション内の対応する VSP と通信し、子パーティションのデバイス I/O 要求を処理します。

  • VSP – 仮想化サービス プロバイダー。 ルート パーティションに存在し、仮想マシン バス (VMBus) 経由の子パーティションに対して合成デバイスのサポートを提供します。

  • WinHv – Windows ハイパーバイザー インターフェイス ライブラリ。 WinHv は基本的に、パーティション分割されたオペレーティング システムのドライバーとハイパーバイザーの間のブリッジです。これにより、ドライバーは標準の Windows 呼び出し規則を使用してハイパーバイザーを呼び出すことができます。

  • WMI: 仮想マシン管理サービスは、仮想マシンを管理および制御するための、Windows Management Instrumentation (WMI) ベースの一連の API を公開します。

    これらの用語のほとんどは 、用語集で定義されています。

Note

Hyper-V テクノロジの概要 は、適切なリソースです。

長所

Hyper-V 仮想化環境でエンタープライズ レベルのソリューションを実行する利点は次のとおりです。

  1. ハードウェア リソースの統合 - Hyper-V を使用して仮想化を実装することで、複数の物理サーバーを比較的少数のサーバーに簡単に統合できます。 統合により、デプロイされたハードウェア リソースを完全に使用できます。 Windows Server の Hyper-V は、ホスト コンピューター上の最大 64 個の論理 CPU にアクセスできます。 この機能は、新しいマルチコア システムを利用するだけでなく、物理ホストあたりの仮想マシンの統合率も向上します。

  2. 管理の容易さ:

    • リソースの統合と一元化により、管理が簡素化されます。

    • スケールアップとスケールアウトの実装は、はるかに簡単に対応できます。

  3. 大幅なコスト削減:

    • 1 台の物理マシンで複数の仮想マシンを実行できるため、ハードウェア コストが大幅に削減されるため、すべてのコンピューターに個別の物理マシンが必要になるわけではありません。

    • Hyper-V ライセンス コストは、Windows Server のライセンス コストに含まれる場合があり、スタンドアロン製品として購入することもできます。

    • 必要な物理ハードウェアの "フットプリント" が減るため、既存のアプリケーションを仮想化された Hyper-V 環境に統合することで、電力要件が大幅に削減される可能性があります。

  4. Hyper-V クラスタリングによるフォールト トレランスのサポート – Hyper-V はクラスター対応アプリケーションであるため、Windows Server は Hyper-V 仮想化環境で作成された仮想マシンに対してネイティブ ホスト クラスタリングのサポートを提供します。

  5. デプロイと管理の容易さ:

    • 既存のサーバーを少数の物理サーバーに統合すると、デプロイが簡略化されます。

    • 包括的な Hyper-V 管理ソリューションは、System Center Virtual Machine Managerで利用できます。 System Center の VMM の新機能には 、いくつかのガイダンスが用意されています。

  6. Hyper-V の主なパフォーマンス特性:

    • ハードウェア共有アーキテクチャの改善 - Hyper-V では、ハイパーバイザー対応カーネルを使用してゲスト オペレーティング システムを実行するときに、必要な仮想サーバー クライアント (VSC) コード (Hyper-V 対応 I/O と呼ばれる) を備えた、ディスク、ネットワーク、ビデオなどのコア リソースのアクセスと使用率が向上します。 エンライトメントは、メモリ管理などの特定のオペレーティング システム機能のコストを削減するために、オペレーティング システムに対して行われた機能強化です。 VSC ドライバーを含む統合コンポーネントは、他のクライアント オペレーティング システムでも使用できます。

      ディスク パフォーマンスは、Microsoft BizTalk Server などのディスク I/O 集中型エンタープライズ アプリケーションや、Hyper-V 対応 I/O に加えて重要です。Hyper-V では、物理ディスクのパフォーマンスと同等のディスク パフォーマンスを提供する "パススルー" ディスクのサポートが提供されます。 「パススルー」ディスクのサポートにより、パフォーマンスが向上し、利便性が向上します。 "パススルー" ディスクは、基本的に仮想マシンに接続されている物理ディスク/LUN であり、仮想マシン スナップショットなどの仮想ディスクの一部の機能をサポートしていません。

    • プロセッサハードウェア支援仮想化サポート – Hyper-V は、最近のプロセッサ テクノロジで利用できるプロセッサ ハードウェア支援仮想化サポートを最大限に活用します。

    • マルチコア (SMP) ゲスト オペレーティング システムのサポート – Hyper-V は、仮想マシン環境で最大 4 つのプロセッサをサポートする機能を提供します。これにより、アプリケーションは仮想マシンのマルチスレッド機能を最大限に活用できます。

    • 32 ビットと 64 ビットの両方のゲスト オペレーティング システムのサポート – Hyper-V は、Windows、Linux® などの異なるサーバー プラットフォーム間で 32 ビットおよび 64 ビット システムを含む、さまざまな種類のオペレーティング システムを同時に実行するための広範なサポートを提供します。

  7. 包括的な製品サポート – Microsoft エンタープライズ アプリケーション (Exchange ServerやSQL Serverなど) は Hyper-V で実行して完全にテストされるため、Microsoft は Hyper-V 環境で展開および実行するときに、これらのアプリケーションのコード修正サポートを提供します。

  8. スケーラビリティ – ホスト コンピューターからゲスト仮想マシンに追加の利用可能なリソースを割り当てることで、追加の処理能力、ネットワーク帯域幅、ストレージ容量を迅速かつ簡単に実現できます。 これには、ホスト コンピューターをアップグレードするか、ゲスト仮想マシンをより高い機能を備えたホスト コンピューターに移動することが必要になる場合があります。

    Hyper-V で提供される仮想化テクノロジを活用する利点の詳細については、「 Hyper-V テクノロジの概要」を参照してください。

短所

Hyper-V 仮想化環境でエンタープライズ レベルのソリューションを実行する場合の欠点には、次のようなものがあります。

  • ハードウェア要件 – サーバー統合の要求により、Hyper-V 仮想マシンは CPU とメモリを消費する傾向があり、同等のコンピューティング負荷を持つ物理サーバーよりも大きなディスク I/O 帯域幅が必要になります。 Hyper-V サーバーの役割は 64 ビットでのみ使用でき、Windows Server のすべてのエディションは 64 ビットのみであるため、物理ハードウェアはハードウェア支援仮想化をサポートする必要があります。 つまり、プロセッサは Intel VT または AMD Virtualization (AMD-V) テクノロジと互換性があり、システム BIOS はデータ実行防止 (DEP) をサポートする必要があり、DEP を有効にする必要があります。

  • ソフトウェア要件 – ほとんどの Microsoft ソフトウェアは Hyper-V 仮想マシンでの実行がサポートされていますが、一部の Microsoft ソフトウェアは、Hyper-V 仮想化環境との互換性を確保するためにテスト中です。 たとえば、ほとんどの Microsoft エンタープライズ レベルのアプリケーションでは、Hyper-V での実行がサポートされているか、Hyper-V でのサポートのテスト中です。 Hyper-V でのBizTalk ServerとSQL Serverのサポートの詳細については、「付録 C: Hyper-V サポートのBizTalk ServerとSQL Server」を参照してください。