Der Riddle Frankfurt-Luxemburg nutzt folgende Dienste für die Syncronisation der Daten:
- Corosync (Cluster Kommunikation)
- Pacemaker (Überwachung der Dienste, Umschaltung bei Ausfall)
- Qnet (Arbitrator bei Verlust interner Kommunikation zw. FFM-LUX)
- DRBD (Block-Device das zwischen FFM und LUX syncronisiert wird. Auf diesem liegen die Daten. Es gibt jeweils ein Block-Device für MySQL und eines für WWW-Daten.)
Funktionsweise:
Corosync dient der internen Kommunikation zwischen den Servern. Pacemaker verwaltet alle Dienste, die bei einem Ausfall umgeschaltet werden: Nginx, MySQL, Cron (PHP-FPM läuft auf beiden Servern immer, ist aber ohne NGINX nicht ansprechbar).
DRBD ist quasi ein Netzwerk basiertes Raid 1. Dabei kann jeweils nur ein Server „master“ sein und das Filesystem gemounted haben. Die Blockdevices von DRBD werden über die 1 Gbit/s Strecke zw. FFM-LUX ständig syncronisiert, so daß die Daten immer identisch sind. Erst bei einem Ausfall von bspw. FFM wird das Blockdevice in LUX automatisch gemoutet und LUX übernimmt die HauptIPs (185.191.224.2 und 2001:1bc7::1002). Pacemaker schaltet dann alle Dienste auf Lux aktiv.
Unabhängig davon sind LUX und FFM immer unter ihren eigenen IPs erreichbar:
LUX: 185.191.224.4 / 2001:1bc7::1004
FFM: 185.191.224.3 / 2001:1bc7::1003