Ich habe zwei Maschinen (A und B, A ist Master), auf denen VRPP (von keepalived) für eine virtuelle IP ausgeführt wird.
Wie kann ich verhindern, dass A wieder Meister wird, wenn es fehlgeschlagen ist und wieder auftaucht (aus welchem Grund auch immer)?
Ich mache das so, dass wir ein einziges Failover auf die zweite Box haben und die Rückkehr zum Normalzustand manuelle Eingriffe erfordern würde.
linux
keepalived
vrrp
MrMagu
quelle
quelle
Antworten:
Laut diesem relativ alten Thread auf der Keepalived-Entwicklerliste ist dies möglich. Sie setzen beide Server auf gleiche Priorität (oder gar keine) und deklarieren den Status weder für MASTER noch für BACKUP. Stattdessen setzen Sie den Status für beide auf EQUAL.
BEARBEITEN (07.12.2017):
Es scheint, dass EQUAL tatsächlich kein gültiger Status ist, obwohl es zum Zeitpunkt der Veröffentlichung dieser Antwort den gewünschten Effekt zu bieten scheint. Bitte beachten Sie die folgenden Kommentare, insbesondere den von @cristi bereitgestellten Link zur Liste der aktuellen Probleme für Keepalived.
quelle
EQUAL
Direktive stillschweigend ignorierte und sie so behandelte, als ob überhaupt keine Priorität festgelegt worden wäre (was zufällig den gewünschten Effekt hatte).Wir haben dies gelöst, indem wir das
nopreempt
Flag zu unserer Keepalived-Konfigurationsdatei hinzugefügt haben . Musste nichts anderes ändern (immer noch eins alsMASTER
und eins alsBACKUP
und so weiter). Grundsätzlich bedeutet dies, dass der Master nicht gewechselt werden soll, nur weil ein neuer Server online gegangen ist, sondern nur gewechselt werden soll, wenn der aktuelle Master ausfällt.quelle
So wie ich es verstehe, erzwingt ein neuer VRRP-Server eine Wahl, und der aktuelle Server erhält keinen Vorteil, sodass der alte Meister auftaucht und die Wahl gewinnt. Ich bezweifle, dass Sie viel tun können, um dies zu stoppen, abgesehen von dem ziemlich brutalen Shoot The Other Node In The Head. Keepalive verfügt möglicherweise über eine Konfiguration zur Steuerung des Wahlprozesses. Leider habe ich jetzt keine Zeit, dies zu überprüfen, aber ich werde versuchen, es später zu überprüfen.
quelle