ハードウェア アクセラレーションを使用すると、ESXi ホストをブロック ストレージ デバイス、ファイバ チャネル、または iSCSI と統合して、Full Copy、Block Zeroing、Hardware Assisted Locking などのストレージ アレイ操作を使用できます。

ESXi ハードウェア アクセラレーションは次のアレイ操作をサポートします。

  • Full Copy。クローン ブロックまたはコピー オフロードとも呼ばれます。ホストにデータの読み込みや書き出しを実行させることなく、ストレージ アレイはアレイ内のデータをフル コピーできます。この操作によって、仮想マシンのクローン作成、テンプレートからのプロビジョニング、vMotion を使用した移行のときに、時間が短縮され、ネットワークの負荷が軽減されます。
  • Block Zeroing。Write Same とも呼ばれます。以前に書き込まれたデータが存在しない、新たに割り当てられたストレージを提供するために、ストレージ アレイは多数のブロックをゼロアウトできます。この操作によって、仮想マシンの作成と仮想ディスクのフォーマットのときに、時間が短縮し、ネットワークの負荷が軽減されます。
  • Hardware Assisted Locking。Atomic Test and Set(ATS)とも呼ばれています。SCSI 予約を使用することなく、個別の仮想マシンのロックをサポートします。この操作によって、SCSI 予約のときのように LUN 全体ではなく、セクターごとにディスクをロックできます。

ハードウェア アクセラレーションのサポートについては、ベンダーにご確認ください。一部のストレージ アレイは、ストレージ側でサポートを有効にする必要があります。

ホストでは、ハードウェア アクセラレーションがデフォルトで使用可能になっています。ストレージがハードウェア アクセラレーションをサポートしない場合には、無効にできます。

ハードウェア アクセラレーションに加えて、ESXi ではアレイ シン プロビジョニングをサポートしています。詳細については、ESXi とアレイ シン プロビジョニングを参照してください。

ブロック ストレージ デバイスのハードウェア アクセラレーションの無効化

ホストでは、ブロック ストレージ デバイスのハードウェア アクセラレーションはデフォルトで有効になっています。vSphere Client の詳細設定を使用して、ハードウェア アクセラレーション操作を無効化できます。

ほかの詳細設定と同様に、ハードウェア アクセラレーションを無効にする前に、VMware のサポート チームに相談してください。

手順

  1. vSphere Client で、ESXi ホストに移動します。
  2. [設定] タブをクリックします。
  3. [システム] メニューの [システムの詳細設定] をクリックします。
  4. ハードウェア アクセラレーションを無効にするには、以下のオプションの値を 0 に変更します。
    • VMFS3.HardwareAcceleratedLocking
    • DataMover.HardwareAcceleratedMove
    • DataMover.HardwareAcceleratedInit

ブロック ストレージ デバイスでのハードウェア アクセラレーションの管理

ブロック ストレージ アレイを統合するため、vSphere は Storage APIs - Array Integration (VAAI) と呼ばれる ESXi の拡張機能を使用します。この統合により、vSphere はアレイのハードウェア操作を使用できます。

vSphere 5.x 以降のリリースでは、これらの拡張は T10 SCSI のコマンドとして実装されています。その結果、T10 SCSI 規格をサポートするデバイスを使用すれば、ESXi ホストは直接通信することができるため、VAAI プラグインを必要としません。

デバイスが T10 SCSI をサポートしていないか、部分的にしかサポートしていない場合、ESXi は、ホストにインストールされている VAAI プラグインを使用する設定に戻ります。ホストは、T10 SCSI コマンドとプラグインを組み合わせて使用することもできます。VAAI プラグインはベンダー固有で、VMware またはパートナーによって開発可能です。VAAI 対応のデバイスを管理するには、ホストは VAAI フィルタとベンダー固有の VAAI プラグインをデバイスに接続します。

ストレージが VAAI プラグインを必要とするか、T10 SCSI コマンドによるハードウェア アクセラレーションをサポートするかの詳細については、『VMware 互換性ガイド』を参照するか、ストレージ ベンダーにお問い合わせください。

いくつかの esxcli コマンドを使用して、ハードウェア アクセラレーションのサポート情報をストレージ デバイスに照会できます。VAAI プラグインを必要とするデバイスには、要求ルール コマンドも使用できます。esxcli コマンドの詳細については、『ESXCLI スタート ガイド』 を参照してください。

