web-dev-qa-db-ja.com

失敗したVRRPマスターがマスターになるのを防ぐ

仮想IPに対して(keepalivedからの)VRPPを実行する2台のマシン(AとB、Aはマスター)があります。

Aが失敗し、(何らかの理由で)復旧した場合に、Aが再びマスターになるのを防ぐにはどうすればよいですか?

私はこれを行って、2番目のボックスへの単一のフェイルオーバーを実現し、通常に戻るには手動による介入が必要になるようにします。

11
MrMagu

Keepalived開発者リストの this 比較的古いスレッドによると、それは実行できます。両方のサーバーを同じ優先順位(またはまったくなし)に設定し、状態をMASTERまたはBACKUPとして宣言せず、両方の状態をEQUALに設定します。

編集(2017年12月7日):

EQUALは、この回答が投稿された時点で望ましい効果を提供しているように見えますが、実際には有効な状態ではないようです。以下のコメント、特に@cristiが提供するkeepalivedの現在の問題リストへの link に注意してください。

13

これを解決する方法は、nopreemptフラグをkeepalived構成ファイルに追加することです。他に何も変更する必要はありませんでした(まだ1つをMASTERとして、もう1つをBACKUPのままにします)。基本的に、これは、新しいサーバーがオンラインになったからといってマスターを切り替えないように指示し、現在のマスターに障害が発生したときにのみ切り替えます。

8
davr