Mein erstes Problem ist, dass ich nicht weiß, wie ich den Slave manuell zum Master hochstufen kann?
Sie können einer der Maschinen sagen, dass sie sich von MASTER zu SLAVE degradieren soll, indem Sie Folgendes tun:
killall -USR2 ucarp
auf dem MASTER.
Ich benutze Keepalived und weiß nicht viel über ucarp, aber ich habe immer nur die Master-Schnittstellen deaktiviert. Das zwingt den Sklaven zu übernehmen. Wenn ich den Slave zum Master machen möchte, konfiguriere ich ihn neu und starte den Dienst neu. Dann konfiguriere ich den alten Master als Slave neu, starte den Dienst neu und aktiviere die Schnittstellen.
Der folgende zitierte Text könnte helfen zu erklären, was der Parameter advskew bewirkt.
"advskew:Dieser optionale Parameter gibt an, wie stark die Advbase beim Senden von CARP-Anzeigen verzerrt werden soll. Durch Manipulation von advskew kann der Master-CARP-Host ausgewählt werden. Je höher die Zahl, desto weniger bevorzugt wird der Host bei der Auswahl eines Masters. Die Voreinstellung ist 0. Zulässige Werte sind 0 bis 254." - http://www.openbsd.org/faq/pf/carp.html
"... um die Zeit zu berechnen, bis ein CARP-Knoten denkt, dass er der Master ist, berechnen Sie 3 * (advbase + (advskew / 255))" - http://kerneltrap.org/node/5607
Wenn Sie also drei Hosts haben, einen Master und zwei Slaves, und die Slaves wie folgt konfiguriert sind:
slave1 - 3 * 1 + (10 / 255) =3,117 Sekunden
slave2 - 3 * 1 + (20 / 255) =3,235 Sekunden
Dann wird Slave1 immer vor Slave2 Master, da er öfter wirbt. Wenn Slave1 aus irgendeinem Grund ausfällt, wird Slave2 zum Master.