ハードウェア アクセラレーション プラグインおよびフィルタの表示

T10 SCSI 規格をサポートしないデバイスと通信するには、ホストは単一の VAAI フィルタとベンダー固有の VAAI プラグインを使用します。esxcliコマンドを使用して、システムに現在ロードされているハードウェア アクセラレーション フィルタとプラグインを表示します。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • esxcli storage core plugin list --plugin-class=value コマンドを実行します。
    value には、次のパラメータのいずれかを入力します。
    • VAAIと入力してプラグインを表示します。
      このコマンドの出力は、次のようになります。
      #esxcli storage core plugin list --plugin-class=VAAI
      Plugin name         Plugin class
      VMW_VAAIP_EQL       VAAI
      VMW_VAAIP_NETAPP    VAAI
      VMW_VAAIP_CX        VAAI
      
    • Filterと入力してフィルタを表示します。
      このコマンドの出力は、次の例のようになります。
      esxcli storage core plugin list --plugin-class=Filter
      Plugin name  Plugin class 
      VAAI_FILTER  Filter

ハードウェア アクセラレーションのサポート ステータスの検証

esxcliコマンドを使用して、特定のストレージ デバイスのハードウェア アクセラレーションのサポート ステータスを確認します。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • esxcli storage core device list -d=device_ID コマンドを実行します。
    出力に、ハードウェア アクセラレーション (VAAI) のステータスが表示されます。 ステータスは、「不明」、「サポート」、または 「未サポート」 のいずれかです。
    # esxcli storage core device list -d naa.XXXXXXXXXXXX4c
    naa.XXXXXXXXXXXX4c
     Display Name: XXXX Fibre Channel Disk(naa.XXXXXXXXXXXX4c)
     Size: 20480
     Device Type: Direct-Access
     Multipath Plugin: NMP
     XXXXXXXXXXXXXXXX
     Attached Filters: VAAI_FILTER
     VAAI Status: supported
     XXXXXXXXXXXXXXXX
    

ハードウェア アクセラレーションのサポート詳細の検証

esxcliコマンドを使用して、ブロック ストレージ デバイスがハードウェア アクセラレーションをサポートするかどうかを照会します。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • esxcli storage core device vaai status get -d=device_ID コマンドを実行します。
    VAAI プラグインがデバイスを管理する場合、出力にはデバイスに添付されたプラグイン名が表示されます。出力には、T10 SCSI ベースのプリミティブ(使用可能な場合)のサポート ステータスが表示されます。出力は次の例の通りです。
    # esxcli storage core device vaai status get -d naa.XXXXXXXXXXXX4c
    naa.XXXXXXXXXXXX4c
     VAAI Plugin Name: VMW_VAAIP_SYMM
     ATS Status: supported
     Clone Status: supported
     Zero Status: supported
     Delete Status: unsupported

ハードウェア アクセラレーションの要求ルールのリスト表示

VAAI プラグインによって管理される各ブロック ストレージ デバイスには、2 つの要求ルールが必要です。1 つの要求ルールはハードウェア アクセラレーション フィルタを指定し、もう 1 つの要求ルールはデバイス用のハードウェア アクセラレーション プラグインを指定します。esxcliコマンドを使用して、ハードウェア アクセラレーションのフィルタとプラグインの要求ルールをリスト表示できます。

