次の方法で共有


Hyper-V ストレージの I/O のパフォーマンス

この記事では、仮想マシン (VM) でストレージの入出力 (I/O) パフォーマンスをチューニングするためのさまざまなオプションと考慮事項について説明します。 ストレージ I/O パスは、次の 4 つの連続するステージにまたがって拡張されます。

  1. ゲスト ストレージ スタック
  2. ホスト仮想化レイヤー
  3. ホスト ストレージ スタック
  4. 物理ディスク

次のセクションでは、各ステージで可能な最適化について説明します。

仮想コントローラー

Hyper-V には、次の 3 種類の仮想コントローラーが用意されています。

  • 統合ドライブ エレクトロニクス (IDE)

  • 小型コンピューター システム インターフェイス (SCSI)

  • 仮想ファイバー チャネル ホスト バス アダプター (HBA)

井手

OS ディスクには IDE ディスクのみを使用することをお勧めします。 OS ディスクには、デバイスの最大 I/O サイズに基づくパフォーマンス制限があります。

IDE コントローラーは、IDE ディスクを VM に公開するエミュレートされたコントローラーです。 この種類のコントローラーは、 VM 統合サービスをHyper-V せずに以前のバージョンの Windows を実行しているゲスト VM の唯一のオプションです。 統合サービスが提供する IDE フィルター ドライバーは、エミュレートされた IDE コントローラーよりもディスク I/O を実行できます。

SCSI (SAS コントローラー)

仮想 SCSI コントローラーは、SCSI ディスクを VM に公開します。 各 SCSI コントローラーは、最大 64 台のデバイスをサポートします。 SCSI パスはエミュレートされないため、OS ディスク以外のディスクの優先コントローラーになります。 Windows Server 2012 R2 以降では SCSI コントローラーがサポートされますが、共有仮想ハード ディスク (VHDX) をサポートするためのシリアル接続 SCSI (SAS) としてコントローラーを報告するシナリオでのみサポートされます。

最適なパフォーマンスを得るために、1 つの仮想 SCSI コントローラーに複数のディスクを接続することをお勧めします。 VM に接続されているディスクの数をスケーリングするための他のオプションがない場合にのみ、コントローラーをさらに作成する必要があります。

仮想ファイバー チャネル HBA

仮想ファイバーチャネルHBAを構成し、VMがファイバーチャネル及びファイバーチャネルオーバーイーサネット(FCoE)の論理ユニット番号(LUN)に直接アクセスできるようにします。 仮想ファイバー チャネル ディスクはルート パーティション内の NTFS ファイル システムをバイパスするため、ストレージ I/O 中央処理装置 (CPU) の使用量が削減されます。 仮想ファイバー チャネル ディスクは、ゲスト クラスタリング シナリオで複数の VM 間で共有される大規模なデータ ドライブとドライブに適しています。

仮想ファイバー チャネル ディスクを使用するには、ホスト コンピューターに 1 つ以上のファイバー チャネル HBA をインストールする必要があります。 各ホスト HBA では、Windows Server 2016 仮想ファイバー チャネルまたは N_Port ID 仮想化 (NPIV) 機能をサポートする HBA ドライバーを使用する必要があります。 記憶域ネットワーク (SAN) ファブリックも NPIV をサポートする必要があり、NPIV をサポートするファイバー チャネル トポロジでファイバー チャネルの HBA ポートを構成する必要があります。

複数の HBA を持つホストのスループットを最大化するには、Hyper-V VM 内に多数の仮想 HBA を構成することをお勧めします。 VM ごとに最大 4 つの HBA を構成できます。 Hyper-V は、同じ仮想 SAN にアクセスする HBA をホストするために仮想 HBA のバランスを自動的に調整します。

仮想ディスク

仮想ディスクは仮想コントローラーによって VM に公開され、ホスト上の仮想ハード ディスクまたはパススルー ディスクにすることができます。

仮想ディスクは、VHD または VHDX 形式で提供されます。 各形式では、3 種類の仮想ハード ディスク ファイルがサポートされています。

