iX 1/2019
S. 56
Review
Dateisystemverwaltung
Aufmacherbild

Datenträger mit Stratis einfach verwalten

Zwiebeltechnik

Das von Red Hat forcierte Stratis will Volume-Management, RAID-Funktionen und Dateisystemverwaltung in einem Werkzeug zusammenfassen.

Etwas überraschend präsentierte Red Hat im Sommer 2018 mit der Ankündigung einer Software als Ablösung von Btrfs und ZFS: Stratis. Das schon seit über zwei Jahren existierende Projekt hat sich auf die Fahnen geschrieben, die Benutzung von lokalem Speicher zu vereinfachen. Bislang kann dies recht schnell komplex werden, da viele Komponenten ineinandergreifen müssen. Das beginnt mit dem Einbinden der Festplatten und reicht über das Einrichten von Schutzmechanismen wie RAID bis hin zum Erstellen der Dateisysteme.

Und das ist erst der Anfang. Da wäre noch die Option, Änderungen am Dateisystem einfach rückgängig zu machen oder zu kopieren. Oder die Notwendigkeit, den Platz für noch mehr Daten zu erweitern. Unter Linux ist der zugehörige Stack recht umfangreich. Das erlaubt eine große Flexibilität und erfordert den Einsatz einer ganzen Reihe von Werkzeugen und Kommandos. Bei dieser Komplexität schleichen sich auch leicht Fehler ein.

Dieses Dilemma ist schon längst bekannt und es existieren mehrere Lösungsansätze. Da ist zunächst das ursprünglich von Sun Microsystems entwickelte ZFS. Dessen Lizenz – CDDL (Common Development and Distribution License) – verhindert eine Integration in den Linux-Kernel. Vor über zehn Jahren betrat Btrfs die Dateisystembühne. Neben der Ablösung von Altgedientem wie Ext3/4 oder XFS positionierte es sich als Linux-Kernel-kompatible Alternative zu ZFS. Von der anfänglichen Euphorie über den neuen Stern am Dateisystemhimmel ist nicht viel geblieben. Das Linux-weite Durchstarten von Btrfs fand nicht statt und es gibt auch keine Anzeichen dafür, dass sich daran in naher Zukunft etwas ändert.

Aus der Vogelperspektive betrachtet

Grob gesehen verfolgt Stratis einen zu ZFS und Btrfs analogen Ansatz: Alle Datenträger wandern zunächst in einen Speicherpool. Dort lassen sich bestimmte Eigenschaften, etwa RAID-Funktionen, festlegen. Aus diesem Pool können Administratoren (fast) beliebig große Stücke herausschneiden und mit einem Dateisystem versehen. Dabei benutzen sie nur ein Werkzeug und bestenfalls sogar nur eine API.

Stratis’ Position in der Datenträgerverwaltung von Linux (Abb. 1)

Anders als ZFS und Btrfs will Stratis dies mit möglichst wenig eigenem Code erreichen. Dafür greift das Projekt auf die vorhandenen Komponenten wie Device Mapper und eventuell LVM oder existierende Dateisysteme und ihre Werkzeuge zurück. Nur fehlende Funktionen soll Stratis liefern. Es dient außerdem als „Über-Schnittstelle“ zu allen verwendeten Techniken. Und auch hier erfindet Stratis das Rad nicht neu und setzt auf D-Bus auf. Das erleichtert zudem die Integration in schon vorhandene Werkzeuge für die Datenträgerverwaltung. Beispiele dafür sind das Installationsprogramm Anaconda oder die Administrationssuite Cockpit. Abbildung 1 zeigt, wie sich das Projekt als Teil der Datenträgerverwaltung von Linux sieht. Das verdeutlicht auch einen weiteren Unterschied zu Btrfs und ZFS: Stratis benutzt zwar Funktionen aus dem Linux-Kernel (wie Device Mapper oder XFS), die eigenen Komponenten sind jedoch im User Space aktiv.