手順

  1. フィルタ要求ルールをリスト表示するには、esxcli storage core claimrule list --claimrule-class=Filter コマンドを実行します。
    この例では、フィルタの要求ルールは、VAAI_FILTER フィルタが要求するデバイスを指定しています。
    # esxcli storage core claimrule list --claimrule-class=Filter
    Rule Class   Rule   Class   Type   Plugin      Matches                    XCOPY Use Array Reported Values  XCOPY Use Multiple Segments  XCOPY Max Transfer Size KiB
    Filter       65430  runtime vendor VAAI_FILTER vendor=EMC model=SYMMETRIX                           False                        False                            0
    Filter       65430  file    vendor VAAI_FILTER vendor=EMC model=SYMMETRIX                           False                        False                            0
    Filter       65431  runtime vendor VAAI_FILTER vendor=DGC model=*                                   False                        False                            0
    Filter       65431  file    vendor VAAI_FILTER vendor=DGC model=*                                   False                        False                            0
  2. VAAI プラグイン要求ルールをリスト表示するには、esxcli storage core claimrule list --claimrule-class=VAAI コマンドを実行します。
    この例では、VAAI の要求ルールは、VAAI プラグインが要求するデバイスを指定しています。
    esxcli storage core claimrule list --claimrule-class=VAAI
    Rule Class   Rule   Class   Type    Plugin         Matches                   XCOPY Use Array Reported Values  XCOPY Use Multiple Segments  XCOPY Max Transfer Size KiB
    VAAI         65430  runtime vendor  VMW_VAAIP_SYMM vendor=EMC model=SYMMETRIX                          False                        False                            0
    VAAI         65430  file    vendor  VMW_VAAIP_SYMM vendor=EMC model=SYMMETRIX                          False                        False                            0
    VAAI         65431  runtime vendor  VMW_VAAIP_CX   vendor=DGC model=*                                  False                        False                            0
    VAAI         65431  file    vendor  VMW_VAAIP_CX   vendor=DGC model=*                                  False                        False                            0

ハードウェア アクセラレーションの要求ルールの追加

新しいアレイのハードウェア アクセラレーションを構成するには、VAAI フィルタ用と VAAI プラグイン用に 1 つずつ要求ルールを追加します。新規の要求ルールをアクティブにするには、まずルールを定義し、次にそれをシステムにロードします。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  1. esxcli storage core claimrule add --claimrule-class=Filter --plugin=VAAI_FILTER コマンドを実行して、VAAI フィルタ用に新規要求ルールを定義します。
  2. esxcli storage core claimrule add --claimrule-class=VAAI コマンドを実行して、VAAI プラグイン用に新規要求ルールを定義します。
  3. 次のコマンドを実行して、2 つの要求ルールをロードします。
    esxcli storage core claimrule load --claimrule-class=Filter

    esxcli storage core claimrule load --claimrule-class=VAAI

  4. esxcli storage core claimrule run --claimrule-class=Filter コマンドを実行して、VAAI フィルタ要求ルールを実行します。
    注: 実行が必要なのはフィルタ クラスのルールだけです。VAAI フィルタがデバイスを要求するとき、添付に適した VAAI プラグインが自動的に検索されます。

例: ハードウェア アクセラレーションの要求ルールの定義

この例では、VMW_VAAIP_T10 プラグインを使用して、IBM アレイのハードウェア アクセラレーションを構成する方法を示します。次のコマンド シーケンスを使用します。コマンドが取得するオプションについては、マルチパスの要求ルールの追加を参照してください。

# esxcli storage core claimrule add --claimrule-class=Filter --plugin=VAAI_FILTER --type=vendor --vendor=IBM --autoassign

# esxcli storage core claimrule add --claimrule-class=VAAI --plugin=VMW_VAAIP_T10 --type=vendor --vendor=IBM --autoassign

# esxcli storage core claimrule load --claimrule-class=Filter

# esxcli storage core claimrule load --claimrule-class=VAAI

# esxcli storage core claimrule run --claimrule-class=Filter

XCOPY パラメータの構成

XCOPY は、ストレージ アレイにタスクをオフロードするために使用される VAAI プリミティブの 1 つです。たとえば、タスクを実行するために vSphere リソースを使用するのではなく、アレイに対する仮想マシンの移行やクローン作成などの操作の負荷を軽減するのに XCOPY を使用できます。