展開を Windows Server 2016 以降にアップグレードする場合は、すべての VHD ファイルを VHDX 形式に変換することをお勧めします。 詳細については、「 VHDX 形式」を参照してください。

VHD 形式

以降のバージョンの Hyper-V には、より適切な配置を可能にする VHD 形式の機能強化が含まれています。 Windows Server 2012 以降の Hyper-V では、VHD 形式のみをサポートする以前のバージョンとは対照的に、VHDX 形式と VHD 形式の両方がサポートされています。 その結果、新しいバージョンの Hyper-V は、大規模なセクター ディスクでパフォーマンスが向上します。

Windows Server 2012 以降で作成するすべての VHD には、最適な 4 KB の配置があります。 このアライン形式は、以前のバージョンの Windows Server と完全に互換性があります。 ただし、配置プロパティは、以前のバージョンの Windows Server のパーサーや Microsoft 以外のパーサーなど、4 KB の配置に対応していないパーサーからの新しい割り当てをサポートしていません。

ディスクを VHD 形式に変換する

以前のバージョンの Hyper-V または Windows Server から後のバージョンに VHD を移行する場合、システムはディスクを VHD 形式に自動的に変換しません。

既存の仮想ディスクを VHD に変換するには、PowerShell ウィンドウを開き、次のコマンドを実行します。

Convert-VHD –Path <SourceDiskFilePath> –DestinationPath <ConvertedDiskFilePath>

たとえば、ドライブ E の test.vhd という名前のソース ディスクを、同じフォルダー内の test-converted.vhd という名前の名前の変換されたディスクに変換する場合は、次のコマンドを実行します。

Convert-VHD –Path E:\vms\testvhd\test.vhd –DestinationPath E:\vms\testvhd\test-converted.vhd

VHD を変換する場合、PowerShell は [ソース ディスクからコピー] オプションに基づいて ソース VHD の データを使用します。 詳細については、「 Convert-VHD」を参照してください。

ディスクの配置を確認する

ディスクを変換した後は、PowerShell で コマンドを実行してGet-VHD変数をチェックして、最適な 4 KB アライメントが使用されていることを確認できます。 ソース ディスクと変換されたディスクのコマンドを実行し、値を比較して、変換されたディスクが 4 KB のアライメント対応であることを確認します。

ディスクの配置を表示するには:

  1. PowerShell のウィンドウを開きます。

  2. Get-VHD コマンドを実行して、ソース ディスクの配置設定を表示します。

    Get-VHD –Path <SourceVHDFilePath>
    
  3. 出力で、 Alignment プロパティの値に注目してください。 この例では、値は 0 です。つまり、ディスクは 4 KB のアライメントに対応していません。

    Path                    : <SourceVHDFilePath>
    VhdFormat               : VHD
    VhdType                 : Dynamic
    FileSize                : 69245440
    Size                    : 10737418240
    MinimumSize             : 10735321088
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 2097152
    ParentPath              :
    FragmentationPercentage : 10
    Alignment               : 0
    Attached                : False
    DiskNumber              :
    IsDeleted               : False
    Number                  :
    
  4. Get-VHD コマンドをもう一度実行しますが、今度は変換されたディスクのファイル パスを使用します。

    Get-VHD –Path <ConvertedDiskFilePath>
    
  5. 出力で、 Alignment プロパティの値を確認します。 この値は 1する必要があります。これは、ディスクが新しい VHD 形式に正常に変換され、4 KB のアライメント対応であることを意味します。

    Path                    : <ConvertedDiskFilePath>
    VhdFormat               : VHD
    VhdType                 : Dynamic
    FileSize                : 69369856
    Size                    : 10737418240
    MinimumSize             : 10735321088
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 2097152
    ParentPath              :
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsDeleted               : False
    Number                  :
    

VHDX 形式

VHDX は、Windows Server 2012 で導入された更新されたハード ディスク形式です。 この形式では、最大 64 テラバイトの容量を備えた回復性のある高パフォーマンスの仮想ディスクを作成できます。

