Firmenbrief

25.04.2017

CoreBiz hinter den Kulissen: Es kann nur einen geben


Wer den Film oder die TV-Serie „Highlander" kennt, weiß dass „es kann nur einen geben" nicht so ganz stimmt: Auf lange Sicht darf's nur einer sein, aber der Held hat durchaus Konkurrenz. So ähnlich läuft es auch bei der Live-Migration eines virtuellen Gastes auf einem CoreBiz-Cluster. Doch erstmal der Reihe nach.

In der vergangenen Firmenbrief-Ausgabe haben wir das neue Live-Migrations-Feature ja bereits vorgestellt. Hinter den Kulissen mussten die Entwickler dazu einen Widerspruch auflösen. Denn die Speicher-Virtualisierung auf DRBD-Basis (Distributed Remote Block Device) gehorcht dem Highlander-Slogan: jede Partition (egal ob für Daten oder virtuelle Gast-Systeme) ist zwar auf beiden Cluster-Maschinen vorhanden und DRBD sorgt auch dafür, dass sie immer die identischen Daten enthalten. Mounten darf die Partition aber immer nur eine Seite, um zu verhindern dass gleichzeitige Schreibzugriffe zu Datensalat führen. Dummerweise klappt die nahtlose Live-Migration aber nur, wenn beide Seiten die Partition mounten. Die System-Virtualisierung (Qemu) sorgt zuverlässig dafür, dass nur eine Seite das Privileg tatsächlich nutzt. Doch das bezieht sich nur auf Qemu; wenn sich ein Admin vertippt, kann er das System durchaus ins Nirwana befördern.

Der übliche Ansatz, Live-Migration zu ermöglichen, vergibt kurzerhand das beiderseitige Schreibrecht dauerhaft, bei DRBD heißt der Betriebsmodus dann Dual-Primary. Genau das war den CoreBiz-Machern aber nicht geheuer: warum die zusätzliche Sicherheit des Highlander-Prinzips dauerhaft aufgeben, nur um gelegentlich eine Live-Migration zu starten? Die Antwort konnte also nur sein, das Dual-Primary-Setting erst unmittelbar zu Beginn der Migration einzuschalten und nach Abschluss auch wieder auf den sicheren Default zu wechseln. Damit sollte dem Cluster das blutige Setting des eingangs erwähnten Kino-Klassikers erspart bleiben und der virtuelle Gast der Unsterblichkeit einen Schritt näher kommen.