Die Datenmenge in Unternehmen wächst unaufhaltsam und auch deren notwendige Verfügbarkeit steht längst außer Frage. Deshalb befasst sich IT-Administrator im ... (mehr)

Ceph: Der Aufrührer

Dennoch haben sich in jüngerer Vergangenheit Zweifel in der Community breitgemacht, was die Zukunftsabsichten Red Hats für GlusterFS angeht. Denn Red Hat hat sich ein weiteres Unternehmen einverleibt, das eine echte Alternative zu den gängigen Storage-Systemen bietet: Inktank und sein Produkt Ceph [2] – ebenfalls freie Software (Bild 3).

Bild 3: Gut zu erkennen ist die Struktur des Speichers: Alice, Bob und Charlie haben jeweils eine Platte, Ceph kümmert sich um den Rest.

 Verglichen mit GlusterFS ist Ceph im Aufbau deutlich komplexer. Die Lösung ist ein Objektspeicher ("Object Store"), was bedeutet, dass jede Information im Speicher in Form binärer Objekte abgelegt wird. Der Vorteil bei jenen Objekten ist, dass sie sich beliebig trennen und wieder zusammensetzen lassen, solange beide Vorgänge in der gleichen Reihenfolge passieren. Im Hintergrund werkeln bei Ceph mehrere Dienste: Die OSDs verwalten die einzelnen Festplatten, sodass für jedes vorhandene Device ein eigener OSD-Prozess existiert. OSDs tragen die Verantwortung dafür, dass die binären Objekte im Hintergrund so repliziert werden, wie es der Admin per Policy vorgegeben hat. Zu den OSDs gesellen sich die Monitoring-Server: Diese überprüfen per Paxos-Algorithmus das Quorum des Clusters und stellen so sicher, dass kein unkoordinierter Schreibzugriff auf zwei Partitionen des Clusters passiert, falls die Ceph-Installation temporär in mehrere Teile zerfällt. Garniert wird das Ensemble durch den spezifisch für Ceph entwickelten CRUSH-Algorithmus, der die Verteilung der Objekte auf alle OSDs errechnet.

In Sachen Connectivity gibt sich Ceph offen: Der Objektspeicher bietet sowohl eine Kompatibilitätsebene für Block-Geräte an ("RADOS Block Device") als auch eine API nach dem REST-Prinzip von Webservices. Das POSIX-kompatible Dateisystem CephFS, das ebenfalls auf Ceph aufbaut, befindet sich noch im Beta-Stadium und ist für den produktiven Einsatz nicht freigegeben. Durch eine spezifische Design-Entscheidung sticht CephFS heraus: Clients, die auf den Speichercluster zugreifen, reden stets mit vielen Festplatten zugleich, so wie im Hintergrund auch viele OSDs gleichzeitig miteinander reden.

Auf diese Weise kombiniert Ceph einen elementaren Performance-Vorteil von RAID, nämlich das Schreiben auf viele Spindeln gleichzeitig, mit der Möglichkeit, beliebig viele OSDs zur Installation hinzuzufügen. Und gerade weil so viele Spindeln gleichzeitig im Betrieb sind, müssen die einzelnen Platten nicht mal besonders schnell sein – typische Ceph-Setups nutzen handelsübliche SATA-Platten. Auch im konkreten Beispiel ist RAID überflüssig: Die Redundanz passiert innerhalb von Ceph auf OSD-Ebene, und Inktank rät sogar explizit davon ab, auf Hardware-Ebene noch RAID zu nutzen – das, so das Unternehmen, sei reine Platzverschwendung. Denn Ceph ist darauf ausgelegt, mit nahezu unbegrenzt vielen Einzelplatten zurechtzukommen.

XtreemFS

Der dritte Vertreter verteilter Dateisysteme in dieser Übersicht ist XtreemFS [3]. Ähnlich wie GlusterFS zielt auch XtreemFS vorrangig auf den Einsatz als POSIX-kompatibles Dateisystem ab, im Hintergrund nutzt die Lösung allerdings verschiedene Design-Faktoren, die von anderen Lösungen bekannt sind. Während bei Ceph alles dezentral ist, finden sich bei XtreemFS die "Name Nodes", die sich zentral sowohl um das Placement einzelner Dateien auf Zielfestplatten wie auch um die Verfügbarkeit des Dateisystems insgesamt kümmern, also vorrangig das Quorum sicherstellen.

XtreemFS tritt primär als Konkurrenz zu Ceph an, die XtreemFS-Entwickler unterstellen Ceph einige Design-Probleme, die sich in teils drastisch schlechter Performance bemerkbar machen. Und in der Tat ist Performance ein großes Thema bei Netzwerkdateisystemen, und nicht nur bei CephFS.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023