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


12

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

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

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


タグ「VRRP」を作成するにはあまりにも新しいです
MrMagu 09

回答:


14

keepalived開発者リストにあるこの比較的古いスレッドによると、それを行うことができます。両方のサーバーを同等の優先順位に設定し(またはまったく優先しない)、MASTERまたはBACKUPのいずれかの状態を宣言せず、代わりに両方の状態をEQUALに設定します。

編集(2017年12月7日):

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


3
ありがとうございます-マスターも引き継いでいない場合、上記の構成(優先度が同じで「EQUAL」を使用)を使用すると、最小のIPを持つVRRPインスタンスがMASTERになります。
MrMagu

1
これは間違っています。開発者からのこのメッセージを参照してください:github.com/acassen/keepalived/issues/707
cristi

@cristi-投稿時(2009年)には有効なソリューションでしたが、それはそのとき(2003年)でも古いとはっきりと認識していた情報に基づいていました。osdir.comにはkeepalived-develアーカイブがないように思われるため、回答のリンクを機能するものに更新しました。当時は、ソフトウェアは無効なEQUALディレクティブを静かに無視し、優先順位がまったく設定されていないように処理したと思います(たまたま望ましい結果になりました)。
ジェームズスニーリンガー

8

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


4
article.gmane.org/gmane.linux.keepalived.devel/1537「状態は」MASTER、「nopreempt」に設定されている場合は、」基本的にマシンは「状態MASTER」を返すと、それはちょうどからIPをつかむだろうときので、無視されます選挙さえ行わずに「状態バックアップ」を備えたマシン。「nopreempt」が意図したとおりに機能するためには、両方のマシンにBACKUPを設定し、一方に高い優先度を設定する必要がありました。
MrMagu 09

優先度と状態を削除し、nopreemptを追加しました。私にとってはうまくいく
リハルトノボジロフ

-1

私が理解しているように、新しいVRRPサーバーが起動すると、強制的に選挙が行われ、現在のサーバーは利益を得られないため、古いマスターが登場して選挙に勝ちます。かなり残忍な「頭の中の他のノードを撃つ」以外に、これを止めるためにできることはたくさんあると思います。キープアライブには、選択プロセスを制御するための設定が含まれている場合があります。残念ながら、今すぐチェックする時間はありませんが、後で調べてみます。


これを行うための設定フラグがあるため、この答えは間違っています。
davr

投票された答えは、マスターがサービスに戻ったときに引き継ぐことを望まないvrrpの一般的な展開に対して正しいです。言うように、これを行うkeepalivedの方法もあります。これは、おそらくvrrpを使用してデフォルトルートにL3冗長性を提供するのではなく、Linux HAを使用する場合により正確です(vrrpを使用する従来の理由)。
クリス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.