GlusterFS hat eine bewegte Geschichte hinter sich. Die ursprünglichen Ideen waren einfache Verwaltung und Administration sowie die Unabhängigkeit von klassischen Herstellern. Inzwischen hat sich der Fokus aber deutlich erweitert – dazu später mehr. Seine ersten Schritte machte die Software als Ersatz für NAS-Systeme (Network Attached Storage). GlusterFS abstrahiert von herkömmlichen Datenträgern, indem es eine zusätzliche Schicht zwischen dem Storage und dem Benutzer einzieht. Im Hintergrund nutzt die Software traditionelle blockbasierte Dateisysteme zum Ablegen der Daten. Die kleinste Verwaltungseinheit bei GlusterFS sind Dateien. Dabei gibt es eine Eins-zu-eins-Entsprechung zwischen den Daten, die der Anwender ablegt und denen, die im Backend ankommen.
Das Fundament der Storage-Lösung bilden die sogenannten Bricks. Im Grunde genommen sind dies Linux-Rechner mit frei verfügbarem Plattenplatz. Das können Partitionen, idealerweise jedoch ganze Festplatten oder sogar RAID-Arrays sein. Dabei spielt es nur eine untergeordnete Rolle, wieviele Datenträger pro Brick zur Verfügung stehen oder wieviele Server beteiligt sind. Diese Bricks stehen in einem Vertrauensverhältnis zueinander. GlusterFS fasst diese lokalen Verzeichnisse zu einem gemeinsamen Namensraum zusammen. Dies ist noch ein recht grobes Konstrukt und nur bedingt benutzbar.
Hier kommt die zweite wichtige Komponente von GlusterFS in Spiel: die Translatoren. Dies sind kleine Bausteine, die den freizugebenden Speicherplatz mit einer bestimmten Eigenschaft versehen. Da wären beispielsweise POSIX-Kompatibilität oder die Verteilung von Daten im Hintergrund. Der Anwender hat mit den Translatoren in den seltensten Fällen direkt zu tun. Über die Admin-Shell legt man die Eigenschaften des GlusterFS-Speichers fest. Im Hintergrund holt sich die Software die entsprechenden Translatoren zusammen. Das Resultat ist ein sogenanntes GlusterFS-Volume (Abbildung 1). Eine Besonderheit an GlusterFS ist die Meta-Daten-Verwaltung. Im Unterschied zu anderen verteilten Storage-Lösungen gibt es keine dedizierten Server oder Instanzen. Dem Anwender stehen verschiedene Schnittstellen zur Verfügung, um seine Daten im GlusterFS abzulegen.