Ceph Block Device -Spiegelung
Die RBD-Spiegelung (RADOS Block Device) ist ein Prozess der asynchronen Replikation von Ceph Block Device -Images zwischen zwei oder mehr Ceph-Speicherclustern. Durch die Lokalisierung eines Ceph-Speicherclusters an verschiedenen Standorten kann die RBD-Spiegelung Sie bei der Wiederherstellung nach einem Standortausfall unterstützen. Die journalbasierte Spiegelung von Ceph-Blockeinheiten stellt zeitpunktgesteuerte konsistente Replikate aller Änderungen an einem Image sicher, einschließlich Lese-und Schreibvorgängen, Größenänderungen von Blockeinheiten, Momentaufnahmen, Klonen und Abflachung.
Der Dämon rbd-mirror ist für die Synchronisation von Images aus einem Ceph-Speichercluster mit einem anderen Ceph-Speichercluster verantwortlich, indem er Änderungen aus dem fernen primären Image extrahiert und diese Änderungen in das lokale, nicht primäre Image schreibt. Der rbd-mirror -Dämon kann entweder in einem einzelnen Ceph-Speichercluster für unidirektionale Spiegelung oder in zwei Ceph-Speicherclustern für bidirektionale Spiegelung ausgeführt werden, die an der Spiegelungsbeziehung teilnehmen.
Damit die RBD-Spiegelung unter Verwendung der unidirektionalen oder bidirektionalen Replikation funktioniert, wird eine Reihe von Annahmen getroffen:
- Ein Pool mit demselben Namen ist in beiden Speicherclustern vorhanden.
- Ein Pool enthält journalfähige Images, die Sie spiegeln möchten.
rbd-mirror gleichzeitig eine Verbindung zu dem anderen Ceph-Speichercluster herstellen können. Außerdem muss das Netz über eine ausreichende Bandbreite zwischen den beiden Rechenzentrumsstandorten verfügen, um die Spiegelung handhaben zu können.Unidirektionale Replikation
Unidirektionale Spiegelung impliziert, dass ein primäres Image oder ein Pool von Images in einem Speichercluster in einem sekundären Speichercluster repliziert wird. Die unidirektionale Spiegelung unterstützt auch die Replikation auf mehrere sekundäre Speichercluster.
Im sekundären Speichercluster ist das Image das nicht primäre Replikat, d. h., Ceph-Clients können nicht in das Image schreiben. Wenn Daten von einem primären Speichercluster auf einen sekundären Speichercluster gespiegelt werden, wird rbd-mirror NUR auf dem sekundären Speichercluster ausgeführt.
Für die unidirektionale Spiegelung gelten einige Annahmen:
- Sie verfügen über zwei Ceph-Speichercluster und möchten Images von einem primären Speichercluster auf einen sekundären Speichercluster replizieren.
- Dem sekundären Speichercluster ist ein Ceph-Clientknoten zugeordnet, der den
rbd-mirror-Dämon ausführt. Der Dämonrbd-mirrorstellt eine Verbindung zum primären Speichercluster her, um Images mit dem sekundären Speichercluster zu synchronisieren.

Bidirektionale Replikation
Die bidirektionale Replikation fügt dem primären Cluster einen rbd-mirror -Dämon hinzu, damit Images auf dem primären Cluster herabgestuft und auf dem sekundären Cluster hochgestuft werden können. Anschließend können Änderungen an den Images auf dem sekundären Cluster vorgenommen werden, die in umgekehrter Richtung vom sekundären zum primären Cluster repliziert werden. Für beide Cluster muss rbd-mirror ausgeführt werden, damit Images in beiden Clustern hoch-und herabgestuft werden können. Derzeit wird die bidirektionale Replikation nur zwischen zwei Standorten unterstützt.
Damit die bidirektionale Spiegelung funktioniert, werden einige Annahmen getroffen:
- Sie verfügen über zwei Speichercluster und möchten Images zwischen ihnen in beide Richtungen replizieren können.
- Beiden Speicherclustern ist ein Clientknoten zugeordnet, auf dem der Dämon
rbd-mirrorausgeführt wird. Der Dämonrbd-mirror, der im sekundären Speichercluster ausgeführt wird, stellt eine Verbindung zum primären Speichercluster her, um Images mit dem sekundären Speichercluster zu synchronisieren, und der Dämonrbd-mirror, der im primären Speichercluster ausgeführt wird, stellt eine Verbindung zum sekundären Speichercluster her, um Images mit dem primären Speichercluster zu synchronisieren.

Spiegelungsmodi
- Pool-Modus
- Alle Bilder in einem Pool mit aktivierter Journaling-Funktion werden gespiegelt.
- Imagemodus
- Nur eine bestimmte Teilmenge der Bilder innerhalb eines Pools wird gespiegelt. Sie müssen die Spiegelung für jedes Image separat aktivieren.
Imagestatus
Ob ein Image geändert werden kann, hängt von seinem Status ab:
- Images im Primärstatus können geändert werden.
- Images im nicht primären Status können nicht geändert werden.
Images werden automatisch zum primären Image hochgestuft, wenn die Spiegelung zum ersten Mal für ein Image aktiviert wird. Die Werbeaktion kann wie folgt erfolgen:
- Implizit durch Aktivieren der Spiegelung im Poolmodus.
- Explizit durch Aktivieren der Spiegelung eines bestimmten Image.
Es ist möglich, primäre Images herabzustufen und nicht primäre Images hochzustufen.