Spiegelung mit rsync
Diese Spiegelung dient vor allem dem Failover-Betrieb, falls es auf einem Produktiv-System zu größeren Hardware-Störungen kommt. Der Standby-Server wird aktiviert, wenn abzusehen ist, dass ein Ausfall eines Produktiv-Servers länger als 4 Stunden dauert. Diese Zeit halten wir für ein gutes Mittelmaß, die Ausfälle kurz zu halten und dennoch keine Daten zu verlieren, denn die Daten (z.B. in Shops), die nach dem letzten rsync-Lauf auf dem Produktiv-System erfasst wurden, sind bei einem solchen Lauf verloren, ein Zusammenführen (falls die Platte noch lesbar ist) wird von uns nur für e-Mail gemacht, da wir die Semantik der Userdaten nicht kennen.
Der Ablauf ist folgender: Vom Standby-Server aus, der leistungsmäßig den Produktiv-Systemen ebenbürtig ist und der am selben Subnetz hängt (die IP-Nummern bei Bedarf übernehmen kann), wird laufend per rsync eine Kopie von den Produktiv-Systemen gezogen. Dabei werden auch die Datenbanken mit rsync kopiert, dies führt nicht in jedem Fall zu konsistenten Datenbeständen in der Kopie!
Ausgeschlossen werden die Dateien die jeder Paket-Admin in der Datei /home/pacs/xyz00/etc/nobackup hinterlegen kann. Dies ist z.B. für Session-Dateien sinnvoll, die unsinnigerweise permanent übertragen werden würden, auf die bei einem Failover aber gut verzichtet werden kann. Ebenfalls nicht gesichert werden Dateien in /tmp/ in der Annahme, dass sie nach einem Rechnerneustart ohnehin keinen Wert mehr haben.
Alle 6 Minuten prüfen die Produktiv-Systeme, ob das rsync auf dem Spiegel-Server noch läuft (/usr/local/sbin/chk-mirroring) und schicken ggf. einen Alarm an die Hostmaster. Einmal täglich wird außerdem ein Bericht an die Hostmaster gesendet, der die rsync-Läufe des vorangegangenen Tages beinhaltet. Ein rsync-Lauf dauert ca. 45 bis 60 Minuten. Falls das rsync-Skript neu gestartet werden muss, kann dies mit do-rsyncs --background bzw. do-rsyncs -b gemacht werden ('s' am Ende beachten!). Es darf jeweils nur eine Instanz von do-rsyncs laufen.