Windows Server 2016 以降にアップグレードする場合は、すべての VHD ファイルを VHDX 形式に変換することをお勧めします。 VHDX 形式をサポートしていない以前の Hyper-V リリースに VM を移動する必要がある場合にのみ、VHD 形式でファイルを保持します。

VHDX 形式の利点を次に示します。

  • 最大 64 テラバイトの仮想ハード ディスクストレージ容量のサポート

  • VHDX メタデータ構造の更新をログに記録することで、電源障害時のデータ破損に対する保護

  • OS のバージョンや適用されたパッチなど、ユーザーが記録する内容に基づいて、ファイルのカスタム メタデータを格納します

VHDX 形式には、いくつかのパフォーマンス機能も用意されています。

  • 仮想ハード ディスク形式のアラインメントが改善され、大容量セクター ディスクのパフォーマンスが向上しました

  • 動的ディスクと差分ディスクのブロック サイズを大きくし、ディスクがワークロード要件に合わせて調整できるようにする

  • 4 KB のセクター用に設計されたアプリケーションとワークロードで使用される場合のパフォーマンス向上をサポートする 4 KB の論理セクター仮想ディスク

  • データを表現する効率により、より小さなファイル サイズを生成し、基になる物理ストレージ デバイスが未使用領域を再利用できるようにする

    トリミングには、パススルー ディスクまたは SCSI ディスクとトリム互換ハードウェアが必要です。

仮想ファイル

VHD ファイルには、次の 3 種類があります。

  • 固定ファイルは回復性とパフォーマンスを向上させるものであり、ホスティング値のストレージがアクティブに監視されていない場合に使用する必要があります。 実行時に VHD ファイルを展開するときに十分なディスク領域があることを確認します。 任意のディスク形式で使用できます。

  • 動的ファイルは、回復性を保証し、デプロイに必要なディスク領域を割り当てることを目的としています。 VHDX でのみ使用できます。

  • 差分ファイルは、ディスク I/O パフォーマンスを維持するために VM スナップショット チェーンを短く保ちます。 任意のディスク形式で使用できます。

固定ファイルの種類

固定 VHD ファイルを作成すると、システムはそれに対して領域を割り当てます。 固定ファイルは断片化する可能性が低く、1 つの I/O が複数の I/O に分割された場合の I/O スループットが低下します。 また、読み取り操作と書き込み操作でブロックのマッピングを検索する必要がないため、3 つのファイル オプションの CPU オーバーヘッドも最も低くなります。

最適な回復性とパフォーマンスが必要な場合は、固定ファイルの種類を使用することをお勧めします。

動的ファイルの種類

動的 VHD ファイルを作成すると、システムはオンデマンドで領域を割り当てます。 ファイル内のブロックは割り当て済みブロックとして開始され、ファイル内に未割り当てブロックをバックするスペースはありません。 ブロックが最初の書き込みを受け取ったら、仮想化スタックは VHD ファイル内のブロックに領域を割り当て、メタデータを更新する必要があります。 この割り当てにより、書き込みに必要なディスク I/O の数が増え、CPU 使用率が増加します。 既存のブロックに対する読み取りと書き込みでは、メタデータ内のブロックのマッピングを参照すると、ディスク アクセスと CPU オーバーヘッドが発生します。

VHDX ファイルを使用している場合は、ホスティング ボリューム上のストレージをアクティブに監視していない場合は、動的ファイルの種類を使用することをお勧めします。 実行時に VHD ファイルを展開するときに十分なディスク領域があることを確認します。

差分ファイルの種類

差分ファイルは、ディスクへの書き込みを格納する VM のスナップショットです。 既存の書き込みを行わずにブロックに書き込む場合、システムは動的に拡張する VHD と同様に VHD ファイルに領域を割り当てます。 ブロックに既に書き込みが含まれている場合、システム サービスは VHD ファイルから操作を読み取ります。 それ以外の場合は、親 VHD ファイルからブロックを処理します。 どちらの場合も、システムはメタデータを読み取ってブロック マッピングを決定します。 この VHD への読み取りと書き込みでは、CPU の消費が多く、固定 VHD ファイルよりも多くの I/O が発生する可能性があります。

