vSphere Storage I/O Control によって、クラスタ全体でストレージ I/O の優先順位付けが可能となり、ワークロードの統合が強化されるため、過剰なプロビジョニングに伴うコストの削減につながります。

Storage I/O Control では、ストレージ I/O リソースを処理するためのシェアと制限の構造を拡張できます。I/O が輻輳状態の間に仮想マシンに割り当てるストレージ I/O の量を制御できます。こうすると重要度の高い仮想マシンに対し、重要度の低い仮想マシンよりも多くの I/O リソースを確実に割り当てることができます。

データストアで Storage I/O Control を有効にすると、ESXi は、そのデータストアとの通信時にホストが監視するデバイスの待ち時間の監視を始めます。デバイスの待ち時間がしきい値を上回ると、そのデータストアは輻輳状態であると見なされ、そのデータストアにアクセスする各仮想マシンに、それぞれのシェアに応じた I/O リソースが割り当てられます。仮想マシンごとにシェアを設定します。必要に基づいて、それぞれの数を調整できます。

I/O フィルタ フレームワークである Sphere API for I/O Filtering (VAIO) により、VMware およびそのパートナーは各 VMDK の I/O を遮断し、VMDK の詳細レベルで必要な機能を提供するフィルタを開発できます。VAIO はストレージ ポリシー ベース管理 (SPBM) とともに動作し、VMDK に関連付けられているストレージ ポリシーを介してフィルタの優先順位を設定できます。

Storage I/O Control は、2 つの手順で設定します。

  1. データストアに対して Storage I/O Control を有効にします。
  2. 各仮想マシンに許可される、ストレージ I/O シェアの数と 1 秒あたりの I/O 処理数 (IOPS) の上限を設定します。

デフォルトでは、すべての仮想マシンのシェアは標準 (1000) に、IOPS は制限なしに設定されます。

注: ストレージ DRS 対応のデータストア クラスタでは、Storage I/O Control がデフォルトで有効となっています。
注: vSphere 8.0 U1 では、仮想マシンの再構成中に LWD I/O フィルタのシームレスなホットアドおよびホットリムーブがサポートされます。
注: この章では、「メモリ」は物理 RAM を指します。

仮想マシン ストレージ ポリシー

仮想マシンのストレージ ポリシーは、仮想マシンのプロビジョニングに不可欠です。ポリシーは、仮想マシンに提供するストレージの種類、仮想マシンをストレージ内に配置する方法、および仮想マシンに提供するデータ サービスを制御します。

vSphere は、デフォルトのストレージ ポリシーを提供しています。ただし、新しいポリシーを定義して割り当てることもできます。

ストレージ ポリシーを作成するには、仮想マシン ストレージ ポリシー インターフェイスを使用します。ポリシーを定義する際は、仮想マシンで実行するアプリケーション用に、さまざまなストレージ要件を指定します。ストレージ ポリシーは、キャッシュ、レプリケーションなどの仮想ディスクの特定のデータ サービスを要求するために使用することもできます。

仮想マシンの作成、クローン作成、または移行の際に、ストレージ ポリシーを適用します。ストレージ ポリシーを適用すると、ストレージ ポリシー ベースの管理 (SPBM) メカニズムは、仮想マシンを対応するデータストアに配置します。また、特定のストレージ環境では、必要なサービス レベルを保証するため、仮想マシンのストレージ オブジェクトをストレージ リソース内にどのようにプロビジョニングして割り当てるかを決定します。また、SPBM は要求された仮想マシンのデータ サービスを有効にします。vCenter Server は、ポリシーのコンプライアンスを監視し、割り当てられているストレージ ポリシーに仮想マシンが違反するとアラートを送信します。

詳細については、『vSphere のストレージ』を参照してください。

I/O フィルタ

基盤となるストレージ トポロジに関わらず、仮想ディスクに関連付けられている I/O フィルタは、仮想マシンの I/O パスに直接アクセスできます。

VMware は、I/O フィルタの特定のカテゴリを提供します。さらに、サードパーティ ベンダーは、I/O フィルタを作成することができます。通常、I/O フィルタはパッケージとして配布され、インストーラを使用して、vCenter ServerESXi ホスト クラスタにフィルタ コンポーネントをデプロイします。

