Dateisystem über mehrere Nodes Was ist ein Ceph Cluster?

Autor / Redakteur: Egoloizos / Dr. Jürgen Ehneß

Der Ceph Cluster dient der Realisation eines verteilten Dateisystems über mehrere Storage-Server hinweg. Er ist Bestandteil des Ceph-Storage, das sich als verteiltes System über mehrere Nodes erstreckt.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Ceph stellt ein verteiltes Dateisystem dar. Da es über mehrere Nodes verläuft, ist auch von einem Ceph Cluster die Rede. Im Ceph Cluster übernehmen einzelne Nodes bestimmte Rollen.

Monitoring Nodes

Ceph Monitoring Nodes dienen dem Aufbau einer Cluster-Map. Daher sind sie verantwortlich für die Generierung eines einheitlichen Cluster-Status. Diesen Status verwalten die auch als „Ceph Monitors“ bekannten Nodes gleichermaßen. Der Ceph Monitor stellt eine Art Daemon dar, der als Systemdienst für Status- sowie Konfigurationsinformationen verantwortlich ist.

Typischerweise handelt es sich in einem Ceph Cluster um eine ungerade Anzahl von Monitoring Nodes. Bei kleineren Clustern sind es oftmals drei oder fünf Monitors. Mindestens die Hälfte dieser Anzahl von Monitor-Nodes muss aktuell am Laufen sein, andernfalls kann der Cluster seinen definierten Zustand verlieren. In diesem Fall wird er für Clients unzugänglich.

Object Storage Node

Object Storage Nodes stellen die zentralen und wichtigsten Speicherkomponenten im Storage-Cluster dar. Der Object Storage Node dient dazu, ein Object Storage Device (OSD) zu realisieren. Gleichermaßen verbindet der Object Storage Node das OSD mit dem Cluster. Neben den Monitor Nodes stellt also auch der Object Storage Node OSDs zur Verfügung.

Das Object Storage Device besteht im Wesentlichen aus dem Storage Device selbst (beispielsweise HDD, SSD oder RAID-Volume), einem Ceph OSD Daemon sowie einem Linux-Dateisystem (XFS, Ext4, btrfs).

Ceph dient ebenso der Erstellung sowie Verteilung von Replicas. Der OSD Ceph Daemon stellt einen Dienst dar, der den Clients gespeicherte Objekte zur Verfügung stellt. OSDs lassen sich unterscheiden in primary und secondary OSDs. Hierbei sind die primary OSDs in erster Linie verantwortlich für die Aufgabenbereiche der Replikation, der Kohärenz, des Re-Balancing und des Recovery.

Die Aufgaben der secondary OSDs liegen im Wesentlichen unter der Kontrolle der primary OSDs. Jedoch können secondary OSDs selbst zu primary OSDs werden. Anfragen durch Clients, beispielsweise Client initiated writes (Write-Anfragen), übernehmen stets die primary OSDs. Im Sinne der Antwort auf Client-Anfragen kommt es auf eine durchdachte Kommunikation zwischen den OSDs an. Dieser Prozess ist auch als „Peering“ bekannt.

Bevor es zum endgültigen Schreiben der Daten auf die OSDs kommt, gelangen diese zunächst in das Journal. Weiterhin werden Replicas gemäß der Konfiguration auf andere Nodes verteilt. Clients erhalten ihre Bestätigung über den Abschluss der Operation (ACK) erst, nachdem Daten-Replicas angelegt wurden. Hierbei ist es jedoch hinreichend, wenn die Daten in Journalen anderer Nodes liegen.

Ceph schreibt Daten schrittweise von anderen Journalen auf die OSDs. Entsprechend ist die Performance der Journale im Sinne der Abarbeitung der Client-Anfragen im Ceph Cluster von hoher Bedeutung.

Im Sinne ihrer Performance werden Journale meist auf SSDs ausgelagert. Häufig kommt es bei diesem Set-up dazu, dass mehrere Journale von verschiedenen OSDs auf einer SSD angelegt werden. Hierbei lautet eine gängige Empfehlung, nicht mehr als vier bis fünf Journale auf eine einzelne SSD zu geben.

Die wichtigsten IT-Fachbegriffe verständlich erklärt.

Verteilte, quelloffene Speicherlösung mit Dateisystem

Was ist Ceph?

(ID:47506935)