Cluster-Dateisystem für Forschung und Lehre Teil 2 Durch geschickte Datenverteilung zu Höchstleistungen

Autor / Redakteur: Bernd Schöne / Nico Litzel

Beim Umgang mit den Daten spürt man die Herkunft von GPFS aus dem High Performance Computing. Die Daten werden so über alle angeschlossenen Platten verteilt, dass die Zugriffs-Geschwindigkeit (I/O) maximal wird. Das geschieht durch „wide striping”, also das „Zerhacken” einer Datei in möglichst viele Blöcke.

Firma zum Thema

Leistungsfähige Supercomputer wie Mare Nostrum sind nichts ohne ein passendes Dateisystem wie GPFS. (Quelle: Barcelona Supercomputing Center)
Leistungsfähige Supercomputer wie Mare Nostrum sind nichts ohne ein passendes Dateisystem wie GPFS. (Quelle: Barcelona Supercomputing Center)
( Archiv: Vogel Business Media )

GPFS unterteilt dabei die Blöcke in bis zu 32 Subblöcke, wobei für jeden Block eine eigene Prüfsumme berechnet wird. Zunächst beschreibt das Dateisystem freie Blöcke. Wenn diese zu Neige gehen, kommen die noch freien Subblöcke mit Dateifragmenten an die Reihe.

Sollte einer der Knoten ausfallen, übernehmen automatisch die anderen dessen Dateisystemaufgaben mit. Die Anzahl der Knoten ist eher akademisch begrenzt auf aktuell 2.000 Knoten. Das nächste Update wird IBM diese Grenze auf 4.000 Knoten heraufschrauben. Beim Vorzeigeprojekt Roadrunner hatte IBM diese Grenze aber schon Anfang des Jahres durchbrochen. Für die Freigabe solch großer Installationen muss aber nach wie vor IBM kontaktiert werden. Wer Cluster in eigener Regie betreibt, muss sich auf 512 Linux- oder 128 AIX-Server beschränken.

Mit Funktionsreduzierung Leistungsreserven mobilisieren

GPFS wurde hinsichtlich Leistung und Geschwindigkeit optimiert, was all jenen Anwendern entgegenkommt, die mathematische Probleme zu lösen haben oder die sehr große Datenmengen in kürzester Zeit speichern müssen. Ein Archivsystem, das mit zigfacher Redundanz einfach nur Daten ablegt, ist GPFS nicht. So lässt sich das Dateisystemlog abschalten, um noch höhere Geschwindigkeiten zu erzielen.

Das Filesystem bleibt konsistent, selbst wenn eine Platte überraschend entfernt wird oder ausfällt. Gibt es in solch einem Fall keine (optional erstellbare und bis auf Dateiebene herunter konfigurierbare) synchrone Datenkopie, so wird das Dateisystem so lange angehalten, bis die ausgefallene Platte wieder reaktiviert wird. Mit einer synchronen Kopie würde das System wie gewohnt weiterarbeiten. Da GPFS normalerweise aber auf RAID-Arrays eingesetzt wird, ist das eher selten der Fall, da die logischen Laufwerke (LUN) ja schon durch das RAID im Storage-Subsystem abgesichert werden.

Aufgaben richtig delegieren

GPFS verwaltet die RAID-Level nicht selbst, sondern überlässt diese Organisationsaufgaben genauso wie das Data Scrubbing den angeschlossenen Storage-Subsystemen. Anders als ZFS von SUN verwendet IBM keine Schattenkopien. Veränderungen werden also direkt auf die Platte geschrieben. Das alles erhöht die Geschwindigkeit.

weiter mit: keine Datenkompression

Aus demselben Grund hat man auch auf eine direkte Kompression verzichtet. Sie würde zu viel Zeit kosten – und die hat das Dateisystem nicht, wenn unablässig riesige Datenmengen von einem Großexperiment auf es zuströmen.

Snapshots werden mit Bordmitteln unterstützt und schnell abgearbeitet. Mehrere Terabyte große Dateisysteme lassen sich in wenigen Sekunden sichern, da eine Copy-on-Write-Technik eingesetzt wird. Die momentane Version von GPFS unterstützt 31 Snapshots pro Dateisystem. Diese Snapshots sind besonders wichtig, da GPFS keine Versionsnummer kennt. Im Falle eines Falles sind die Snapshots also der Weg zurück auf einen gesicherten Datenbestand.

Beeindruckende Leistungswerte

Die technischen Daten des IBM-Dateisystems sind beeindruckend. Das General Parallel File System ist ein hochskalierbares Dateisystem für Computer-Cluster, das Hunderte von Knoten mit Tausenden von Festplatten unterstützt. Auch Tausende von Knoten sind kein Problem, wenn man eine Freigabe von IBM einholt. Und auch ein automatisches Journaling (Logging) der Metadaten ist bereits eingebaut.

