ESXi/ESX でVAAI 機能を無効にする
search cancel

ESXi/ESX でVAAI 機能を無効にする

book

Article ID: 344140

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事には、ESXi/ESX の vStorage APIs for Array Integration (VAAI) 機能を無効にする手順が記載されています。環境内のストレージ アレイ デバイスがハードウェア アクセラレーション機能をサポートしていない場合、あるいは VAAI プリミティブに正しく応答しない場合には、VAAI を無効化することができます。

特定のストレージ アレイにおける VAAI のサポートおよび必要なファームウェア レベルについては、ストレージ アレイのベンダーにお問い合わせください。


Symptoms:

免責事項: これは英文の記事 「Disabling the VAAI functionality in ESXi/ESX (1033665)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


Environment

VMware ESX 4.1.x
VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 6.0
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware vSphere ESXi 5.1

Resolution

ESXi/ESX で VAAI を無効にするには、次の詳細な構成設定を修正する必要があります。

  • HardwareAcceleratedMove
  • HardwareAcceleratedInit
  • HardwareAcceleratedLocking
vSphere Client、vSphere CLI、または ESXi/ESX ホストへのコンソール接続を使用してこれらの設定を修正できます。

VMFS-5 ボリュームが VAAI 対応デバイスでフォーマットされている場合、ATS ロック(ATS-only と呼ばれます)が使用されます。VMFS ボリュームが VAAI ATS-only で構成されているかどうかを確認するには、次のコマンドを使用します。

# vmkfstools -Ph -v1 /vmfs/volumes/VMFS-volume-name

出力は次のようになります。

VMFS-5.54 file system spanning 1 partitions.
File system label (if any): ats-test-1
Mode: public ATS-only


vSphere Client を使用して VAAI を無効にする

vSphere Client を使用して VAAI を無効にするには:
  1. VMware vSphere Client を開きます。
  2. [インベントリ] ペインで、ESXi/ESX ホストを選択します。
  3. [構成] タブをクリックします。
  4. [ソフトウェア] の [詳細設定] をクリックします。
  5. [DataMover] をクリックします。
  6. DataMover.HardwareAcceleratedMove 設定を 0 に変更します。
  7. DataMover.HardwareAcceleratedInit 設定を 0 に変更します。
  8. [VMFS3] をクリックします。
  9. VMFS3.HardwareAcceleratedLocking 設定を 0 に変更します。
  10. [OK] をクリックして変更を保存します。
  11. ストレージに接続されているすべての ESXi/ESX ホストにこのプロセスを繰り返します。

vSphere CLI または PowerCLI を使用して VAAI を無効にする

vSphere CLI を使用して VAAI を無効にするには:

注:vSphere CLI (vCLI) がインストールされ、ESXi/ESX ホストに接続できることを確認してください。詳細については、『vSphere Command-Line Interface Installation and Scripting Guide』を参照してください。
  1. 次の vicfg-advcfg コマンドを実行して、3 つの設定を変更します。

    vicfg-advcfg connection_options -s 0 /DataMover/HardwareAcceleratedMove
    vicfg-advcfg connection_options -s 0 /DataMover/HardwareAcceleratedInit
    vicfg-advcfg connection_options -s 0 /VMFS3/HardwareAcceleratedLocking


    :vCLI 接続オプションの使用方法と例については、『vSphere Command-Line Interface Installation and Scripting Guide』の「vCLI 実行の共通オプション」セクションを参照してください。

  2. ストレージに接続されているすべての ESXi/ESX ホストでこのプロセスを繰り返します。再起動は必要ありません。本番環境では、そのとおりに計画されていることを確認してください。


PowerCLI を使用して VAAI を無効にするには、次の手順を実行します。

  • 次のコマンドを実行します。

    Set-VMHostAdvancedConfiguration -VMHost Hostname -Name OptionName -Value 0

    OptionName は、次のうちいずれかです。

    • DataMover.HardwareAcceleratedMove
    • DataMover.HardwareAcceleratedInit
    • VMFS3.HardwareAcceleratedLocking

    例:

    Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name DataMover.HardwareAcceleratedMove -Value 0

    Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name DataMover.HardwareAcceleratedInit -Value 0

    Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name VMFS3.HardwareAcceleratedLocking -Value 0

ESXi/ESX コンソール接続を使用して VAAI を無効にする

ESXi/ESX コンソール接続を使用して VAAI を無効にするには:
  1. ESXi/ESX ホストのコンソールを開きます。詳細については、次を参照してください:

  2. root としてログインします。

  3. ESXi 5.x ホストで、次の esxcli コマンドを実行して、3 つの設定を変更します。

    # esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedMove
    # esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedInit
    # esxcli system settings advanced set --int-value 0 --option /VMFS3/HardwareAcceleratedLocking

    ESXi/ESX 4.1 ホストで、次の esxcfg-advcfg コマンドを実行して、3 つの設定を変更します。

    # esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedMove
    # esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedInit
    # esxcfg-advcfg -s 0 /VMFS3/HardwareAcceleratedLocking

  4. ストレージに接続されているすべての ESXi/ESX ホストでこのプロセスを繰り返します。

    :上記コマンドを実行すると変更が有効になります。ホストの再起動は必要ありません。

  5. 特定のストレージ タイプについて VAAI を無効化する場合は、『vSphere 5 Storage guide』の 176~177 ページに記載されているように、esxcli コマンドを使用して既存のハードウェア アクセラレーションの要求ルールを削除します。

現在の構成値を確認する