スナップショットが少ない場合、ストレージ I/O は通常よりも多くの CPU を使用できる可能性がありますが、I/O 集中型のサーバー ワークロードを除き、パフォーマンスに大きな影響を与えることはありません。 VM スナップショットの大規模なチェーンを作成して使用すると、パフォーマンスの問題が発生します。 差分ファイルでは、システムは VHD から読み取るためだけに、さまざまな差分 VHD 内の要求されたブロックのチェックを行う必要があります。 差分ファイルを使用する場合は、適切なディスク I/O パフォーマンスを維持するためにスナップショット チェーンを短くすることをお勧めします。

サイズの考慮事項

ディスクの最適化を計画するときは、ブロック サイズとセクター サイズの両方を考慮する必要があります。 このセクションでは、ブロックとセクターのサイズ設定に関する推奨事項について説明します。

ブロック サイズ

ブロック サイズはパフォーマンスに大きな影響を与える可能性があるため、ディスクを使用して、ブロック サイズをワークロードの割り当てパターンと一致することをお勧めします。 アプリケーションが 16 MB のチャンクでブロックを割り当てる場合は、理想的には 16 MB の VHD ブロック サイズを使用する必要があります。 2 MB を超えるブロック サイズは、VHDX ファイル形式を使用する VHD でのみ可能です。 ブロック サイズがランダム I/O ワークロードの割り当てパターンよりも大きい場合、VHD がホスト上で使用する領域の量が増加します。

セクター サイズ

ソフトウェア組織は、多くの場合、512 バイトのディスク セクターに依存していますが、業界標準は 4 KB のディスク セクターに移行しています。 セクター サイズの変化によって発生する可能性のある互換性の問題を減らすために、ハード ドライブ ベンダーは、 512 エミュレーション ドライブ (512e) と呼ばれる移行サイズを導入しています。

エミュレーション ドライブは、フォーマット効率の向上やエラー修正コード (ECC) のスキームの改善など、4 KB のディスク セクター ネイティブ ドライブによって提供される利点の一部を提供します。 エミュレーション ドライブでは、ディスク インターフェイスで 4 KB のセクター サイズを公開するときに、互換性の問題が少なくなります。

4 KB のセクターを最大限に活用するには、512 バイトのディスク セクターではなく VHDX 形式を使用することをお勧めします。 ディスク サイズ間の互換性の問題を減らすために、移行サイズ設定用に 512e ドライブを実装します。

512e ディスクでの移行サイズのサポート

512e ディスクは、物理セクターに関してのみ書き込み操作を実行できます。 この種類のディスクは、システムがそれに対して提供する512バイトのセクターに直接書き込むことができません。 ディスクには、書き込み操作を可能にする内部プロセスがあります。これには、次の順序で行う Read-Modify-Write (RMW) 操作が含まれます。

  • 最初に、ディスクは 4 KB の物理セクターを内部キャッシュに読み取ります。 キャッシュには、書き込み操作で参照される 512 バイトの論理セクターが含まれています。

  • 次に、ディスクは 4 KB バッファー内のデータを変更して、更新された 512 バイトセクターを含めます。

  • 最後に、ディスクは更新された 4 KB バッファーをディスク上の物理セクターに書き戻します。

