3 つのノードのうち 2 つが完全に停止して回復できない場合は、動作しないクラスタをリカバリします。

クラスタ内の 3 つの NSX Advanced Load Balancer コントローラ ノードのうち 2 つが完全に停止して回復できない場合、クラスタ クォーラムがないため、クラスタ内の残りのコントローラ ノードの動作は停止としてマークされます。

注:

すべてのサービス エンジンは、いわゆる「ヘッドレス モード」で動作し続けます。

以下では、可用性の高い 3 ノード クラスタに戻るために使用する手順について説明します。

  1. クラスタをリカバリするには、残りの良好なコントローラ ノードを最初に単一ノード クラスタ構成に変換する必要があります。その後、2 つの新しいノードをクラスタに追加できます。

  2. コントローラをリカバリするには、構成ありと構成なしの 2 つの方法があります。1 つのノードを構成ありでリカバリしてコントローラ リーダーにすることが重要です。それによって他のノードはクラスタにフォロワーとして追加されます。

    • 構成ありでコントローラをリカバリするには、/opt/avi/scripts/recover_cluster.py スクリプトを使用します。

    • 構成なしでコントローラをリカバリする(実質的に出荷時の設定へのリセットになります。通常この操作は必要ありません)には、代わりに /opt/avi/scripts/clean_cluster.py スクリプトを使用します。これは元に戻せません。コントローラによるデータベースの再作成には時間がかかります。/opt/avi/scripts/clean_cluster.py スクリプトは次のタスクを実行します。

      • デフォルトでは、このスクリプトは、/opt/avi/scripts/clean_cluster.py --skip-se-reboot スイッチを使用して実行しない限り、接続されている SE を再起動します。スクリプトの実行後にコントローラ ノードにログインする唯一の方法は、ユーザー インターフェイスから管理者パスワードをリセットすることです。

一般的なリカバリ

NSX Advanced Load Balancer 構成を維持したまま残りのコントローラ ノードを単一ノード クラスタに変換するには、root アカウントから次のスクリプトを実行します。root 以外のアカウントから実行しようとすると、スクリプトは失敗し、Permission denied メッセージが表示されます。スクリプトを実行する前に、sudo を実行し、管理者パスワードを入力して root に昇格します。

root@controller1:/home/admin# /opt/avi/scripts/recover_cluster.py

スクリプトは予防措置として確認を求め、ユーザーが root としてスクリプトを実行する必要があることを通知します。

recover_cluster.py スクリプトを実行するときにクラスタの一部であった他のコントローラをパワーオフすることを強くお勧めします。そうしないと、現在のノードと他のノードが動作不能の状態になる可能性があります。

スクリプトは、コントローラ上のすべてのサービスを停止して、再起動します。コントローラが停止し、数分間アクセスできなくなります。

スクリプトが終了すると、単一ノード クラスタとしてコントローラ ノードにログインできるようになります。これを可用性の高い 3 ノード クラスタにするには、2 つの新しい未構成のコントローラ ノードをクラスタに追加します。