Skip to main content

Replikation vs. Erasure Coding

In eEKAS nutzen Cluster-Laufwerke die Datenredundanzmechanismen von Ceph, um vor Hardwareausfällen zu schützen und die Datenverfügbarkeit sicherzustellen. Die beiden wichtigsten Methoden sind Replikation und Erasure Coding (EC). Beide dienen zwar dem gleichen Zweck – der Verhinderung von Datenverlusten –, tun dies jedoch auf sehr unterschiedliche Weise, wobei jede Methode ihre eigenen Stärken, Kompromisse und idealen Anwendungsfälle hat.

Ceph-Replikation

Wie funktioniert die Ceph-Replikation?

Bei der Replikation werden mehrere identische Kopien jedes Datenelements auf verschiedenen Laufwerken und Knoten gespeichert. Wenn eine Kopie aufgrund eines Laufwerks- oder Knotenausfalls verloren geht, liefert das System die Daten sofort aus einer anderen Kopie.

Beispielkonfigurationen:

  • 2Ă— Replikation – Es werden zwei Kopien jedes Objekts gespeichert. Kann den Ausfall eines Laufwerks/Knotens tolerieren.
  • 3Ă— Replikation – Es werden drei Kopien jedes Objekts gespeichert. Kann den Ausfall von zwei Laufwerken/Knoten tolerieren.

Vorteile:

Schnelle Wiederherstellung – Keine Rekonstruktion der Daten erforderlich; eine weitere Kopie ist sofort verfügbar.
Geringe CPU-Auslastung – Minimaler Rechenaufwand erforderlich.
Beste Leistung – Insbesondere für Workloads mit hoher IOPS.


Nachteile:

Höherer Storage-Bedarf :
Bei einer 3-fachen Replikation werden 3 TB Rohstorage für 1 TB nutzbare Kapazität benötigt.

Typische Anwendungsfälle:

  • Hochleistungs-Blockspeicher (iSCSI, NVMe-oF)
  • Storage fĂĽr virtuelle Maschinen, der eine geringe Latenz erfordert
  • Häufig aktualisierte Datenbanken

Erasure Coding

Wie funktioniert Ceph Erasure Coding?

Erasure Coding teilt Daten in eine bestimmte Anzahl von Datenblöcken und Paritätsblöcken auf und speichert sie auf mehreren Laufwerken und Knoten. Wenn ein oder mehrere Blöcke verloren gehen, verwendet das System die verbleibenden Blöcke und die Parität, um die Daten zu rekonstruieren.


Beispielkonfigurationen:

  • 4+2 EC – Die Daten werden in 4 Blöcke und 2 Paritätsblöcke aufgeteilt. Kann den Ausfall von 2 Laufwerken/Knoten tolerieren.
  • 5+2 EC – Die Daten werden in 5 Blöcke und 2 Paritätsblöcke aufgeteilt. Kann den Ausfall von 2 Laufwerken/Knoten tolerieren.
  • 8+3 EC – Die Daten werden in 8 Blöcke und 3 Paritätsblöcke aufgeteilt. Kann den Ausfall von 3 Laufwerken/Knoten tolerieren.

Vorteile:

  • Hohe Speichereffizienz – 5+2 EC verwendet 7 TB Rohspeicher fĂĽr 5 TB nutzbare Kapazität.
  • Flexible Redundanzstufen – Kann fĂĽr das gewĂĽnschte Gleichgewicht zwischen Effizienz und Fehlertoleranz optimiert werden.

Kompromisse:

  • Höherer CPU- und Netzwerk-Overhead – Erfordert Berechnungen zur Kodierung/Dekodierung von Daten.
  • Etwas höhere Latenz – Insbesondere bei kleinen Schreibvorgängen.

Typische Anwendungsfälle:

  • Storage (S3) fĂĽr groĂźe, selten geänderte Dateien
  • Backup-Archive
  • Medien-Repositorys

Auswahl der richtigen Methode

Kriterium Replication Erasure Coding
Performance Am höchsten Moderat (abhängig vom EC profile)
Storage Effizienz Niedrig Hoch
Wiederherstellungsgeschwindigkeit Sofort Benötigt Rekonstruktion
Am besten geeignet fĂĽr Datenbanken, VMs, low-latency workloads Objekt storage, Archive, groĂźe Datensets

Faustregel fĂĽr Ceph

Verwenden Sie Replikation für leistungskritische Workloads, bei denen Geschwindigkeit und sofortiges Failover wichtiger sind als reine Kapazitätseffizienz.

Verwenden Sie Erasure Coding für große Datensätze, bei denen die Kosten für Storage wichtig sind und die Zugriffsmuster weniger latenzempfindlich sind.