クラスタ内の 3 台の NSX Advanced Load Balancer Controller ノードのうち 2 台が完全に停止して回復できない場合、クラスタ クォーラムがないため、クラスタ内の残りのコントローラ ノードの動作は停止としてマークされます。
すべての SE は、ヘッドレス モードで動作し続けます。
可用性の高い 3 ノード クラスタに戻るには、次の手順を実行します。
クラスタをリカバリするには、残りの良好なコントローラ ノードを最初に単一ノード クラスタ構成に変換する必要があります。その後、2 つの新しいノードをクラスタに追加できます。
コントローラをリカバリするには、構成ありと構成なしの 2 つの方法があります。1 つのノードを構成ありでリカバリしてコントローラ リーダーにすることが重要です。それによって他のノードはクラスタにフォロワーとして追加されます。
構成ありでコントローラをリカバリするには、
/opt/avi/scripts/recover_cluster.py
スクリプトを使用します。構成なしでコントローラをリカバリする(実質的に出荷時の設定へのリセットになります。通常この操作は必要ありません)には、代わりに
/opt/avi/scripts/clean_cluster.py
スクリプトを使用します。これを元に戻すことはできません。コントローラによるデータベースの再作成には時間がかかります。/opt/avi/scripts/clean_cluster.py
スクリプトは次のタスクを実行します。デフォルトでは、このスクリプトは、スイッチを使用して実行しない限り、接続されている SE を再起動します。
/opt/avi/scripts/clean_cluster.py --skip-se-reboot
スクリプトの実行後にコントローラ ノードにログインする唯一の方法は、ユーザー インターフェイスから管理者パスワードをリセットすることです。
一般的なリカバリ
NSX Advanced Load Balancer 構成を維持したまま残りのコントローラ ノードを単一ノード クラスタに変換するには、root アカウントから次のスクリプトを実行します。root 以外のアカウントから実行しようとすると、スクリプトは失敗し、「権限が拒否されました」というメッセージが表示されます。スクリプトを実行する前に、sudo
を実行し、管理者パスワードを入力して root に昇格します。
root@controller1:/home/admin# /opt/avi/scripts/recover_cluster.py
スクリプトは予防措置として確認を求め、ユーザーが root としてスクリプトを実行する必要があることを通知します。
recover_cluster.py
スクリプトを実行するときにクラスタの一部であった他のコントローラをパワーオフすることを強くお勧めします。そうしないと、現在のノードと他のノードが動作不能の状態になる可能性があります。
スクリプトは、コントローラ上のすべてのサービスを停止して、再起動します。コントローラが停止し、数分間アクセスできなくなります。
スクリプトが終了すると、単一ノード クラスタとしてコントローラ ノードにログインできるようになります。これを可用性の高い 3 ノード クラスタにするには、2 つの新しい未構成のコントローラ ノードをクラスタに追加します。
コントローラが同じベース バージョンおよびパッチ バージョンにあることを確認します。