esxcliコマンドを使用したvSANディスクグループの管理と構成
search cancel

esxcliコマンドを使用したvSANディスクグループの管理と構成

book

Article ID: 339558

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

免責事項:これは英文の記事「Managing and Configuring a vSAN disk group using esxcli commands」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


ディスク障害やその他のハードウェア障害発生時には、ディスクグループの削除、再作成、マウント、またはアンマウントを行うために CLI が必要になる場合があります。このドキュメントでは、CLIを介してvSANディスクグループを操作する方法について説明します。

Environment

VMware vSAN 6.x
VMware vSAN 7.x
VMware vSAN 8.x

Cause

  • vSAN クラスタ内のホストでディスク障害が発生しています。


  • vmkernel.log で、次のようなMedium Errorが報告されています。
    ####-##-##T05:55:20.854Z cpu16:2097804)ScsiDeviceIO: 4167: Cmd(0x45bfbd2cd688) 0x28, CmdSN 0xb1b9f4 from world 0 to dev "naa.################" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x3 0x11 0x1 Medium Error, LBA: 605786112
    ####-##-##T05:55:22.557Z cpu6:2097805)ScsiDeviceIO: 4167: Cmd(0x45bfbfb1f9c8) 0x28, CmdSN 0xb1ba7b from world 0 to dev "naa.################" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x3 0x11 0x1 Medium Error, LBA: 605786112

Resolution

以下のアクション プランを実行する前に、ESXi ホストのログをチェックし、障害が発生したドライブに関するエラー報告を確認する必要があります。vSAN が該当デバイスを障害と認識しているか、オフラインとしてマークしている場合は、以下の手順に進むことができます。

ハードウェアの問題ではないと判明した場合は、障害ドライブのドライバおよびファームウェアを確認する必要があります。

影響を受けるディスク グループで「重複排除と圧縮 (Deduplication and Compression)」機能が有効になっている場合

  • キャッシュ ディスクの障害 --> ディスク グループ全体がダウンします
  • キャパシティ ディスクの障害 --> ディスク グループ全体がダウンします

「重複排除と圧縮 (Deduplication and Compression)」機能が有効になっていない場合

  • キャッシュ ディスクの障害 --> ディスク グループ全体がダウンします
  • キャパシティ ディスクの障害 --> 障害が発生したディスクのみがダウンします

esxcli コマンドを使用してディスク グループを削除および再作成するには