RMW プロセスがパフォーマンスに与える全体的な影響は、ワークロードによって異なります。 RMW プロセスでは、次の理由により、仮想ハード ディスクのパフォーマンスが低下する可能性があります。

  • 動的 VHD と差分 VHD には、データ ペイロードの前に 512 バイトのセクター ビットマップがあります。 フッター、ヘッダー、および親ロケーターは、512 バイトのセクターにアラインされます。 仮想ハード ディスク ドライバーでは、512 バイトの書き込み操作を実行してこれらの構造体を更新するのが一般的です。これにより、ディスクで RMW プロセスが実行されます。

  • 4 KB は NTFS の既定のクラスター サイズであるため、アプリケーションは通常、4 KB のサイズの倍数で読み取りおよび書き込み操作を実行します。 動的および差分仮想ハード ディスクには、データ ペイロード ブロックの前に 512 バイトのセクター ビットマップがあります。 このビットマップにより、4 KB ブロックが物理 4 KB 境界に合わせません。 次の図は、物理 4 KB の境界に合わない、強調表示された VHD 4 KB ブロックを示しています。

    物理 4 KB の境界と一致しない VHD 4 KB ブロックの図。

現在のパーサーがペイロード データを更新する 4 KB の書き込み操作ごとに、ディスク上の 2 つのブロックに対して 2 つの読み取りが行われます。 その後、システムはブロックを更新し、2 つのディスク ブロックに書き戻します。 Windows Server 2016 の Hyper-V は、VHD スタック上の 512e ディスクに対するいくつかのパフォーマンスの影響を軽減します。 Hyper-V は、VHD 形式で 4 KB の境界に配置するための構造を準備します。 この軽減策により、仮想ハード ディスク ファイル内のデータへのアクセスおよび仮想ハード ディスク メタデータ構造の更新に対する RMW の影響を回避できます。

前述のように、以前のバージョンの Windows Server からコピーされた VHD は、4 KB に自動的に配置されません。 [ ソース ディスクからコピー ] オプションを使用して、 Convert-VHD コマンドを使用して、ディスクを最適な位置に手動で変換できます。

既定では、VHD は 512 バイトの物理セクター サイズで公開されます。 この方法により、以前のバージョンの Windows Server からアプリケーションと VHD を移行するときに、物理セクター サイズに依存するアプリケーションが影響を受けないようにします。

既定では、システムは 4 KB の物理セクター サイズの VHDX ディスクを作成し、通常のディスクとより大きなセクター ディスクでパフォーマンス プロファイルを最適化します。

ディスク サイズ間の互換性の問題を減らすために、移行サイズ設定用に 512e ドライブを実装することをお勧めします。 4 KB のセクターを最大限に活用するには、VHDX 形式を使用します。

ネイティブ 4 KB ディスク

Windows Server 2012 R2 以降の Hyper-V では、4 KB のネイティブ ディスクがサポートされています。 仮想ストレージ スタックレイヤーにソフトウェア RMW アルゴリズムを実装することで、VHD ディスク データを 4 KB のネイティブ ディスクに格納することもできます。 このアルゴリズムは、512 バイトのアクセス要求と更新要求を、対応する 4 KB のアクセスと更新に変換します。

VHD ファイルは 512 バイトの論理セクター サイズ のディスクとしてのみ公開できるため、512 バイトの I/O 要求を発行するアプリケーションがある可能性があります。 このような場合、ストレージ スタック層の RMW アルゴリズムは要求を満たし、パフォーマンスの低下を引き起こします。 論理セクター サイズが 512 バイトの VHDX ディスクでも同じ結果が発生します。

VHDX ファイルを 4 KB の論理セクター サイズ ディスクとして公開するように構成できます。 この実装は、4 KB のネイティブ物理デバイスでホストされているディスクのパフォーマンスに最適な構成です。 ただし、4 KB の論理セクター サイズで、仮想ディスクを使用するゲストとアプリケーションの両方がサポートされていることを確認してください。 VHDX 形式は、4 KB の論理セクター サイズ デバイスで正しく動作します。

パフォーマンスが低下する可能性があるため、VHD ファイルと VHDX ファイルで 4 KB のネイティブ ディスクを使用しないことをお勧めします。 シナリオで 4 KB のネイティブ ディスクが必要な場合は、4 KB の論理セクター サイズ デバイスで VHDX 形式を使用する必要があります。

パススルー ディスク

VM 移行シナリオで導入される制限があるため、パススルー ディスクの使用は避けてください。

