
Hohe Datenverfügbarkeit und Langlebigkeit
Ceph Object Storage erreicht Datenverfügbarkeit durch Replikation und erweiterte Löschcodierung, wobei Daten mit Paritätsinformationen kombiniert und dann fragmentiert und über den Speicherpool verteilt werden.
Wenn ein Speichergerät ausfällt, wird nur eine Teilmenge der Shards benötigt, um die Daten wiederherzustellen, es gibt keine Wiederherstellungszeit oder Leistungseinbußen, und ausgefallene Speichergeräte können bei Bedarf ersetzt werden.
Ceph kombiniert weit verbreitete Daten- und Datenbereinigungstechnologie, die die auf die Medien geschriebenen Daten kontinuierlich validiert, sodass Sie eine Datenlebensdauer von 15 Neunen erreichen können.
Datenreplikation, Löschcodierung und Scrubbing
Objektreplikation
Wenn ein Client Daten schreiben wird, verwendet er die Objekt-ID und den Poolnamen, um zu berechnen, in welches OSD er schreiben soll. Nachdem der Client Daten auf das OSD geschrieben hat, kopiert das OSD die Daten auf ein oder mehrere OSDs. Sie können beliebig viele Replikationen konfigurieren, damit die Daten überleben können, falls mehrere OSDs gleichzeitig ausfallen. Die Replikation ähnelt dem RAID-1 von Disk-Arrays, ermöglicht jedoch mehr Kopien von Daten. Denn im großen Maßstab kann eine einfache RAID-1-Replikation das Risiko eines Hardwareausfalls möglicherweise nicht mehr ausreichend abdecken. Der einzige Nachteil beim Speichern von mehr Replikaten sind die Speicherkosten.
Ceph-Clients schreiben Daten basierend auf dem CRUSH-Algorithmus zufällig auf OSDs . Wenn eine OSD-Festplatte oder ein OSD-Knoten ausfällt, kann Ceph die Daten von anderen Replikationen, die in fehlerfreien OSDs gespeichert sind, wiederherstellen.
Sie können die Fehlerdomäne definieren , damit Ceph replizierte Daten in verschiedenen Servern, Racks, Räumen oder Rechenzentren speichert, um Datenverluste aufgrund eines oder mehrerer Fehler der gesamten Fehlerdomäne zu vermeiden. Wenn Sie beispielsweise 15 Speicherserver in 5 Racks (3 Server in jedem Rack) installiert haben, können Sie Replikat 3 und Rack als Fehlerdomäne verwenden. Beim Schreiben von Daten in den Ceph-Cluster werden immer drei Kopien in drei der fünf Racks gespeichert. Daten können mit bis zu 2 Rack-Ausfällen überleben, ohne dass der Client-Service beeinträchtigt wird. Die CRUSH-Regel ist der Schlüssel dafür, dass Ceph-Speicher keinen Single Point of Failure hat .
Löschcodierung
Die Replikation bietet die beste Gesamtleistung, ist aber nicht sehr speicherplatzeffizient. Vor allem, wenn Sie ein höheres Maß an Redundanz benötigen.
Um eine hohe Datenverfügbarkeit zu haben, haben wir in der Vergangenheit RAID-5 oder RAID-6 als Alternative zu RAID-1 verwendet. Paritäts-RAID gewährleistet Redundanz mit viel weniger Speicher-Overhead auf Kosten der Speicherleistung (hauptsächlich Schreibleistung). Ceph verwendet Erasure Encoding, um ein ähnliches Ergebnis zu erzielen. Wenn die Größe Ihres Speichersystems groß wird, fühlen Sie sich möglicherweise unsicher, wenn Sie zulassen, dass nur eine oder zwei Festplatten oder Fehlerdomänen gleichzeitig ausfallen. Der Löschcodealgorithmus ermöglicht es Ihnen, ein höheres Redundanzniveau zu konfigurieren, jedoch mit weniger Overhead.
Die Löschcodierung unterteilt die Originaldaten in K Datenabschnitte und berechnete zusätzliche M Codierungsabschnitte. Ceph kann die Daten maximal wiederherstellen, wenn M Ausfalldomänen in der Zwischenzeit ausfallen. Die gesamten K+M Chunks werden in den OSDs gespeichert, die sich in unterschiedlichen Fehlerdomänen befinden.
Schrubben
Als Teil der Aufrechterhaltung der Datenkonsistenz und -sauberkeit können Ceph OSD Daemons Objekte innerhalb von Platzierungsgruppen bereinigen. Das heißt, Ceph OSD Daemons können Objektmetadaten in einer Platzierungsgruppe mit ihren Repliken in Platzierungsgruppen vergleichen, die auf anderen OSDs gespeichert sind. Das Scrubbing (normalerweise täglich durchgeführt) fängt Bugs oder Dateisystemfehler ab. Ceph OSD Daemons führen auch ein tieferes Scrubbing durch, indem sie Daten in Objekten Bit für Bit vergleichen. Deep-Scrubbing (normalerweise wöchentlich durchgeführt) findet fehlerhafte Sektoren auf einem Laufwerk, die bei einem leichten Scrub nicht erkennbar waren.
Datenheilung
Aufgrund des Datenplatzierungsdesigns von Ceph werden Daten von allen gesunden OSDs repariert. Für die Wiederherstellung der Daten ist keine Ersatzfestplatte erforderlich. Dadurch kann die Zeit für die Wiederherstellung im Vergleich zum Festplattenarray, das die verlorenen Daten auf der Ersatzfestplatte wiederherstellen muss, viel kürzer werden.
- CRUSH-Map und -Regeln konfigurieren
Verwenden Sie den UVS-Manager, um die Datenverteilung und die Fehlerdomäne zu definieren.