GPFS stellt dem Anwender eine breite Auswahl an möglichen Blockgrößen zur Verfügung, die Bandbreite reicht von 16 bis 4.096 Kilobyte (zum Vergleich: Windows NTFS benutzt Blockgrößen von 4 bis 64 Kilobyte). GPFS ist auf maximale Geschwindigkeit ausgelegt und spaltet daher jede Datei in möglichst viele Blöcke auf und verteilt diese auf die verfügbaren Festplatten. Eine automatische Recovery-Funktion soll Datenverluste verhindern. Aktuell verwendete Daten werden zudem in großen Zwischenspeichern (Caches) auf den Clusterknoten gespeichert.

GPFS verfügt über eine Block-Allocation-Tabelle in der vermerkt wird, welcher Block auf welcher LUN zu welcher Datei gehört. Diese Tabelle wird beim Anlegen des Dateisystems erstellt und beim Hinzufügen oder Entfernen von LUNs aus dem Dateisystem entsprechend nachgeführt.

Sollte der Plattenplatz knapp werden, so versucht das System zunächst, ungenutzte Ressourcen aufzufüllen – und zwar über alle Array-Grenzen hinweg. Der Anwender selbst kann im laufenden Betrieb Dateien verschieben, Disks hinzufügen oder auch herausnehmen oder optional Daten im Dateisystem komplett neu über die Disks verteilen, um eine optimale Verteilung zu erreichen.

weiter mit: vorerst unerschöpfliche Adressierbarkeit

GPFS ist neben Schnelligkeit vor allem auf große Datenmengen optimiert. Dementsprechend sind die dort fixierten Obergrenzen beachtlich und aus heutiger Sicht unerschöpflich. Ein GPFS-Filesystem kann bis maximal 2 hoch 99 Bytes -1 ausgebaut werden. Das entspricht einer Kapazität von etwas mehr als 600.000 Yottabytes (genauer: Yottabibytes). Ebenfalls nicht absehbar ist, wann etwa eine einzelne Datei die festgelegte Maximalgröße von 16 Exabyte (genauer: Exabibyte) erreichen könnte. GPFS verwaltet dabei maximal bis zu 2 hoch 32 Dateien pro Dateisystem.

Auch die weiteren technischen Obergrenzen sind eher akademischer Natur und wurden noch nirgendwo auch nur annähernd ausgeschöpft. Pro Cluster unterstützt GPFS 256 Dateisysteme mit maximal 4.096 LUNs pro Dateisystem. Damit liegt die maximal erreichbare Kapazität bei mehr als einer Million Yottabytes. Das sind ausgeschrieben 1.000.000.000.000.000.000.000.000.000.000 Bytes!

Praktisch ergibt das unter Annahme von 8-Terabyte-LUNs ein Limit von 32 Petabyte oder 32.000 Terabyte pro Cluster. In der Praxis bewährt haben sich bislang Systeme mit bis zu zwei Petabyte. Der bekannte Mare-Nostrum-Rechner in Barcelona begnügt sich mit vergleichsweise bescheidenen 370 Terabyte.

Unter Laborbedingungen hat GPFS eine beeindruckende Maximalperformance gezeigt. Nach Herstellerangaben liegt sie bei circa 140 Gigabyte pro Sekunde und bei einem maximalen Datendurchsatz von circa 120 Gigabyte pro Sekunde, wenn alle Knoten nur eine Datei lesen oder schreiben.

Fazit

GPFS ist derzeit erst für eine wichtige kommerzielle Anwendung – den Real Application Cluster (RAC) von Oracle – zertifiziert. An weiteren Zertifizierungen arbeitet IBM. Für Betreiber eines FAN (File Area Networking) hält IBM noch eine Erweiterung von GPFS bereit, die Scale Out File Services. SoFS, die Kurzform der modular skalierbaren File-Dienste, basiert auf GPFS, beherrscht aber auch den Datentransport über die klassischen Netzwerk-ProtokolleCIFS (Common Internet File Services), FTP (File Transfer Protocol) und http (Hypertext Transfer Protocol). Damit stellt dieses Angebot dem Anwender eine Schnittstelle zu Windows und Samba, dem Linux-Derivat von CIFS, zur Verfügung.

Mit GPFS hat IBM ein Dateisystem im Portfolio, dessen Leistungsgrenzen auf lange Zeit nicht ausgereizt werden dürften. Natürlich bleiben noch Wünsche offen. Flexibilität zum Beispiel. GPFS unterstützt zwar eine breite Palette von Blockgrößen. Die Wahl ist allerdings endgültig und eine nachträgliche Korrektur ist nicht möglich. Auch ist GPFS nicht bootfähig, was bei einem verteilten Dateisystem allerdings auch nicht anders zu erwarten ist.

Dafür hat der Hightech-Anwender das beruhigende Gefühl, auf eine Lösung zu setzen, die bereits auf großen Installationen erprobt wurde, darunter sind die größten Speicherfresser im militärischen und zivilen Bereich. Wir werden noch viel von GPFS hören. Mit Sicherheit noch dieses Jahr, beim nächsten großen Update.

(ID:2018678)