GlusterFS vs. Ceph: Die Speichersysteme im Vergleich

Verteilte Speichersysteme sind die Lösung zum Speichern und Verwalten von Daten, die nicht mehr auf einen typischen Server passen. Dabei geht es nicht nur um die reine Größe. Gerade wenn es sich um unstrukturierte Daten handelt, funktioniert ein klassisches Dateisystem mit seiner Ordnerstruktur nicht mehr.

IONOS S3 Object Storage

Der IONOS S3 Object Storage ist ideal für Backups sowie zum Archivieren von Unternehmensdaten. Sie können beliebig große, statische Datenmengen kostengünstig speichern.

Hoch skalierbar
Kostengünstig
Komfortabel

Große Datenmengen speichern – GlusterFS und Ceph machen’s möglich

Bei Massendaten ist die tatsächliche Datenmenge am Anfang des Projekts nicht bekannt. Die Systeme müssen deshalb im laufenden Betrieb sehr leicht um zusätzliche Server erweiterbar sein, die sich nahtlos in ein vorhandenes Storage-System integrieren. Das sogenannte Distributed Filesystem sieht für den Anwender aus wie ein einziger Ordner in einem herkömmlichen Dateisystem. So bekommt der Anwender nichts davon mit, dass einzelne Dateien oder sogar Teile davon auf verschiedenen Servern liegen können, die sich teilweise an geografisch entfernten Orten befinden. Da GlusterFS und Ceph beide bereits Software-Layer auf Linux-Betriebssystemen sind, stellen sie keine besonderen Anforderungen an die Hardware. Linux läuft auf jedem Standard-Server und unterstützt alle gängigen Festplattentypen.

Hohe Verfügbarkeit ist entscheidend

Hohe Verfügbarkeit ist ein wichtiges Thema bei verteilten Speicherlösungen. Hardware-Ausfälle sollten so selten wie möglich vorkommen, auch die zum Betrieb notwendige Software muss selbst beim Hinzufügen neuer Komponenten ununterbrochen weiterlaufen. Wartungsarbeiten müssen sich im laufenden Betrieb erledigen lassen. Alle wichtigen Metadaten dürfen nicht nur an einer zentralen Stelle gespeichert werden. Der Zugriff auf die Metadaten muss dezentral möglich sein und es darf dabei keinen Punkt ohne Redundanz geben. Ein Serverausfall darf keinesfalls die Konsistenz des gesamten Systems beschädigen. GlusterFS und Ceph sind zwei nahezu beliebig erweiterbare Systeme mit unterschiedlichem Ansatz, mit denen Daten aus Big-Data-Projekten in einem System zusammengeführt und durchsucht werden können.

Fakt

Der Begriff „Big Data“ wird für sehr große, komplexe und kaum strukturierte Massendaten verwendet, wie sie bei wissenschaftlichen Sensoren (z. B. von GPS-Satelliten), Wetternetzwerken oder auch in der Statistik anfallen. Neben der Speicherung spielen eine effiziente Suche und die Systematisierung der Daten eine wichtige Rolle bei Big Data.

Kurzvorstellung von GlusterFS

GlusterFS ist ein verteiltes Dateisystem mit modularem Aufbau. Verschiedene Server werden über ein TCP/IP-Netzwerk miteinander verbunden. Als POSIX (Portable Operating System Interface)-konformes Dateisystem lässt sich GlusterFS leicht in bestehende Linux-Serverumgebungen integrieren. Das gilt auch für FreeBSD, OpenSolaris und macOS, die POSIX ebenfalls unterstützen. Die Einbindung in Windows-Umgebungen ist bisher nur über den Umweg eines Linux-Servers als Gateway möglich.

Funktionsweise von GlusterFS

GlusterFS war in der Anfangszeit ein klassisches dateibasiertes Speichersystem, das erst später objektorientiert wurde, wobei besonderer Wert auf die optimale Integrierbarkeit in die bekannte Open-Source-Cloud-Lösung OpenStack gelegt wurde. Im Hintergrund arbeitet GlusterFS weiterhin auf Dateibasis, wobei jeder Datei ein Objekt zugeordnet wird, deren Verbindung über Hardlinks im Dateisystem festgelegt ist. Dem Anwender gegenüber treten keine dedizierten Server auf, denn ihm stehen eigene Schnittstellen zur Verfügung, um seine Daten auf dem GlusterFS, das als Gesamtsystem erscheint, zu speichern.

