Skip to main content

OSDs in Ceph verstehen

In einem Ceph-Cluster ist ein OSD (Object Storage Daemon) der Prozess, der für die Speicherung von Daten auf einer

physischen Festplatte verantwortlich ist. Jeder OSD verwaltet ein einzelnes Storage-Gerät und übernimmt Aufgaben wie Datenreplikation, Löschcodierung,

Wiederherstellung, Neuausgleich und Rückmeldung des Storage-Status an den Cluster-Monitor.

Die Anzahl der OSDs in einem Cluster wirkt sich direkt auf Kapazität, Leistung und Fehlertoleranz aus. Da Ceph

Objekte auf alle verfügbaren OSDs verteilt, führt der Verlust eines oder mehrerer OSDs nicht automatisch zu Datenverlusten – dies hängt von der gewählten Schutzrichtlinie ab (Replikation oder Erasure Coding).

Fehlertoleranz und OSD-Verlust

Replikation

Bei der Replikation speichert Ceph identische Kopien der Daten auf mehreren OSDs über verschiedene Knoten hinweg. Der Replikationsfaktor bestimmt, wie viele OSDs ausfallen können, ohne dass Datenverluste auftreten:

  • 2× Replikation – Zwei Kopien jedes Objekts. Der Cluster kann ein OSD verlieren, ohne dass Daten verloren gehen.
  • 3× Replikation – Drei Kopien jedes Objekts. Der Cluster kann zwei OSDs verlieren, ohne dass Daten verloren gehen.
  • N× Replikation – Im Allgemeinen kann der Cluster bei N Kopien (N-1) OSDs verlieren, die dasselbe Objekt enthalten.

Erasure Coding

Beim Erasure Coding werden die Daten in K Datenblöcke und M Paritätsblöcke aufgeteilt. Diese Blöcke werden auf verschiedene OSDs verteilt. Der Cluster kann bis zu M OSD-Ausfälle tolerieren, ohne dass

Daten verloren gehen.

  • 4+2 EC – Die Daten werden in 4 Datenblöcke + 2 Paritätsblöcke aufgeteilt. Kann den Verlust von 2 OSDs tolerieren.
  • 5+2 EC – Die Daten werden in 5 Datenblöcke + 2 Paritätsblöcke aufgeteilt. Kann den Verlust von 2 OSDs tolerieren.
  • 8+3 EC – Die Daten werden in 8 Datenblöcke + 3 Paritätsblöcke aufgeteilt. Kann den Verlust von 3 OSDs tolerieren.

Wichtige Überlegungen

  • OSDs sollten auf mehrere Knoten verteilt werden, um eine hohe Verfügbarkeit zu gewährleisten. Der Verlust mehrerer OSDs auf demselben Knoten kann sich auf die Dienste auswirken, wenn die Redundanzanforderungen nicht erfüllt sind.
  • Replikation bietet eine schnellere Wiederherstellung und einen geringeren CPU-Overhead, erfordert jedoch mehr Storage-Kapazität.
  • Erasure Coding bietet eine höhere Speichereffizienz, erfordert jedoch mehr CPU-/Netzwerkressourcen für die Codierung und Wiederherstellung.

Zusammenfassend lässt sich sagen, dass die Anzahl der OSDs, die Sie sicher verlieren können, davon abhängt, ob Ihr Cluster-Laufwerk Replikation oder Erasure Coding verwendet – und von der Redundanzstufe, die Sie bei der Erstellung ausgewählt haben.

image.png