Zum Inhalt springen
labkompass

Simulator · Storage Cluster

Replikation und Quorum Simulator

Schalte Nodes aus oder teile den Cluster in zwei Hälften und sieh getrennt, was passiert: Hat eine Seite noch die Mehrheit? Wie viele Kopien eines Datenblocks erreicht sie? Und darf sie schreiben? Ein Lehrmodell mit offen dokumentierten Annahmen — es ersetzt keinen Failover-Test.

Fehlerfall wählen oder jeden Node einzeln setzen:

  • Node 1Kopie des Blocks
  • Node 2Kopie des Blocks
  • Node 3Kopie des Blocks

Erreichbare Nodes: Node 1, Node 2, Node 3

Steuerungsebene
Quorum 3/3
Daten
3 von 3 Kopien
Schreiben
möglich
  • Monitor-Quorum: 3 von 3 Monitoren — Mehrheit, die Cluster Map kann aktualisiert werden.
  • 3 von 3 Kopien erreichbar, min_size ist 2.

Ergebnis: Alles erreichbar, volle Redundanz.

Annahmen dieses Modells (Ceph)

  • Auf jedem Node läuft ein Monitor, auf dem Witness nur ein Monitor ohne OSDs. Bei zwei Nodes ohne Witness gibt es also zwei Monitore.
  • Eine Placement Group nimmt I/O nur an, wenn mindestens min_size Kopien erreichbar sind und die Monitore Quorum haben.
  • Der Beispielblock liegt auf den ersten Nodes (Node 1, Node 2 …). In einem echten Cluster verteilt CRUSH jede Placement Group anders — ein Ausfall trifft andere Blöcke anders.

Ein Lehrmodell: Timeouts, Fencing-Dauer, Wiederanlauf und Recovery sind nicht abgebildet. Wie sich dein Cluster wirklich verhält, zeigt nur ein Failover-Test in einer Testumgebung.

Drei Fragen, die oft vermischt werden

Quorum beantwortet, wer entscheiden darf: Nur eine Gruppe mit der Mehrheit aller Stimmen darf den Zustand des Clusters ändern. Replikation beantwortet, wo die Daten liegen. Schreibverfügbarkeit ergibt sich erst aus beidem — und aus den Regeln der jeweiligen Technologie. Ein Ceph-Pool kann Quorum haben und trotzdem nicht schreiben, weil zu wenige Kopien erreichbar sind.

Drei Nodes verhindern ein Split Brain nicht von selbst. Sie machen eine eindeutige Mehrheit möglich — wirksam wird das erst, wenn die Software diese Mehrheit tatsächlich verlangt und die Minderheit anhält. Probiere dazu den Modus „Ohne Quorum“ aus.

Häufige Fragen

Warum reichen zwei Nodes nicht?

Bei zwei Nodes hat nach einer Netztrennung keine Seite die Mehrheit — beide sehen eine Stimme von zweien. Entweder halten dann beide an, oder beide machen weiter und erzeugen ein Split Brain. Eine dritte Stimme, etwa ein Witness ohne Daten, löst das Patt.

Was ist ein Witness?

Ein Teilnehmer, der nur abstimmt und keine Daten speichert — bei Proxmox ein QDevice, bei DRBD ein Node ohne Datenträger (diskless Tiebreaker), bei Ceph ein zusätzlicher Monitor. Er sollte nicht im selben Gehäuse oder an derselben Stromversorgung hängen wie einer der beiden Daten-Nodes.

Sind die Daten weg, wenn der Cluster anhält?

Nein. Hält ein Cluster mangels Quorum oder Kopien an, sind die Daten weiterhin auf den Datenträgern — nur nicht erreichbar. Das ist Absicht: lieber kurz nicht verfügbar als zwei widersprüchliche Datenstände.

Passende Tools