GlusterFS – was ist das?

GlusterFS ist ein verteiltes, beliebig skalierbares Dateisystem, das Speicherelemente von mehreren Servern in einem einheitlichen Dateisystem aggregiert. Dateisysteme arbeiten im Verborgenen. Kaum jemand macht sich nach der Installation noch Gedanken darüber. Meist ändert sich dies erst, wenn Daten verloren gegangen sind oder das Dateisystem an seine Grenzen stößt, beispielsweise durch die maximale Größe einer Partition oder Beschränkungen bei den Speicherpfadtiefen.

Wer und was verbirgt sich hinter GlusterFS?

Der Name „Gluster“ setzt sich aus „GNU“ (GNU’s not Unix) und „Cluster“ zusammen. Das System wurde unter der GNU-General Public License (GNU-GPLS) veröffentlicht und kann somit kostenfrei genutzt werden. Der Begriff „Cluster“ (wörtliche Übersetzung: „Haufen“) beschreibt im Kontext von Datenträgern die logische Zusammenfassung von physikalischen Speichereinheiten. Im Zusammenhang mit Rechnern ist damit ein vernetzter Verbund mehrerer Systeme gemeint. GlusterFS vereint diese Ansätze, indem es Speicherplatz von vernetzten Rechnern zusammenfasst und als logische Einheit verwendet.

Das Projekt wurde 2005 durch die Gluster Inc. veröffentlicht. Im Jahr 2011 übernahm der Linux-Distributor RedHat das Unternehmen und entwickelt das Dateisystem seitdem stetig weiter. Im Januar 2020 erschien die Version 7 von GlusterFS. Sie ist vorkompiliert für folgende Linux-Distributionen erhältlich:

  • CentOS
  • Debian
  • Fedora
  • RedHat/RHEL
  • SUSE
  • Ubuntu

Die Beschränkung auf Unix-basierte Systeme ist in der Einbindung des Speichers über das FUSE-Modul begründet. Dieses ist bislang nicht in einer ausreichenden Stabilität für Windows verfügbar.

Hinweis

FUSE ist die Abkürzung für Filesystem in Userspace. Betriebssysteme untergliedern sich üblicherweise in den User- und den Kernel-Bereich. Letzterer ist besonders geschützt und beispielsweise nur mit Administratorenrechten zugänglich. Daher ist das Einbinden („Mounten“) und die Verwaltung von Laufwerken normalerweise nur mit Administratorenrechten möglich. FUSE erlaubt es jedoch auch Benutzern, Dateisysteme zu verwalten.

Rechner können als Server und als Client fungieren. Ein reiner Zugriff auf das Dateisystem ist aber auch von anderen Systemen aus möglich. Es werden das NFS (Network File System) und SMB/CIFS (Server Message Block/Common Internet File System) unterstützt.

Funktionsweise von GlusterFS

Sinnvoll ist ein verteiltes Dateisystem erst, wenn mehrere Rechner miteinander verbunden werden. In der Dokumentation von GlusterFS werden mindestens drei Server gefordert. Dabei ist der Begriff „Server“ aber nicht wörtlich zu verstehen. Es kann nahezu jede Form von physikalischer oder emulierter Hardware eingebunden werden. Neben beliebigen Rechnern ist auch der Einsatz virtueller Maschinen praktikabel. Dies bringt Vorteile mit sich, insbesondere im Hinblick auf die Flexibilität.

Die eingebundenen Server fungieren als Nodes (Knotenpunkte). Diese verbinden sich über das TCP/IP-Netzwerk. Die eingebundenen Geräte bilden einen sogenannten Trusted Pool, also einen Verbund vertrauenswürdiger Server. Ihren Speicher stellen sie in Form von Bricks (Bausteine) zur Verfügung. Auf den Bricks werden schließlich die Volumes (Laufwerke) gebildet. Diese können in der Folge wie normale Datenträger eingebunden und verwendet werden. Zugreifende Rechner werden als Clients bezeichnet. Es ist möglich, dass ein PC sowohl Server als auch Client ist.

Ein besonderes Merkmal ist die enorme Skalierbarkeit. Es können später beliebig viele Nodes und Bricks ergänzt werden. Hierdurch kann die Größe des Speicherplatzes laufend den jeweiligen Anforderungen angepasst werden. Die maximale Größe des zu verwaltenden Speichers liegt bei mehreren Petabytes.

