過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問14

高可用性プラットフォームの構築/ロードバランサーの構築

KeepalivedでVIPを持つ2台のロードバランサーを構成している。VIPを持つノード自体は稼働していても、そのノード上のHAProxyプロセスが停止した場合には、VIPを待機系へ移したい。keepalived.confの設定として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)

正解:C

解説

Keepalivedは、VRRPのノード障害だけでなく、任意のスクリプトの結果でもフェイルオーバーさせることができます。vrrp_scriptブロックでチェック用のスクリプト(例: HAProxyのプロセスの有無を調べる)と実行間隔、weightを定義し、vrrp_instanceのtrack_scriptで参照します。スクリプトが失敗すると負のweightの分だけ優先度が下がり、待機系の優先度を下回るとVIPが移ります。weightを指定しない場合は、失敗した時点でそのインスタンスがFAULT状態になり、VIPを手放します。

選択肢ごとの解説

  • A誤り。virtual_serverとreal_serverのヘルスチェックは、IPVSで振り分ける先のバックエンドを監視するためのもので、VRRPのVIPの移動には結び付きません。
  • B誤り。router_idはこのノードを識別する名前を設定する項目で、プロセスの監視やVRRPの広告内容を変える機能はありません。
  • C正しい。vrrp_scriptで定義したチェックをtrack_scriptで参照すると、失敗時に優先度が下がり、VIPが待機系へ移ります。
  • D誤り。nopreemptは、優先度の高いノードが復旧してもVIPを取り返さないようにする設定で、HAProxyの停止を検知する仕組みではありません。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く