I/O フィルタを ESXi クラスタにデプロイすると、vCenter Server は VASA プロバイダとも呼ばれる I/O フィルタ ストレージ プロバイダを、クラスタ内の各ホストに自動的に構成して登録します。ストレージ プロバイダは、vCenter Server と通信し、I/O フィルタによって提供されるデータ サービスを仮想マシン ストレージ ポリシー インターフェイスに表示できるようにします。これらのデータ サービスは、仮想マシン ポリシーの共通ルールを作成する際に参照できます。仮想ディスクをこのポリシーに関連付けると、仮想ディスクで I/O フィルタが有効になります。

詳細については、『vSphere のストレージ』を参照してください。

ストレージ I/O コントロールの要件

ストレージ I/O コントロールには、要件と制限事項がいくつかあります。

  • ストレージ I/O コントロールが有効になっているデータストアは、単一の vCenter Server システムで管理される必要があります。
  • ストレージ I/O コントロールは、ファイバ チャネルに接続されたストレージ、iSCSI に接続されたストレージ、および NFS に接続されたストレージでサポートされます。Raw デバイス マッピング (RDM) はサポートされていません。
  • ストレージ I/O コントロールは、複数のエクステントを持つデータストアはサポートしません。
  • ストレージの自動階層化機能を持つアレイにバッキングされているデータストアでストレージ I/O コントロールを使用する前に、『VMware ストレージ/SAN 互換性ガイド』 を参照して、自動的に階層化されたストレージ アレイがストレージ I/O コントロールと互換性があると確認されているかどうかを調べてください。

    ストレージの自動階層化機能とは、ユーザーが設定したポリシーおよび現在の I/O パターンに基づいて、LUN/ボリューム、または LUN/ボリュームの一部を別のタイプのストレージ メディア (SSD、FC、SAS、SATA) に移行する、アレイ (またはアレイ グループ) の機能です。これらの自動的な移行/階層化機能を持たないアレイについては、特別な証明は不要です。これには、異なるタイプのストレージ メディア間で手動でデータを移行する機能を提供するアレイも含まれます。

ストレージ I/O コントロールのリソースのシェアおよび制限

各仮想マシンに許可されるストレージ I/O シェアの数と、1 秒あたりの I/O 処理数 (IOPS) の上限を割り当てます。あるデータストアでストレージ I/O の輻輳状態が検出されると、そのデータストアにアクセスする仮想マシンの I/O ワークロードは、各仮想マシンが持つシェアの比率に基づいて調整されます。

ストレージ I/O シェアは、メモリおよび CPU リソースの割り当てに使用されるシェアと似ています。これについては、リソース割り当てのシェア に記述されています。これらのシェアは、ストレージ I/O リソースの配分に関する仮想マシンの相対的な重要性を表します。リソースの競合がある場合、シェア値が高い仮想マシンにストレージ アレイへのアクセスが優先的に割り当てられます。ストレージ I/O リソースを割り当てるときに、仮想マシンに許可する IOPS を制限できます。デフォルトでは、IOPS は制限なしです。

リソースの制限を設定することのメリットとデメリットについては、リソース割り当て制限に記述してあります。仮想マシンに設定する制限を IOPS ではなく 1 秒あたりのメガバイト (Mbps) で考えている場合は、その仮想マシンの一般的な I/O サイズに基づいて Mbps を IOPS に変換できます。たとえば、64 KB I/O のバックアップ アプリケーションを 10Mbps に制限する場合は、160 IOPS に設定します。

ストレージ I/O コントロールのシェアおよび制限の表示

データストアで実行しているすべての仮想マシンのシェアと制限を表示できます。この情報を表示すると、実行しているクラスタに関係なく、そのデータストアにアクセスしているすべての仮想マシンの設定を比較できます。

手順

  1. vSphere Clientで、データストアを参照して移動します。
  2. [仮想マシン] タブをクリックします。
    このタブには、そのデータストアで実行している各仮想マシンとそれに関連するシェアの値、およびデータストア シェアのパーセンテージが表示されます。

ストレージ I/O コントロールのシェアの監視

データストアにアクセスしている仮想マシンの I/O ワークロードを、Storage I/O Control がそれらのシェアに基づいてどのように処理しているかを監視するには、データストアの [パフォーマンス] タブを使用します。