:これらの手順は、慎重に操作を実行しないとデータ破壊を引き起こす可能性があります。

  1. SSH を使用して、ディスク グループを所有する ESXi ホストにrootユーザーとしてログインします。
  2. 以下のいずれかのコマンドを実行して、ホストをメンテナンス モードに切り替えます。3 つのオプションがあります。
    :Broadcom では ensureObjectAccessibility オプションの使用を推奨しています。ensureObjectAccessibility モードまたは evacuateAllData モードを使用しない場合、データが失われる可能性があります。

    • 推奨
      • データのアクセシビリティを確保する(Ensure accessibility):
        esxcli system maintenanceMode set --enable true -m ensureObjectAccessibility

      • データを退避する(Evacuate data):
        esxcli system maintenanceMode set --enable true -m evacuateAllData

    • 非推奨
      • Broadcom サポートによる推奨がある場合、または障害ディスクのシナリオに対処する場合を除きます。障害ディスクでは、アクセシビリティの確保や完全なデータ移行は使用できません。
      • データを退避しない(Don't evacuate data):
        esxcli system maintenanceMode set --enable true -m noAction


  3. 次のコマンドを実行して、既存のグループ内のキャッシュ ディスクおよびキャパシティ ディスクの UUID を記録します。
    esxcli vsan storage list

    キャパシティ層デバイスの出力例:
    naa.123456###########:
    Device: naa.123456###########
    Display Name: naa.123456###########
    Is SSD: true
    VSAN UUID: ########-####-####-####-########8fa3
    VSAN Disk Group UUID: ########-####-####-####-########d008e
    VSAN Disk Group Name: naa.50000XXXXX1245
    Used by this host: true
    In CMMDS: true
    On-disk format version: 5
    Deduplication: true
    Compression: true
    Checksum: 5356031598619392290
    Checksum OK: true
    Is Capacity Tier: true
    Encryption: false
    DiskKeyLoaded: false

    :キャッシュ ディスクの場合:
    • VSAN UUID と VSAN Disk Group UUID フィールドは一致します。
    • 出力には右記の表示となります:"Is Capacity Tier: false"

  4. その後、ディスク グループを削除します。
    esxcli vsan storage remove -u <VSAN ディスク グループ UUID>

    :次のコマンドを使用して、常にディスク グループの UUID を再確認してください。
    esxcli vsan storage list

    :重複排除が無効になっている既存のディスク グループから、単一の "Absent" 状態のキャパシティ ディスクのみを削除する場合は、削除するディスクに対して -u を使用します。
    esxcli vsan storage remove -u <削除する Absent キャパシティ ディスクの UUID>

    コマンドが失敗した場合は、ホストを再起動して再試行してください。
    :コマンドが失敗し、何らかの理由で再起動を避けたい場合は、この記事の Additional Information セクションの回避策を参照します。

  5. 物理ディスクを交換した場合は、Additional Information セクションを参照します。

  6. オールフラッシュ vSAN の場合、キャパシティ ディスクに適切なタグを付けます。
    1. esxcli vsan storage tag add -d <デバイス id> -t capacityFlash
    2. すべてのキャパシティ ディスクに対して繰り返します。

  7. 次のコマンドを使用してディスク グループを作成します。
    esxcli vsan storage add -s naa.######## -d naa.######## -d naa.######## -d naa.########

    :重複排除が無効になっている既存のディスク グループに単一のキャパシティ ディスクを追加するだけの場合は、既存のディスク グループのキャッシュに -s を使用し、追加するディスクに -d を使用します。
    esxcli vsan storage add -s naa.######## -d naa.########

    ここで、naa.###### はディスク デバイスの NAA ID であり、ディスク デバイスは次のオプションに従って識別されます。
    • -s はキャッシュ ディスクを示します。
    • -d はキャパシティ ディスクを示します。

  8. esxcli vsan storage list コマンドを実行して新しいディスク グループを確認し、すべてのディスクの "In CMMDS:" フィールド出力が true になっていることを確認します。

Additional Information

  • 物理ディスクを交換する場合は、追加の手順が必要です。
    1. Broadcomでは、電源オフやホストのメンテナンスを実行する前に、Resolution のセクションの手順 2 で詳述されているようにノードをメンテナンス モードにすることを推奨します。vSAN ディスクは、次の状況でホット スワップ可能です。
      1. ハイブリッド構成で、コントローラがディスクのホットスワップをサポートしている場合
      2. オールフラッシュ構成で、重複排除と圧縮が無効になっており、コントローラがディスクのホットスワップをサポートしている場合

        コントローラがディスクのホットスワップをサポートしているか不明な場合、または重複排除と圧縮が有効になっている場合は、サポートされていないものとして扱い、アクセシビリティの確保 (Ensure Accessibility) を指定してノードをメンテナンス モードに切り替え、ノードの電源をオフにしてからディスクを交換してください。

        :重複排除と圧縮が有効になっているディスク グループ、または障害が発生したキャッシュ層ディスクの交換では、障害ディスクを交換する前にディスク グループを削除する必要があります。上記の Resolution セクションの手順に従って障害ディスクの対処を実施してください。障害ディスクをホットスワップできる場合は、HBA の再スキャンを必ず実行して、新しいディスクが検出され、使用可能な状態として ESXi に提示されるようにしてください。

    2. SSH 経由で root としてノードにログインし、次のコマンドを実行してすべての HBA を再スキャンします。

      esxcli storage core adapter rescan --all

    3. 次のコマンドを実行して、すべてのディスクがコントローラを介して提示されていることを確認します。

      vdq -iq | less

      すべてのディスクの naa.######## と、SSD ディスクおよびキャパシティ ディスクのタグが一覧表示されます。

    4. 次のコマンドを実行して、該当するディスクを新しいキャパシティ ディスクとしてタグ付けします。

      esxcli vsan storage tag add -d naa.######## -t capacityFlash

      :これはオールフラッシュ環境でのみ必要です。

    5. 次のコマンドを実行して、SSD ディスクをキャッシュ ディスクとしてタグ付けします。

      esxcli vsan storage tag add -s t10.NVMe____INTEL_SSDPEDMD800G4_____

      vdq -iq コマンド出力から正確な名前をメモしておいてください。

    6. 障害が発生したディスクをディスク グループから削除します。

      esxcli vsan storage remove -d naa.########

    7. 新しいキャパシティ層ディスクを追加するには、次を実行します。

      esxcli vsan storage add -s naa.######## -d naa.########

      :add コマンドでの -s オプションは、複数のディスク グループが存在し、どのディスク グループにキャパシティ層ディスクを追加するかを区別する場合にのみ必要です。複数の -d を使用して、ディスク グループに複数のキャパシティ層ディスクを追加することもできます。

  • この記事は、物理ディスクを交換する前にディスクがディスク グループから削除されていない場合にも適用されます。

  • もしディスク グループの削除コマンドが失敗し、何らかの理由で再起動したくない場合は、次の回避策があります。
    1. ホストからキャッシュを物理的に取り外します。
    2. vdq -iH を実行してディスク グループのマッピングを取得し、キャッシュの UUID をコピーします。
    3. 次のコマンドを実行します。

         esxcli vsan storage remove -u <キャッシュディスク uuid>

    4. キャッシュディスクを元に戻します。キャッシュ ドライブ上のメタデータにより、ディスク グループが再び表示される場合があります。その場合は再度 remove コマンドを実行してください。今回は成功するはずです。

  • ディスク グループをマウント/アンマウントする必要がある場合は、次のコマンドに従います。

       esxcli vsan storage diskgroup mount -s <キャッシュ naa.########>
    または
       esxcli vsan storage diskgroup mount -u <キャッシュ ディスク uuid>


       esxcli vsan storage diskgroup unmount -s <キャッシュ naa.########>
    または
       esxcli vsan storage diskgroup unmount -u <キャッシュ ディスク uuid>


  • Managing and Configuring a vSAN disk group using esxcli commands