Geclusterte Dateisysteme

Wenn es um Personal-Computing geht, besteht die übliche Praxis darin, ein Speichergerät an einen dedizierten Computer anzuschließen, das ein lokales Dateisystem für Verwaltung von Daten unter der Kontrolle Betriebssystems dieses PCs hat, wie im Artikel über die Grundlagen des Dateisystems erläutert. Dieser Ansatz ist jedoch im Falle einer Infrastruktur der Enterprise-Klasse nicht immer effektiv. Ein komplexes System kann zahlreiche Laufwerke umfassen, die sich auf verschiedenen Servern befinden können. Trotzdem müssen diese Server möglicherweise zusammenarbeiten, um eine einzelne anspruchsvolle Aufgabe zu bewältigen, oder um gleichzeitig auf dieselben Daten zugreifen zu können. Eine Möglichkeit, dies zu erreichen, ist mittels eines geclusterten Dateisystems. Solche Lösung lässt sie als eine einzige Speichereinheit erscheinen, die zur gleichzeitigen Nutzung verfügbar ist, unabhängig von den zugrunde liegenden digitalen Medien oder Computern, auf denen sie gehostet werden. Hier können Sie sich ein grundlegendes Verständnis dieser Technologie verschaffen und sich über verschiedene geclusterte Dateisystemtypen informieren.


Was ist ein geclustertes Dateisystem?

Ein normales Dateisystem ist nicht dazu gedacht, auf mehr als einem Server gleichzeitig gemountet zu werden. Andernfalls kann dies zu ernsthaften Inkonsistenzen kommen, die seine logische Struktur beschädigen. Beispielsweise können zwei Server, die sich der Aktivitäten des anderen nicht bewusst sind, versuchen, denselben Speicherblock verschiedenen Dateien zuzuweisen, wobei sie sich auf die in ihren Arbeitsspeicher geladene Informationen über freie Blöcke verlassen. Oder bestimmte Blöcke werden möglicherweise bereits von einem Server geändert, und andere ignorieren diese Tatsache und verwenden stattdessen den veralteten Inhalt. Solches Problem kann durch die Verwendung eines geclusterten Dateisystems angegangen werden.

Ein geclustertes Dateisystem kann auf mehreren Servern gleichzeitig gemountet werden, während es von ihnen auf Blockebene zugegriffen und als einheitliche Einheit verwaltet wird. Es stellt die verfügbare Speicherkapazität zusammen und teilt sie zwischen den Servern auf. Gleichzeitig werden Unstimmigkeiten eliminiert, da jeder Server mit dem tatsächlichen Dateisystemstatus synchron bleibt, als ob alle seine Anwendungen auf derselben Maschine ausgeführt würden.

Solches Dateisystem arbeitet auf Blockgeräten (Festplatten, SSDs, Speicherarrays usw.), die direkt an den Server angeschlossen oder über Netzwerkprotokolle wie iSCSI, Fibre Channel, ATA über Ethernet usw. verbunden sein können und in den Cluster importiert werden. Die typischste Implementierung umfasst ein Storage-Area-Network (SAN).

In Bezug auf die Funktionalität ähnelt ein geclustertes Dateisystem jedem herkömmlichen Format, wie NTFS von Microsoft Windows oder ext4 von Linux. Es dient auch als Mechanismus, um Daten auf einem Speicher zu organisieren und bei Bedarf abzurufen. Der Unterschied liegt darin, dass es sich auf zwei oder mehr Servern befindet, die zu einer Cluster-Konfiguration verbunden sind. Und alle Mitglieder dieses Clusters können auf die gemeinsam genutzte Speicherressource lesen und schreiben, genau wie auf ihren lokalen Laufwerken. Trotzdem werden alle Änderungen, die von einer Maschine vorgenommen werden, sofort für die anderen sichtbar, sodass die Datenintegrität gewahrt bleibt. Und das Dateisystem selbst koordiniert Ein-/Ausgabeoperationen und kann sie sperren, um die sogenannten Kollisionen zu vermeiden. Damit dies möglich ist, können die wesentlichen Metadaten des Dateisystems entweder auf alle Server in einem Cluster verteilt oder auf einem zentralen Metadatenserver gespeichert werden.