構成設定の現在の値を確認するには:
  • HardwareAcceleratedMove
  • HardwareAcceleratedInit
  • HardwareAcceleratedLocking

OptionName を、いずれかの構成設定名に置き換えてください。

  • vSphere CLI を使用する場合:

    vicfg-advcfg connection_options -get OptionName

  • PowerCLI を使用する場合:

    Get-VMHostAdvancedConfiguration -VMHost Hostname -Name OptionName

  • SSH/DCUI を使用する場合:

    # esxcfg-advcfg --get OptionName

    または

    # esxcli system settings advanced list --option OptionName

    例: # esxcli system settings advanced list --option=/VMFS3/HardwareAcceleratedLocking
    #
    esxcli system settings advanced list --option=/DataMover/HardwareAcceleratedMove
    # esxcli system settings advanced list --option=/DataMover/HardwareAcceleratedInit

ATS ハートビート コマンドを無効にする

VMware ESXi 5.5 U2 以降のバージョンで、VMFS ハートビートに対する ATS の使用が導入されました。一部のアレイ メーカーは、他のタスクで ATS がサポートされている場合でも、ハートビート操作に対し ATS を無効にすることを推奨しています。実際の状況によっては、その他のファイルシステム操作に対しては ATS を有効にしたままにし、ハートビート操作に対しては ATS を無効にすると有益な場合があります。ハートビート操作に対して ATS を無効にするには、次のコマンドを実行します。
# esxcli system settings advanced set -i 0 -o /VMFS3/useATSForHBOnVMFS5

現在の設定を調べて、コマンド実行を確認できます。

# esxcli system settings advanced list -o /VMFS3/useATSForHBOnVMFS5

:このドキュメントに記載されているように ATS をグローバルに無効にすると、そのオプションが構成されていない場合でもハートビート操作の ATS も無効になります。


ATS-only ボリュームをパブリックに変更する

ATS-only ボリュームを SCSI を使用してアクセスできるように変更するには、アンマウントしてから再マウントし、変更を適用して、新しいロック メカニズムを初期化します。

ATS-only ボリュームをパブリックに変更するには (SCSI+ATS):

  1. Storage vMotion を使用して、すべての仮想マシンとテンプレートをデータストアから移行します。データストアには何も登録されていないはずです。
  2. すべての ESXi ホストからデータストアをアンマウントします。詳細については、「Unmounting a LUN or detaching a datastore/storage device from multiple VMware ESXi 5.x/6.0 hosts (2004605)」を参照してください。
  3. 次のコマンドを実行して、ボリュームへの非 ATS アクセスを許可します。

    # vmkfstools --configATSOnly 0 /vmfs/volumes/VMFS-volume-name

  4. データストアを ESXi ホストに再マウントします。
  5. 仮想マシンを元のデータストアに移行または再登録します。
  6. 各ターゲット データストアに対しこれらの手順を完了し、パブリック アクセスにするすべてのデータストアが正しく構成されたら、関連する esxcli system settings advanced コマンドを実行して、グローバル構成を ESXi ホストに適用します。

    • Storage vMotion を使用して仮想マシンをデータストアから移行できない場合、一時的に仮想マシンを登録解除し、アンマウントと再マウントを可能にします。

      注意
      これにより、vCenter Server の仮想マシンの統計データが消去されます。関連する仮想マシンが vCenter Server インベントリから削除された場合、ソリューション/プラグイン構成データ(バックアップ ジョブ/スケジュール、レプリケーション/保護マッピングなど)を含む仮想マシン構成データも失われることがあります。

    • データストアに VMware View リンク クローンが存在する場合、それらを Storage vMotion を使用して移行することはできません。リンク クローンは分離して再作成、または登録解除して再登録する必要があります。データストア メンテナンス準備のために、View Manager で適切な変更を行なってください。


Additional Information

詳細については、『ESX Configuration Guide』の「ハードウェア アクセラレーションをオフにする」のセクションを参照してください。

この構成を元に戻し、Array Integration 機能の vStorage API を有効化するには、これらの設定をそれぞれ 0 から 1 に変更します。


ロック メカニズムについては、次を参照してください。
この記事の更新時にアラートを受信する場合は、[Actions] ボックスで Subscribe to Article をクリックしてください。


Impact/Risks:


  • ATS の有効化または無効化は実行中の仮想マシンに影響を与えませんが、この変更はメンテナンス用時間枠で行うことをお勧めします。
  • ATS(アトミック テスト アンド セット)パラメータの無効化は、VMFS5 としてネーティブに作成されたボリュームに対する ESXi 5.5 でのデータ脆弱性の原因になる可能性があります。これらのボリュームでのみ ATS ロックの使用がサポートされています。VMFS3 または VMFS3 から VMFS5 へのアップグレードが可能です。別のオプションは、ESXi ホストをバージョン 6.x にアップグレードすることです。ネーティブ VMFS5 ボリュームでロックモードを設定する機能が追加され、これにより古い SCSI 予約メソッドが機能するようになります。

    :vSphere 6.0 では、ATS モードの変更が改善されました。実行中の仮想マシンで中断なく操作を実行できるようにするため、一時的な状態をサポートするための追加フラグが VMFS メタデータに追加されました。詳細については、『vSphere Storage Guide』の「VMFS のロック メカニズム」セクションを参照してください。

  • VMware Virtual SAN 環境を実行している場合、Hardware Assisted Locking (ATS) が無効になっていないことが重要です。

  • データストアのアンマウントを許可するために仮想マシンを vCenter Server インベントリから登録解除すると、仮想マシンの構成と統計データが失われます。