SELECT statt find
Große Dateisysteme machen es den Administratoren zunehmend schwerer, Auslastungs- und Nutzerprofile im Blick zu behalten. Das Software-Paket RobinHood liefert die dafür nötigen Informationen in kurzer Zeit und hilft gleichzeitig, das Dateisystem selbst zu entlasten.
RobinHood wird federführend von der französischen Atomenergiebehörde CEA als Open-Source-Projekt entwickelt. Es besteht aus mehreren, weitgehend unabhängigen Komponenten mit unterschiedlichem Entwicklungsstand. Die Komponenten für Backup und hierarchische Speicherverwaltung (HSM) eignen sich momentan bestenfalls für Testinstallationen und können darüber hinaus nur mit den noch kaum verbreiteten Lustre-Dateisystemen ab Version 2.0 umgehen. Einsatzreif ist hingegen das so genannte Scratch-Filesystem-Management, das über Lustre hinaus beliebige Posix-Dateisysteme verwalten kann.
Von dem “Scratch” im Namen sollte man sich nicht abschrecken lassen. Eigentlich ist die RobinHood-Komponente dazu gedacht, Dateien und Verzeichnisse nach festen Regeln automatisiert zu löschen. Tatsächlich lässt sich das dazu verwendete System aber viel breiter einsetzen: Fragen wie “Wo liegen die zehn größten Dateien?” oder “Welche Dateien wurden am längsten nicht mehr verändert?” kann ein Dateisystem nicht direkt und nur mit großem Aufwand beantworten, nämlich indem ein Programm den kompletten Dateisystembaum durchsucht. Auf großen Systemen kann das Stunden oder gar Tage dauern. RobinHood führt solche Scans regelmäßig durch und repliziert dabei sämtliche Dateiattribute und sonstigen Metadaten in eine Datenbank. Die wiederum ist auf Anfragen wie die oben genannten optimiert und liefert innerhalb kurzer Zeit eine Antwort.
Bei nur einer Anfrage zwischen zwei Scan-Läufen ist unter dem Strich zwar keine Zeit gewonnen, aber schon ab der zweiten Anfrage wird der Vorteil beträchtlich. Auf einem Testsystem mit Lustre 1.8 und knapp acht Millionen Dateien benötigt ein kompletter Scan gut zwei Stunden, typische SQL-Anfragen an die RobinHood-Datenbank hingegen dauern je nach Komplexität nur etwa zehn bis neunzig Sekunden. Der Nachteil: Die Antwort ist nicht aktuell, sondern spiegelt lediglich den Stand zum Zeitpunkt des letzten Scans wider. Doch die Daten genügen in jedem Fall, um sich einen Überblick über die Auslastung des Dateisystems zu verschaffen. Zum Beispiel wo die größten Dateien liegen, wieviele Einträge die größten Verzeichnisse enthalten oder welche Anwender den meisten Platz belegen. Diese und ähnliche Informationen liefert RobinHood bereits fest integriert mit dem Befehl “rbh-report”. Eine Erweiterung für eigene Anfragen ist nicht vorgesehen, aber dafür bleibt immer noch der Weg direkt über die Datenbank.
Wo sonst normalerweise ein “find”-Befehl das gesamte Dateisystem durchsuchen würde, kann der Administrator nun alternativ mit etwas SQL-Know-How eine gleichwertige SELECT-Anfrage an die RobinHood-Tabelle ENTRIES erstellen. Ohne das Dateisystem zusätzlich zu belasten, spürt RobinHood dann beispielsweise verwaiste Dateien auf oder solche, die sich zur Komprimierung anbieten. Recht einfach und schnell lässt sich so auch eine effiziente Alternative zu “du -s” umsetzen, um den Platzbedarf einzelner Teilbäume im Dateisystem zu ermitteln. Das ist zwar kein vollwertiger Ersatz für Projekt-Quotas, aber als Anhaltspunkt für das Kapazitäts-Management taugt es allemal.
Besonders nützlich ist RobinHood in Verbindung mit Lustre-Dateisystemen, denn dort zeichnet es für jede Datei zusätzlich noch Informationen zu Striping und verwendeten OSTs auf. Fällt etwa ein OSS aus, ist kein aufwändiger Aufruf von “lfs find” mehr nötig, um die betroffenen Dateien zu ermitteln. Schneller geht es mit “rbh-report –dump-ost”. Noch interessanter wird RobinHood ab Lustre-Version 2.0, denn damit kann es auf den regelmäßigen Scan-Lauf verzichten und statt dessen über den Lustre-Changelog-Mechanismus Änderungen am Dateisystem unmittelbar in die Datenbank übernehmen. RobinHood-Anfragen liefern dann stets genauso aktuelle Ergebnisse wie “find” und Co – nur erheblich schneller. Für die meisten Lustre-Installationen ist das im Moment jedoch noch Zukunftsmusik.

abonnieren