データストアのパフォーマンス チャートでは、次の情報を監視できます。
  • データストアの平均遅延および IOPS の合計
  • ホスト間の遅延
  • ホスト間のキューの深さ
  • ホスト間の読み取り/書き込み IOPS
  • 仮想マシンのディスク間の読み取り/書き込み遅延
  • 仮想マシンのディスク間の読み取り/書き込み IOPS

手順

  1. vSphere Clientで、データストアを参照して移動します。
  2. [監視] タブの [パフォーマンス] をクリックします。
  3. [詳細] を選択します。

Storage I/O Control のリソースのシェアおよび制限の設定

仮想マシンに相対的なシェアの量を割り当てることで、重要度に基づいて仮想マシンにストレージ I/O リソースを割り当てることができます。

仮想マシンのワークロードが非常に似ている場合を除き、シェアは、1 秒あたりの I/O 処理数や MB 数で割り当てを指定するとはかぎりません。高いシェアの仮想マシンは、低いシェアの仮想マシンと比べて、ストレージ デバイスやデータストアでより多くの同時 I/O 処理を保留状態に保つことができます。ワークロードに応じて、2 台の仮想マシンのスループットがそれぞれ異なることがあります。

前提条件

仮想マシン ストレージ ポリシーの作成および仮想マシン ストレージ ポリシーの共通ルールの定義については、『vSphere のストレージ』を参照してください。

手順

  1. vSphere Clientで、仮想マシンを参照して移動します。
    1. データセンター、フォルダ、クラスタ、リソース プール、またはホストを選択して、仮想マシンを検索します。
    2. [仮想マシン] タブをクリックします。
  2. 仮想マシンを右クリックし、[設定の編集] をクリックします。
  3. [仮想ハードウェア] タブをクリックし、リストから仮想ハード ディスクを選択します。[ハード ディスク] を展開します。
  4. ドロップダウン メニューから [仮想マシン ストレージ ポリシー] を選択します。
    ストレージ ポリシーを選択する場合は、手動で [シェア][制限 - IOPS] を構成しないでください。
  5. [シェア] のドロップダウン メニューをクリックし、仮想マシンに割り当てるシェアの量(低、標準、または高)を選択します。
    [カスタム] を選択するとユーザー定義のシェア値を入力できます。
  6. [制限 - IOPS] のドロップダウン メニューをクリックし、仮想マシンに割り当てるストレージ リソースの上限を入力します。
    IOPS は、1 秒あたりの I/O 処理数です。デフォルトでは、IOPS は制限なしです。低 (500)、標準 (1000)、または高 (2000) を選択します。[カスタム] を選択してユーザーが定義するシェアの値を入力することもできます。
  7. [OK] をクリックします。

Storage I/O Control を有効にする

Storage I/O Control を有効にすると、ESXiはデータストアの遅延を監視し、平均遅延がしきい値を超えると、I/O 負荷を調整します。

手順

  1. vSphere Clientで、データストアを参照して移動します。
  2. [設定] タブをクリックします。
  3. [設定] をクリックし、[全般] をクリックします。
  4. [データストア機能][編集] をクリックします。
  5. [Storage I/O Control を有効にする] チェック ボックスをオンにします。
  6. [OK] をクリックします。

結果

[データストア機能] の Storage I/O Control がデータストアで有効になります。

ストレージ I/O コントロールのしきい値の設定

データストアの輻輳しきい値とは、データストアに許容された遅延の上限で、この上限に達すると、Storage I/O Control はシェア値に応じて仮想マシンのワークロードに重み付けをし始めます。

ほとんどの環境では、しきい値の設定を調整する必要はありません。
注意: 2 つの異なるデータストアで同じスピンドルを共有する場合、Storage I/O Control は正常に機能しないことがあります。
輻輳しきい値の設定を変更する場合は、次の考慮事項に従って値を設定します。
  • 通常、値が高いほど、スループットの合計が高くなり、隔離レベルが低くなります。全体の平均遅延がしきい値より高い場合を除いて、スロットルは発生しません。
  • スループットの方が遅延より重要な場合、値を低くし過ぎないでください。たとえば、ファイバ チャネル ディスクの場合、20 ミリ秒より低い値にすると、最大のディスク スループットが小さくなる可能性があります。50 ミリ秒を超える非常に高い値を設定すると、スループット全体で大きなメリットは得られず、遅延が極めて長くなることがあります。
  • 値が低いほどデバイスの遅延は短くなり、仮想マシンの I/O のパフォーマンスの隔離レベルが高くなります。隔離レベルが高いということは、より頻繁にシェア コントロールが実行されることを意味します。デバイスの遅延が短くなると、最も高いシェア値を持つ仮想マシンの I/O の遅延が短くなります。一方、シェアの少ない仮想マシンでは I/O の遅延は長くなります。
  • 非常に低い値(20 ミリ秒よりも低い)を設定すると、デバイスの遅延は短くなり、I/O 間の隔離レベルは向上しますが、データストアのスループットの合計が減少する可能性があります。
  • 極端に高い値または極端に低い値に設定すると、隔離レベルが低下します。

