Open Source im professionellen Einsatz
Linux-Magazin 05/2016
© DENYS Rudyi, 123RF

© DENYS Rudyi, 123RF

Der Objektspeicher Ceph mit Neuerungen

Sichtbar renoviert

Der Objektspeicher Ceph bleibt ein Projekt im Wandel: Ein neues GUI, ein neues Storage-Backend und die Produktionsreife von Ceph-FS melden nun die Entwickler.

913

Als Red Hat 2014 Inktank übernahm und sich damit den Objektspeicher Ceph [1] einverleibte, ging ein Raunen durch die Community. Einerseits, weil Red Hat in Form von Gluster-FS [2] bereits einen direkten Konkurrenten von Ceph im Portfolio hatte, andererseits, weil Inktank ein so junges Unternehmen war – für das die roten Hüte viel Geld auf den Tisch legten. Knapp zwei Jahre später ist klar, dass Gluster-FS bei Red Hat nur noch eine untergeordnete Rolle spielt und das Unternehmen stattdessen verstärkt auf Ceph setzt.

Das hat die Firma in der Zwischenzeit weiterentwickelt: Viele der Kinderkrankheiten früherer Versionen sind geheilt. Neben der Korrektur von Fehlern wünschten sich Entwickler und Admins aber auch neue Features: So können sich viele Admins mit Calamari, dem von Red Hat propagierten Ceph-GUI, schwer anfreunden, sie brauchen Alternativen. Das Ceph-FS-Dateisystem, das die Keimzelle von Ceph ist, dümpelte seit zwei Jahren im Beta-Zustand und sollte sich endlich produktiv nutzen lassen. Zudem erntete die Lösung immer wieder Kritik für ihre Performance, die in Sachen Latenz mit etablierten Speicherlösungen nicht mithalten konnte.

Raum für Verbesserung gab es also mehr als genug. Und tatsächlich hat sich bei Ceph in den letzten Monaten viel getan. Ein guter Grund, einmal genauer hinzusehen: Bringen die neuen Funktionen im Alltag echte Vorteile für Admins? Was hat es mit dem neuen GUI auf sich?

Das leidige Thema Ceph-FS

Die Situation scheint paradox: Ceph fing vor über zehn Jahren als Netzwerk-Dateisystem an. Sage Weil, der Erfinder der Lösung, hatte damals im Rahmen seiner Doktorarbeit das Thema "Verteilte Dateisysteme" aufgegriffen. Es war sein Ziel, ein besseres Lustre-FS zu schaffen, das ohne dessen Probleme auskommen sollte. Aber als Weil das Projekt Ceph zu seiner Hauptbeschäftigung und zu einem kommerziell vermarkteten Produkt machen konnte, rückte das ursprüngliche Ziel in den Hintergrund: Auf der Welle des Cloud Computing ließ sich viel mehr Geld mit Blockspeicher für virtuelle Maschinen verdienen.

Konsequenterweise floss viel Zeit in die Entwicklung der Bibliothek Librbd, die für Qemu mittlerweile ein natives Ceph-Backend anbietet. Auch Speicherdienste im Sinne von Dropbox erscheinen kommerziell vielversprechender: Cephs Rados-Gateway bietet diese Funktion im Gespann mit einem klassischen Webserver. Wer auf Ceph-FS wartete, musste in den letzten Jahren vorrangig mit Versprechungen vorlieb nehmen. Mehrmals gelobte Sage Weil, Ceph-FS werde bald fertig sein. Passiert ist in dieser Hinsicht allerdings lange wenig.

Schuld daran ist neben dem verschobenen Fokus die Komplexität der Aufgabe. Einerseits muss ein Dateisystem wie Ceph-FS Posix-kompatibel sein, weil es sich sonst nicht sinnvoll einsetzen ließe. Andererseits stellen die Ceph-Entwickler an ihre Lösung selbst hohe Anforderungen: Jede Komponente einer Ceph-Installation soll nahtlos skalieren.

Zu einem Ceph-Cluster gehören mindestens zwei Arten von Diensten: Einerseits kümmert sich ein Daemon um die Object Storage Devices (OSD-Daemon), er sorgt dafür, dass sich die einzelnen Platten im Cluster nutzen lassen. Andererseits braucht es die Monitoring-Server (MONs), die Wächter des Clusters, die die Integrität der Daten sicherstellen. Wer Ceph-FS nutzen will, benötigt nun noch einen weiteren Dienst: den Metadatenserver, kurz MDS (Abbildung 1).

Abbildung 1: Damit Ceph-FS funktioniert, braucht der Cluster neben MONs und OSDs auch Metadatenserver. Die haben die Entwickler in Ceph Jewel aufgemotzt.

