vSAN クラスタ全体を手動でシャットダウンして、メンテナンスやトラブルシューティングを実行できます。

ワークフローで手動シャットダウンが必要な場合を除き、クラスタのシャットダウン ウィザードを使用します。vSAN クラスタを手動でシャットダウンする場合は、クラスタで vSAN を無効にしないでください。

注: vSphere with Tanzu 環境では、コンポーネントのシャットダウンと起動を所定の順序で行う必要があります。詳細については、『 VMware Cloud Foundation Operations Guide』の「Shutdown and Startup of VMware Cloud Foundation」を参照してください。

手順

  1. vSAN クラスタをシャットダウンします。
    1. vSAN 健全性サービスをチェックし、クラスタが良好な状態であることを確認します。
    2. vCenter Server が vSAN クラスタにホストされていない場合は、クラスタで実行されているすべての仮想マシンをパワーオフします。vCenter ServervSAN クラスタでホストされている場合、vCenter Server 仮想マシンをパワーオフしないでください。
    3. [構成] タブをクリックし、HA を無効にします。これにより、クラスタはホストのシャットダウンを障害として登録しません。

      vSphere 7.0 U1 以降の場合は、vCLS 退避モードを有効にします。詳細については、https://kb.vmware.com/s/article/80472にある VMware のナレッジベースの記事を参照してください。

    4. すべての再同期タスクが完了していることを確認します。
      [監視] タブをクリックし、 [vSAN] > [オブジェクトの再同期] の順に選択します。
    5. vCenter ServervSAN クラスタにホストされている場合、vCenter Server 仮想マシンをパワーオフします。
      vCenter Server 仮想マシンを実行するホストをメモします。これは、 vCenter Server 仮想マシンを再起動する必要があるホストです。
    6. クラスタの ESXi ホストで次のコマンドを実行して、vCenter Server からのクラスタ メンバーの更新を無効にします。すべてのホストで次のコマンドを実行します。
      esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
    7. 監視ホスト以外のクラスタの任意のホストにログインします。
    8. そのホストでのみ、次のコマンドを実行します。複数のホストで同時にコマンドを実行すると、競合状態が発生し、予期しない結果になる可能性があります。
      python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare

      コマンドを実行すると、次のメッセージが表示されます。

      Cluster preparation is done.
      注:
      • コマンドが正常に完了すると、クラスタが完全にパーティション分割されます。
      • エラーが発生した場合は、エラー メッセージに基づいて問題を解決し、vCLS 退避モードを再度有効にします。
      • クラスタ内のホストが不良な状態か、切断されている場合は、ホストを削除してからコマンドを再度実行します。
    9. すべてのホストをメンテナンス モードに切り替え、[アクションなし] にします。vCenter Server がパワーオフされている場合は、次のコマンドを使用して、ESXi ホストをメンテナンス モードに切り替え、[アクションなし] にします。
      esxcli system maintenanceMode set -e true -m noAction
      すべてのホストでこの手順を行います。
      複数のホストで [アクションなし] を同時に使用する場合、複数のホストを再起動した後にデータが使用不能になるリスクを回避するには、 https://kb.vmware.com/s/article/60424 にある VMware ナレッジベースの記事を参照してください。組み込みツールを使用してクラスタ内のすべてのホストの同時再起動を行うには、 https://kb.vmware.com/s/article/70650 にある VMware ナレッジベースの記事を参照してください。
    10. すべてのホストがメンテナンス モードに切り替わったら、必要なメンテナンス タスクを実行し、ホストをパワーオフします。
  2. vSAN クラスタを再起動します。
    1. ESXi ホストをパワーオンします。
      ESXi がインストールされている物理ボックスをパワーオンします。 ESXi ホストが起動して仮想マシンを検出し、正常に機能します。
      いずれかのホストで再起動に失敗した場合は、手動でホストをリカバリするか、不良な状態のホストを vSAN クラスタから移動する必要があります。
    2. パワーオンした後、すべてのホストが復帰したら、すべてのホストでメンテナンス モードを終了します。vCenter Server がパワーオフされている場合は、ESXi ホストで次のコマンドを使用して、メンテナンス モードを終了します。
      esxcli system maintenanceMode set -e false
      すべてのホストでこの手順を行います。
    3. 監視ホスト以外のクラスタの任意のホストにログインします。
    4. そのホストでのみ、次のコマンドを実行します。複数のホストで同時にコマンドを実行すると、競合状態が発生し、予期しない結果になる可能性があります。
      python /usr/lib/vmware/vsan/bin/reboot_helper.py recover

      コマンドを実行すると、次のメッセージが表示されます。

      Cluster reboot/power-on is completed successfully!
    5. 各ホストで次のコマンドを実行して、すべてのホストがクラスタで使用可能であることを確認します。
      esxcli vsan cluster get
    6. クラスタの ESXi ホストで次のコマンドを実行して、vCenter Server からのクラスタ メンバーの更新を有効にします。すべてのホストで次のコマンドを実行します。
      esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
    7. vCenter Server 仮想マシンがパワーオフされている場合は、再起動します。vCenter Server 仮想マシンがパワーオンされ、実行されるまで待機します。vCLS 退避モードを無効にする方法については、https://kb.vmware.com/s/article/80472にある VMware ナレッジベースの記事を参照してください。
    8. 各ホストで次のコマンドを実行して、すべてのホストが vSAN クラスタに参加していることを確認します。
      esxcli vsan cluster get
    9. vCenter Server から残りの仮想マシンを再起動します。
    10. vSAN 健全性サービスを確認し、未解決の問題を解決します。
    11. (オプション)vSAN クラスタで vSphere 可用性が有効になっている場合は、「Cannot find vSphere HA master agent」というエラーが発生しないように、vSphere の可用性を手動で再起動する必要があります。
      vSphere 可用性を手動で再起動するには、 vSAN クラスタを選択して、次の場所に移動します。
      1. [構成] > [サービス] > [vSphere 可用性] > [編集] > [vSphere HA を無効にする]
      2. [構成] > [サービス] > [vSphere 可用性] > [編集] > [vSphere HA を有効にする]
  3. クラスタ内のホストが不良な状態か、切断されている場合は、ホストをリカバリするか、vSAN クラスタからホストを削除します。vSAN の健全性サービスで使用可能なすべてのホストが緑色で表示された場合にのみ、上記のコマンドを再試行してください。
    3 ノード vSAN クラスタがある場合、1 台のホストで障害が発生すると、 reboot_helper.py recover コマンドは機能しません。管理者として次の操作を行います。
    1. ユニキャスト エージェント リストから障害ホスト情報を一時的に削除します。
    2. 次のコマンドを実行した後、ホストを追加します。
      reboot_helper.py recover
    ホストを削除して vSAN クラスタに追加するには、次のコマンドを実行します。
    #esxcli vsan cluster unicastagent remove -a <IP Address> -t node -u <NodeUuid>
    #esxcli vsan cluster unicastagent add -t node -u <NodeUuid> -U true -a <IP Address> -p 12321