前提条件

Storage I/O Control が有効になっていることを確認します。

手順

  1. vSphere Clientで、データストアを参照して移動します。
  2. [構成] タブをクリックし、[設定] をクリックします。
  3. [全般] をクリックします。
  4. [データストア機能][編集] をクリックします。
  5. [Storage I/O Control を有効にする] チェック ボックスをオンにします。
    Storage I/O Control は、データストアが最大スループットの90%で稼動した場合の遅延を推定して、それに対応するしきい値を自動的に設定します。
  6. (オプション) [輻輳しきい値] を調整します。
    • [最大スループットのパーセント] ドロップダウン メニューから値を選択します。
    最大スループット値の比率は、データストアを推定最大スループットの比率で稼動する際に推定される遅延のしきい値を意味します。
    • [手動] ドロップダウン メニューから値を選択します。
    有効値は 5 ミリ秒~ 100 ミリ秒です。不適切な輻輳しきい値を設定すると、データストア上の仮想マシンのパフォーマンスが低下します。
  7. (オプション) [デフォルトに戻す] をクリックして、輻輳しいき値をデフォルト値(30 ミリ秒)に戻します。
  8. [OK] をクリックします。

Storage DRS とストレージ プロファイルの統合

ストレージ ポリシー ベース管理 (SPBM) を使用すると、Storage DRS によって適用される仮想マシン ポリシーを指定できます。データストア クラスタには、異なる機能プロファイルが指定された一連のデータストアを使用できます。仮想マシンにストレージ プロファイルが関連付けられている場合、Storage DRS は基盤となるデータストアの機能に基づいて配置を適用できます。[]

Storage DRS のストレージ プロファイルとの統合の一環として、Storage DRS クラスタ レベルの詳細オプション EnforceStorageProfiles が導入されています。詳細オプション EnforceStorageProfiles には、0、1、または 2 のいずれかの整数値を設定します。デフォルト値は 0 です。このオプションを 0 に設定すると、Storage DRS クラスタにストレージ プロファイルまたはポリシーが適用されません。このオプションを 1 に設定すると、Storage DRS クラスタにストレージ プロファイルまたはポリシーがソフト適用されます。これは、DRS ソフト ルールに似ています。Storage DRS は、最適なレベルでストレージ プロファイルまたはポリシーに従います。Storage DRS は、必要な場合、ストレージ プロファイルに従いません。Storage DRS アフィニティ ルールは、ストレージ プロファイルの適用が 1 に設定されている場合のみ、ストレージ プロファイルより優先されます。このオプションを 2 に設定すると、Storage DRS クラスタにストレージ プロファイルまたはポリシーがハード適用されます。これは、DRS ハード ルールに似ています。Storage DRS は、ストレージ プロファイルまたはポリシーに違反しません。ストレージ プロファイルは、アフィニティ ルールより優先されます。Storage DRS は、非アフィニティ ルール違反を解決できませんでしたというエラーを生成します。

前提条件

デフォルトでは、Storage DRS は仮想マシンに関連付けられているストレージ ポリシーを適用しません。要件に応じて EnforceStorageProfiles オプションを設定してください。オプションは、デフォルト (0)、ソフト (1)、ハード (2) です。

手順

  1. vSphere Client に管理者としてログインします。
  2. vSphere Client で、Storage DRS クラスタをクリックし、[管理] > [設定] > [Storage DRS] の順に選択します。
  3. [編集] > [詳細オプション] の順にクリックします。
  4. [オプション] 見出しの下のフィールドをクリックし、「EnforceStorageProfiles」と入力します。
  5. 前に入力した詳細オプション名の右の [値] 見出しの下のフィールドをクリックし、0、1、または 2 のいずれかの値を入力します。
  6. [追加] を選択します。
  7. [OK] をクリックします。