Unter der Haube funktioniert der Zugriff auf den Ceph-Speicher mittels Ceph-FS fast genauso wie beim Zugriff per Blockdevice-Emulation. Clients laden ihre Daten auf ein einzelnes OSD, das im Hintergrund die Replikation selbstständig erledigt. Damit Ceph-FS tatsächlich in Posix-kompatibler Manier Metadaten anbieten kann, gesellen sich die MDS als eigenständige Dienste hinzu.

Die MDS selbst enthalten übrigens gar nicht die zu einzelnen Objekten gehörenden Metadaten. Die sind stattdessen direkt in den User-extended Attributes der einzelnen Objekte auf den OSDs abgelegt. Im Grunde fungieren die MDS-Instanzen eines Ceph-Clusters nur als Caches für jene Metadaten. Gäbe es sie nicht, würde jeder einzelne Zugriff auf eine Datei in Ceph-FS sehr lange dauern.

Performance und Skalierbarkeit

Damit das Metadatensystem auch in großen Clustern mit vielen gleichzeitigen Zugriffen funktioniert, müssen MDS-Instanzen beliebig in die Breite skalieren können. Das ist technisch komplex: Für jedes einzelne Objekt muss es immer den einen MDS geben, der in letzter Instanz verantwortlich für die Metadaten eben jenes Objekts ist. Die Zuweisung der Verantwortlichkeit muss also für alle Objekte im Cluster dynamisch funktionieren. Fügt der Admin einem bestehenden Cluster einen weiteren Metadatenserver hinzu, muss sich Ceph automatisch um die Zuweisung von Objekten zu diesem MDS kümmern.

Die Lösung für das Problem, die die Ceph-Entwickler sich ausgedacht haben, ist schlau: Sie teilen einfach den gesamten Dateisystembaum von Ceph-FS in Unterbäume (Subtrees) auf und weisen die Verantwortlichkeit für jeden einzelnen Tree dynamisch MDS-Instanzen zu. Betritt ein neuer Metadatenserver den Cluster, erhält er automatisch die Hoheit über einen Subtree. Das muss auf jeder Ebene des Posix-Baums klappen: Sind alle Bäume auf der obersten Ebene vergeben, muss der Ceph-Cluster die nächstkleinere Ebene partitionieren.

Das Prinzip nennt sich Dynamic Subtree Partitioning (DSP) und hat Sage Weil und sein Team bereits einige Nerven gekostet. Denn die Aufgabe, die Zuweisung der Posix-Metadatenbäume dynamisch für einzelne Metadatenserver zu regeln, erwies sich als hochkompliziert. Das ist einer der Hauptgründe dafür, dass Ceph-FS nicht bereits als regelmäßig verwendbar deklariert ist.

Die gute Nachricht: Für die nächste Ceph-Version (Jewel) wollen die Entwickler Ceph-FS stabilisieren. Die Arbeiten am DSP waren zu Redaktionsschluss weitestgehend abgeschlossen. Es ist also sehr wahrscheinlich, dass Ceph-FS in der Jewel-Version offiziell als einsetzbar gilt..

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Verteilte Dateisysteme

    Das Versprechen von Software Defined Storage ist es, heterogenen Speicher zentral und mit eingebauter Redundanz zu verwalten. Der folgende Test geht der Frage nach, wie kompliziert das Aufsetzen der dazu nötigen verteilten Dateisysteme ist. Ein Benchmark zeigt, welche Operationen jedes am besten beherrscht.

  • Ceph-Day

    Das Storage-Backend mit dem Tintenfisch-Namen hat eine sehr aktive Community. Das freut den Hersteller Inktank – er lud Ende Februar zum zweiten "Ceph-Day Europe" nach Frankfurt ein.

  • Ceph 0.87 verbessert Datendurchsatz und Performance

    Das verteilte Dateisystem Ceph kommt unter anderem in Open Stack zum Einsatz. Version 0.87, Codename Giant, verbessert die Rados-Performance und den Umgang mit Object Store Devices (OSD).

  • Storage-Cluster

    Wer Cloudumgebungen baut, braucht nicht nur eine skalierbare Infrastruktur, sondern auch eine performante Storagekomponente. Zu den relevanten Speicherlösungen, die dieser Schwerpunkt vorstellt, gehört auch der Newcomer Ceph, der als Objectstore für die Cloud ein schönes Paar mit Open Stack abgibt.

  • Dovecot und S3

    Indem Admins Dovecot mit einem Objektspeicher nach S3-Standard an den Start bringen, umgehen sie die typischen Skalierbarkeitsprobleme bei Mailservern. Mit einem – allerdings kommerziellen – Dovecot-Plugin von den Entwicklern des Mailservers selbst gelingt das ohne große Probleme.

comments powered by Disqus

Ausgabe 06/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.