すべてのストレージ アレイを備えた XCOPY メカニズムを使用できます。このメカニズムは、VMware が開発した SCSI T10 ベースの VMW_VAAIP_T10 プラグインです。XCOPY メカニズムを有効にするには、VAAI クラスの要求ルールを作成します。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • 次のコマンドを使用して、XCOPY オプションを入力します。
    esxcli storage core claimrule add --claimrule-class=VAAI

    コマンドが取得するオプションについては、マルチパスの要求ルールの追加を参照してください。

    オプション 説明
    -a|--xcopy-use-array-values XCOPY コマンドに、アレイからレポートされた値を使用します。
    -s|--xcopy-use-multi-segs XCOPY コマンドで複数セグメントを使用します。--xcopy-use-array-values が指定されている場合にのみ有効です。
    -m|--xcopy-max-transfer-size アレイからレポートされた値とは異なる転送サイズを使用する場合の、XCOPY コマンドの最大転送サイズ (MB)。--xcopy-use-array-values が指定されている場合にのみ有効です。
    -k|--xcopy-max-transfer-size-kib アレイからレポートされた値とは異なる転送サイズを使用する場合の、XCOPY コマンドの最大転送サイズ (KB)。--xcopy-use-array-values が指定されている場合にのみ有効です。

    -e | --extended-xcopy-support

    拡張 XCOPY コマンドを使用して、異なるストレージ アレイにあるデータストア間のデータ コピーを最適化します。

例: XCOPY の構成

  • # esxcli storage core claimrule add -r 914 -t vendor -V XtremIO -M XtremApp -P VMW_VAAIP_T10 -c VAAI -a -s -k 64
  • # esxcli storage core claimrule add -r 65430 -t vendor -V EMC -M SYMMETRIX -P VMW_VAAIP_SYMM -c VAAI -a -s -m 200

拡張 XCOPY パラメータを使用したデータ コピーの最適化

拡張 XCOPY パラメータは、2 つの異なるアレイにあるデータストア間のデータ コピーを最適化します。これにより、ワークロードの移行やクローン作成を実行して、2 つの異なるアレイ間で XCOPY をオフロードできます。

拡張 XCOPY の特性:
  • 要求ルールで新しい拡張 XCOPY オプションを使用します。

    esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -e

    例:

    esxcli storage core claimrule add -t vendor -V DellEMC -M PowerStore -P VMW_VAAIP_T10 -c VAAI --autoassign -e

  • 拡張 XCOPY は T10 プラグインでのみサポートされています。
手順
  1. 次のコマンドを実行して、拡張 XCOPY のステータスを確認します。
    esxcli storage core device vaai status get -d device
    例:
    [root@tpp-h127:~] esxcli storage core device vaai status get -d naa.68ccf098007f554c61148eb1786e6749
    naa.68ccf098007f554c61148eb1786e6749
       VAAI Plugin Name: VMW_VAAIP_T10
       ATS Status: supported
       Clone Status: supported
       Zero Status: supported
       Delete Status: supported
       Ex Clone Status: supported"
    
  2. サポートされているストレージ アレイに対して拡張 XCOPY を有効にします。
    1. VAAI_FILTER プラグイン デバイスが追加されているかどうかを確認します。
      esxcli storage core claimrule list -c Filter
    2. VAAI_FILTER プラグイン用のデバイスが追加されていない場合は、次のコマンドを使用します。
      esxcli storage core claimrule add -t vendor -V vendor -M model name -P VAAI_FILTER -c Filter --autoassign
    3. VAAI_FILTER 要求ルールをロードします。
      esxcli storage core claimrule load -c Filter
    4. T10 プラグインを使用する拡張 XCOPY 要求ルールを追加します。
      esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -e
      注:
      • 手順 d の要求ルールでは、XCOPY コマンドにデフォルトの ESXi 転送サイズと単一セグメントを使用します。アレイの報告値(異なる転送サイズと複数のセグメント)を使用するには、上記のコマンドでオプションのパラメータ -a-s-m|-k を使用します。
      • 拡張 XCOPY の設定は、さまざまなアレイで機能します。
      • ソース デバイスとターゲット デバイスの両方に -a-s-m|-k などのオプション パラメータを含む要求ルールを追加します。この場合、データ転送では、ソース アレイとターゲット アレイの最小転送サイズが考慮されます。

        ソース デバイス:

        esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -a -s

        ターゲット デバイス;

        esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -a -s -e
    5. VAAI_T10 プラグインをロードします。
      esxcli storage core claimrule load -c VAAI
    6. 新しく追加された要求ルール オプションを実行します。
      esxcli storage core claimrule run --claimrule-class=Filter

ハードウェア アクセラレーションの要求ルールの削除

esxcliコマンドを使用して、既存のハードウェア アクセラレーションの要求ルールを削除します。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • 次のコマンドを実行します。
    esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=Filter

    esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=VAAI