[sage-ka] Steuerung/Synchronisierung eines nächtlichen Updates

Patrick von der hagen patrick at vonderhagen.de
Fr Mär 27 23:51:31 CET 2009


2009/3/27 Frederik Ramm <frederik at remote.org>:
[...]
> Der Plan ist daher: Nachts nimmt ein Kontrollrechner C zuerst A aus dem
> DNS heraus, schickt dann an A den "aktualisiere Dich"-Befehl, wartet,
> bis A Erfolg meldet (pollen oder aktiv benachrichtigt werden), tut dann
> A wieder ins DNS rein und nimmt B raus, lässt B aktualisieren, und nimmt
> dann B wieder ins DNS.
DNS, TTL, böse, böse, böse.....
Ich würde da eher IP-Adressen wandern lassen. Die Server bekommen die
IPs A und B, die Dienste X und Y. X läuft üblicherweise auf A, Y
üblicherweise auf B. Zur Wartung von A wird die IP X dort runter
genommen und auf B aktiviert. X und Y laufen dann beide auf B.
Setzt natürlich voraus, dass die Last klappt. Bald wären wir dann bei
einem dritten Server C, der als Standby nur im Wartungsfall und bei
Problemen eingesetzt wird.

Den Wechsel der IP-Adressen kann man natürlich selbst scripten, ich
persönlich würde auf den Servern A, B und C (den scheinst Du ja eh zu
haben) jeweils Heartbeat installieren und die IPs von Heartbeat
verteilen lassen. Für die Wartung kann an dann jeweils A oder B in
Standby setzen. C wird nur zur Steuerung der Wartung und als Quorum
für Heartbeat verwendet. Solange die Dienste keine Shared-Storage oder
ähnliches haben, sollte das "gut genug" sein.

Vermutlich Kanonen auf Spatzen.

-- 
CU,
   Patrick.