VHD ファイルではなく、VM 内の VHD を物理ディスクまたは論理ユニット番号 (LUN) に直接マッピングすることは 、パススルー ディスク パススルー ディスクと呼ばれ、ルート パーティション内の NTFS ファイル システムをバイパスできます。これにより、ストレージ I/O の CPU 使用率が削減されます。 ただし、パススルー ディスクを使用すると、物理ディスクや LUN の移行が VHD ファイルよりもマシン間で困難になるリスクも伴います。

高度なストレージ機能

このセクションでは、高度なストレージ機能について考慮する必要があるパフォーマンスの最適化について説明します。

サービスの記憶域の品質 (QoS)

Windows Server 2012 R2 以降では、Hyper-V には、VM 上の記憶域に特定のサービス品質 (QoS) パラメーターを設定する機能が含まれています。 記憶域 QoS を実装して、追加のストレージ パラメーターにアクセスし、仮想ハード ディスクの最大および最小 IOPS しきい値を設定し、ディスクのパフォーマンスを監視することをお勧めします。 これらのパラメーターを実装すると、次の利点を得ることができます。

  • マルチテナント環境でストレージ パフォーマンスの分離を構成する

  • 仮想ハード ディスクの 1 秒あたりの最大および最小の入出力操作 (IOPS) を指定する

    • 管理者は、ストレージ I/O を調整して、1 つのテナントが他のテナントに影響を与える可能性のある過剰なストレージ リソースを消費しないようにすることができます。 最適なパフォーマンスを得るためのしきい値をシステムが満たしていない場合は、最小 IOPS 値を設定し、通知を受信します。 正規化された IOPS の観点から最大または最小の IOPS 値を指定します。ここでは、8 KB のデータごとに I/O として指定します。
  • ストレージ I/O パフォーマンスが定義されたしきい値を下回った場合に通知を受け取り、VM ワークロードを効率的に実行する

  • VM メトリック インフラストラクチャのストレージ パラメーターにアクセスし、管理者がパフォーマンスとチャージバック関連のパラメーターを監視できるようにします

ただし、記憶域 QoS には次の制限があることにも注意してください。

  • 仮想ディスクでのみ使用できます

  • 差分ディスクは、別のボリュームに親仮想ディスクを持つことができません

  • レプリカ サイトの QoS がプライマリ サイトとは別に構成されている

  • 記憶域 QoS は共有 VHDX をサポートしていません

詳細については、「 Hyper-V の記憶域のサービス品質」を参照してください。

大規模な VM の NUMA I/O レジストリ設定

Windows Server 2012 以降では、仮想の一様でないメモリ アクセス (NUMA) トポロジを Hyper-V VM に投影できます。 NUMA のサポートにより、大量のメモリまたは大規模な VM で構成された VM で実行されているワークロードのパフォーマンス が向上します。 このサポートを有効にするには、大規模な VM 構成では、I/O スループットの観点からスケーラビリティが必要です。 大規模な VM の例として、64 個の仮想プロセッサで実行されている Microsoft SQL Server があります。

次の Windows Server 拡張機能は、大規模な VM の I/O スケーラビリティ要件を満たしています。

  • ゲスト デバイスとホスト ストレージ スタック間の通信チャネルを増やします。

  • 高価なプロセッサ間の割り込みを回避するために、仮想プロセッサ間の割り込み分散を伴う、より効率的な I/O 完了メカニズム。

レジストリ キー

Windows Server NUMA レジストリ キーの設定を使用して、大規模な VM で実行されているワークロードのパフォーマンスを向上することをお勧めします。

前のセクションの拡張機能をサポートし、チャネルの数を調整できるように、いくつかのレジストリ エントリを追加および更新しました。 エントリは HKLM\System\CurrentControlSet\Enum\VMBUS\<device id>\<instance id>\StorChannelにあります。

パスの <device id>\<instance id>\ 部分は、構成の関連する値に対応します。 これらのレジストリ エントリは、I/O 完了を処理する仮想プロセッサを、I/O プロセッサとして割り当てられたアプリケーションの仮想 CPU に合わせて調整します。 システムは、デバイスのハードウェア キーに基づいてアダプターごとにレジストリ設定を構成します。

