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 Object Storage
Daten sicher und günstig speichern Ersetzen Sie eigene, kostenintensive Speicherlösungen mit IONOS Object Storage. Es ist hochgradig skalierbar, äußerst kosteneffizient und integriert sich in Ihre Anwendungsszenarien. Die extrem hohe Ausfallsicherheit unserer Server sowie eine individuelle Zugriffssteuerung schützen Ihre Daten zuverlässig.
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.
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.