Vorteile Nachteile
Leichte Einbindung in Linux-Systeme Einbindung in Windows-Systeme nur über Umwege
POSIX-Kompatibilität  
FUSE-Unterstützung (File System in User Space)  

Kurzvorstellung von Ceph

Die verteilte Open-Source-Storage-Lösung Ceph ist ein Objektspeicher, der auf der Basis binärer Objekte funktioniert und damit die starren Blockstrukturen klassischer Datenträger umgeht. Physikalisch verwendet Ceph zwar auch Festplatten, ein eigener Algorithmus regelt jedoch die Verwaltung der binären Objekte, die quer über mehrere Server in beliebige Teile aufgeteilt und später wieder zusammengesetzt werden können.

Funktionsweise von Ceph

Alle Komponenten funktionieren dezentral. Alle OSDs (Object Based Storage Device = objektbasiertes Speichergerät) sind untereinander gleichberechtigt. So können beliebig viele Server mit unterschiedlichen Festplatten miteinander zu einem Speichersystem verbunden werden. Ceph bietet durch drei wichtige Schnittstellen verschiedene Möglichkeiten, sich in vorhandene Systemumgebungen zu integrieren: CephFS als Linux-Dateisystemtreiber, RADOS Block Devices (RBD) als Linux-Device, der sich direkt einbinden lässt, und das RADOS Gateway, das zu Swift und Amazon S3 kompatibel ist.

Vorteile Nachteile
Leichte Einbindung in alle Systeme, unabhängig vom verwendeten Betriebssystem Schwächere Dateisystemfunktionen
Block Device für Linux Höherer Einarbeitungsaufwand durch völlig neuartige Speicherstrukturen
CephFS-Dateisystem für Linux  
Amazon-S3-Schnittstelle  
Nahtlose Anbindung an Keystone-Authentifizierung  
FUSE-Modul (File System in User Space) zur Unterstützung von Systemen ohne CephFS-Client  

Vergleich: GlusterFS vs. Ceph

Bedingt durch die technischen Unterschiede zwischen GlusterFS und Ceph gibt es keinen eindeutigen Gewinner. Prinzipiell ist Ceph ein objektbasierter Speicher für unstrukturierte Daten, wohingegen GlusterFS hierarchische Dateisystembäume in Blockspeichern nutzt. GlusterFS hat seine Ursprünge in einem hocheffizienten dateibasierten Speichersystem, das immer mehr in Richtung Objektorientierung weiterentwickelt wird. Im Gegensatz dazu wurde Ceph von Anfang an als binärer Objektspeicher (Object Storage) entwickelt und nicht als klassisches Dateisystem, was zu Schwächen bei typischen Dateisystemoperationen führen kann.

GlusterFS Ceph
Stärken im Dateisystem Stärken im Object Store
Schnellerer Speicheralgorithmus Bessere Performance auf einfacher Hardware
Kein zentraler Metadaten-Server nötig Leichte Einbindung in alle Systeme, unabhängig vom verwendeten Betriebssystem
Geringere Komplexität Block Device für Linux
Bessere Eignung zum Speichern größerer Dateien (ab etwa 4 MB pro Datei) Einfachere Möglichkeiten für kundenspezifische Anpassungen
Bessere Eignung für Dateien mit sequenziellem Zugriff RADOS-Kompatibilität

Wann ist welches System sinnvoll einzusetzen?

Ceph ist durch seine vielfältigen Schnittstellen gut in heterogenen Netzwerken nutzbar, wo neben Linux auch noch andere Betriebssysteme eingesetzt werden. Dafür spielt GlusterFS seine Stärken aus, wenn es um das Speichern einer großen Anzahl klassischer und auch größerer Dateien geht. Da Ceph von Anfang an als Open-Source-Lösung entwickelt wurde, war es früher an vielen Stellen leichter einsetzbar als GlusterFS, das erst später als Open Source freigegeben wurde. Ein wichtiges Einsatzgebiet für verteilte Speicher sind Cloud-Lösungen. Hier ist OpenStack eines der wichtigsten Software-Projekte, die Architekturen für Cloud-Computing anbieten. GlusterFS und Ceph arbeiten gleichermaßen gut mit OpenStack zusammen.