考慮すべき 2 つの主要な設定を次に示します。

  • ChannelCount (DWORD) は、デプロイで使用できる通信チャネルの合計数です。 最大値は 16 です。 チャネル数の既定値は、仮想プロセッサの数を 16 で割った値です。

  • ChannelMask (QWORD) は、チャネルのプロセッサ アフィニティです。 このキー設定を指定しない場合、または値を 0 に設定しない場合、チャネル マスクは、通常のストレージまたはネットワーク チャネルの既存のチャネル分散アルゴリズムに既定で設定されます。 既定のアクションにより、ストレージ チャネルがネットワーク チャネルと競合しないようにします。

オフロードされたデータ転送のインテグレーション

オフロード データ転送 (ODX) 操作を使用して、VM ワークロードが物理環境で可能な方法で ODX 対応ストレージを使用できるようにすることをお勧めします。

VHD の重要なメンテナンス タスク (マージ、移動、圧縮など) には、大量のデータのコピーが含まれます。 データをコピーする現在の方法では、システムが異なる場所へのデータの読み取りと書き込みを行う必要があります。これは時間がかかり、VM のサービスに使用されていた可能性のある CPU リソースとメモリ リソースを使用します。

記憶域ネットワーク (SAN) ベンダーは、ODX と呼ばれるハードウェア機能を提供できます。 この機能により、大量のデータに対するほぼ瞬時のコピー操作が提供されます。 ODX を使用すると、ディスクではなくシステムで、特定のデータ セットをある場所から別の場所に移動する方法を指定できます。

Windows Server 2012 以降の Hyper-V では、ゲスト OS からホスト ハードウェアにコピーされたデータを渡す ODX 操作がサポートされています。 ワークロードでは、非仮想化環境の場合と同様に、ODX 対応ストレージを使用できます。 Hyper-V ストレージ スタックでは、VHD のメンテナンス操作中に ODX 操作を発行することもできます。たとえば、ディスクのマージや、大規模なデータ移行中の移行メタ操作の格納などです。

マップ解除通知の統合

マップ解除通知を使用して、VHDX ファイルの効率を高め、基になる物理ストレージ デバイスが未使用領域を再利用できるようにすることをお勧めします。

VHD ファイルは、使用可能な領域を他のファイルと共有する記憶域ボリューム上に存在します。 ファイル サイズは大きくなる傾向があるため、VHD ファイルは大量の領域を占有する可能性があります。 記憶域スペースの需要が高いほど、IT ハードウェアの予算に影響します。つまり、可能な限り物理領域の使用を最適化する必要があります。

Windows Server 2012 より前のバージョンの Windows Server では、ゲスト OS と Hyper-V ホストの Windows 記憶域スタックに制限があり、記憶域スペースを最適化できません。 アプリケーションが VHD 内のコンテンツを削除しても、記憶域スペースは破棄されたままです。 システムは VHD または物理ストレージ デバイスに削除された情報を通知しないため、Hyper-V ストレージ スタックは VHD ベースの仮想ディスク ファイルの領域を最適化できませんでした。 その結果、基になるストレージ デバイスは、削除されたデータが占有する未使用の領域を再利用できませんでした。

Windows Server 2012 の時点で、Hyper-V では マップ解除通知がサポートされています。 この機能により、VHDX ファイルは削除されたデータをストレージ スタックに報告できます。これにより、ファイル サイズのトリミングを維持し、スタックが他の用途のために未使用の記憶域領域を再利用できるため、効率が最大化されます。

ゲスト OS からの unmap コマンドがホスト仮想記憶域スタックに到達できるのは、Hyper-V 固有の SCSI、対応 IDE、および仮想ファイバー チャネル コントローラーだけです。 VHD では、VHDX としてフォーマットされた仮想ディスクのみがゲスト OS からのコマンド unmap サポートします。