Zudem gewährleistet GlusterFS eine Ausfallsicherheit durch Redundanz. Das Ausfallrisiko verteilt sich zunächst auf mehrere Systeme, die auch räumlich getrennt stehen können. Zusätzlich ist es möglich, RAID-Verbunde einzurichten. Im Gegensatz zum standardmäßig vorgegebenen Distributed (verteilten) Volume muss hierzu ein Replicated (kopiertes) Volume angelegt werden. Dieses speichert jede Datei doppelt und entspricht einem Mirror-RAID.

Fakt

Redundant Array of Independent Disks (RAID) ist ein Verbund physikalisch voneinander unabhängiger Festplatten. Auf diesen wird ein zusammenhängendes Laufwerk gebildet. Je nach Zielrichtung kann der Fokus auf Geschwindigkeit oder Datensicherheit gelegt werden. Entsprechend verringert sich dann der Speicherplatz durch mehrfache Ablage von Daten oder Speicherung von Zusatzinformationen für eine Dateiwiederherstellung.

Für Transaktionen auf dem Speicherplatz bietet GlusterFS zehn vordefinierte Translatoren. Diese übersetzen Befehle, die mit Nutzerrechten erteilt wurden, für die Ausführung auf dem Speicher. Beispiele sind der Translator „Storage“, der Daten auf dem lokalen Dateisystem speichert und den Zugriff darauf regelt, oder der Translator „Encryption“, der für die Verschlüsselung zuständig ist.

Eine neue Funktion ist die Geo-Replikation, mit der eine asynchrone Verteilung von Daten auf Server mit unterschiedlichen Standorten durchgeführt werden kann. Dies bietet zusätzlichen Schutz vor physikalischer Einwirkung auf die Server, etwa durch Schadensereignisse wie Brände oder Diebstahl. Dabei fungiert ein Rechner als Master und ein weiterer als Slave. Die Übertragung der Daten ist per SSH (Secure Shell) abgesichert.

Vor- und Nachteile von GlusterFS

Wir haben einige Vor- und Nachteile eines verteilten Dateisystems gegenüber einem herkömmlichen Netzwerkspeicher in einer Übersicht für Sie zusammengefasst:

Vorteile von Gluster Nachteile von Gluster
Gute Auslastung vorhandener Kapazitäten Schaffung einer komplexeren Netzwerkstruktur
Erhöhung der Ausfallsicherheit Erhöhter administrativer Aufwand bei der Einrichtung
Verteilung der Netzlast Schnelle Netzwerkinfrastruktur nötig
Sehr gute Skalierbarkeit Zusätzlicher Aufwand zur technischen Absicherung

Anwendungsfälle von GlusterFS

GlusterFS bildet im Prinzip mustergültig eine Cloud ab. Ein Speicherplatz, der sich in einem Verbund befindet, wird den angeschlossenen Clients zugänglich gemacht. Dies eignet sich insbesondere für größere Netzwerke, in denen ohnehin ausreichend Ressourcen für die Bildung eines Verbunds vorhanden sind.

Da die Anbindung der Geräte über das Internet-Protokoll erfolgt, eignen sich vor allem Unternehmensstrukturen mit mehreren Zweigstellen gut für den Aufbau eines verteilten Dateisystems. Aber auch in örtlich begrenzten Netzwerkstrukturen kann auf diese Weise ein dedizierter Netzwerkspeicher eingespart werden – und dass sogar, ohne auf Redundanz verzichten zu müssen.

Tipp

Sie möchten selbst mit GlusterFS arbeiten? IONOS hat einen ausführlichen How-to-Artikel für Installation und Einrichtung des Dateisystems für Sie verfasst.

Alternativen zu GlusterFS

Neben GlusterFS ist insbesondere Ceph eine Alternative, die ebenfalls kostenfrei verfügbar ist und viele der aufgeführten Vorteile verteilter Dateisysteme bietet. Ceph und Gluster haben jeweils unterschiedliche Vor- und Nachteile (Sehen Sie hierzu auch unseren Artikel GlusterFS vs. Ceph, in dem wir beide Systeme miteinader vergleichen).

Speziell für leistungsstarke Rechnersysteme wurde das BeeGFS (zuvor FhGFS) vom Fraunhofer-Institut entwickelt. Es wird ebenfalls kostenlos angeboten und legt einen Fokus auf einfache Bedienbarkeit.

Im kommerziellen Bereich gibt es zudem Systeme wie Storage Spaces Direct (S2D) von Microsoft, dessen Anwendung allerdings auf kostenpflichtig lizensierte Windows-Server beschränkt ist.