Geclusterte Dateisysteme bieten viele Vorteile für Umgebungen mit mehreren Servern. Sie vereinfachen die Administration des Speichers und ermöglichen die Verwaltung des gesamten Clusters aus der Ferne oder von jedem Server in diesem Cluster. Die meisten von ihnen beinhalten einen Volumen-Manager, der es möglich macht, die erforderliche Menge an Kapazität bereitzustellen. Es wird auch einfach, das System zu erweitern, indem ein neuer Server hinzugefügt wird. Einige bieten möglicherweise erweiterte Sicherheitsfunktionen wie Replikation und Snapshots. Auf der anderen Seite beinhaltet dieses Speichermodell jedoch häufig kostspielige Ausrüstung, einschließlich teurer Festplattenarrays, Switches, Verkabelung, Host-Bus-Adapter usw., und kann angesichts der komplexen Architektur schwierig zu warten sein.

Gängige geclusterte Dateisystemtypen

Wie es bei herkömmlichen Dateisystemen der Fall ist, werden Cluster-Lösungen von verschiedenen Anbietern und für verschiedene Anwendungsszenarien erstellt. Daher können sie in ihrem Design und ihren Fähigkeiten erheblich voneinander abweichen. Die bekanntesten geclusterten Dateisystemtypen sind wie folgt:

  • GFS2 (Global File System 2) – das primäre geclusterte Dateisystem für Linux, das von RHEL bereitgestellt wird. Es hat die ursprüngliche GFS-Version ersetzt und ist seit 2009 Teil des Kernel-Pakets.

  • VMFS (Virtual Machine File System) – ein populäres geclustertes Dateisystem, das für das Speichern von Dateien virtueller Maschinen optimiert ist. Es wurde von VMware Inc. für ihren VMware ESX Server entwickelt und wird von den Servervirtualisierungsprodukten des Unternehmens verwendet. Derzeit gibt es sechs Versionen von VMFS, die den Versionen von ESX/ESXi Server entsprechen.

  • OCFS2 (Oracle Cluster File System) – ein Allzweck-geclustertes Dateisystem, das von Oracle erstellt und seit 2006 in den Linux-Kernel integriert wurde.

  • SNFS (StorNext File System) – ein geclustertes Dateisystem der Quantum Corporation, das es Windows-, Linux- und Apple-Computern ermöglicht, auf demselben Volumen zu lesen und zu schreiben. Sein ursprünglicher Name war CentraVision File System (CVFS).

  • Xsan – ein geclustertes Dateisystem für macOS von Apple, das auf dem zuvor erwähnten StorNext-Dateisystem basiert.

  • CXFS (Clustered XFS) – ein proprietäres geclustertes Dateisystem, das von Silicon Graphics (SGI) speziell für das IRIX-Betriebssystem entwickelt und auf IRIX- und Linux-basierten Servern implementiert wurde.

  • VxCFS (Veritas Cluster File System) – ein geclustertes Dateisystem, das von Veritas Technologies entwickelt und mit ihren VERITAS Storage Foundation-Produkten vertrieben wird. Es kann auf Servern mit IBM AIX, Linux, HP-UX und Solaris eingesetzt werden.

  • GPFS (General Parallel File System) – ein geclustertes Dateisystem, das 1998 von IBM für das AIX-Betriebssystem veröffentlicht wurde. Später wurde es für Linux und Windows Server verfügbar.

Falls Sie Ihr Wissen über lokale Dateisystemtypen, die in verschiedenen Umgebungen verwendet werden, erweitern möchten, lesen Sie bitte die folgenden Artikel:

Letzte Aktualisierung: 20. April 2023

Wenn Ihnen dieser Artikel gefällt, teilen Sie ihn in sozialen Medien: