ネットワークエンジニアのITブログ

長らくネットワークで生活してきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、日々成長しています。最近のお気に入りはNSXALBとGoogle Cloud。

NSXALBのコントローラークラスター化をやってみる

NSXALBのコントローラーは1台でも動作しますが、停止してしまうと設定変更が一切できなくなってしまい、障害等で復旧できない状態となると、リストアするまで一切の変更ができなくなります。

このことから、コントローラーの可用性を上げる方法として、3ノード構成のコントローラークラスターが推奨されています。

クラスターを設定でクラスターIPを付与すると、リーダーが1台選出され、クラスターIP接続のARPにはリーダーが応答します。

残りの2台はフォロワーとなり、リーダーが何らかの理由で停止した場合、フェイルオーバーしてリーダー機能を引き継ぎます。

設定変更した際の情報は、リーダーのデータベースに保存され、定期的にフォローのデータベースとレプリケーションして同期をとります。

なお、クラスター化する場合は、3台のコントローラーは同一のブロードキャストドメインに接続され、かつ、3台のコントローラー間のレイテンシーが10ms未満である必要があります。

構築範囲

クラスターに追加するコントローラーのデプロイ

クラスタ構成のコントローラーは以下の3台で構築していきます。

avi55:192.168.1.55
avi56:192.168.1.56(最初に構築したコントローラー)
avi57:192.168.1.57

avi55、avi57をOVAファイルからデプロイしていきます。手順については、以前のブロクで紹介しているので参考にしてください。

avi55、avi57はアカウント作成、DNS、メールアドレス、テナントの初期設定が完了した状態となっています。

クラスターの構築

ここからは、メインで設定をしていたavi56で設定を行っていきます。
[Administration]-[Controller]‐[Node]から画面右上のEditを選択します。

Controller Cluster IPとして192.168.1.54を入力し、Cluster Nodeで[Add]を選択します。

追加するavi55ののIPアドレスとadminアカウントのパスワードを入力しSAVEします。

同様にavi57も登録したらSAVEします。

SAVE後、2~3分経過するとController Initializingに表示が切り替わり、Cluster構成に切り替わります。

Initializeが終了したら、Cluster VIPの192.168.1.54で接続し、[Administration]-[Controller]‐[Node]を参照すると、リーダーが1台、フォローワーが2台構成となっていることがわかります。

これで、コントローラークラスターの構築は完了となります。

コントローラーの1台障害であれば、リーダーのフェイルオーバーによりフォロワーにアクセスし、継続してコントローラーに接続可能となります。

2台障害の場合は、コントローラーには接続できなくなるため、最低1台を復旧させる必要があります。

3台とも復旧不可能となった場合は、コントローラーを再デプロイし、バックアップファイルからリストアする形となります。この場合は、サービスエンジンも再構築されるため、復旧は結構大変です。

バックアップリストアについては、また後日紹介したいと思います。22:15