Und wieder mal ein neues Dateisystem für Linux: Red Hat startet ComposeFS

Mit ComposeFS arbeitet Red Hat an einem weiteren Linux-Dateisystem. Die technischen Grundlagen sind interessant, aber vom Praxiseinsatz ist es weit entfernt.

In Pocket speichern vorlesen Druckansicht 138 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Udo Seidel
Inhaltsverzeichnis

ComposeFS soll ein neues Linux-Dateisystem heißen, das Red-Hat-Entwickler jetzt erstmals auf der Mailing-Liste des Linux-Kernels vorstellten. Die ersten Code-Schnipsel stammen von Oktober 2021: So gesehen ist ComposeFS vielleicht noch nicht mal in seinen Kinderschuhen.

Was will, soll und kann dieses Dateisystem? Es will Dateien beziehungsweise deren Inhalte für Applikationen einfach zugreifbar machen und dabei gleichzeitig sicherstellen, dass es keine ungewollten Modifikationen gibt. Technisch handelt es sich um eine Evolution von Funktionen wie SquashFS oder OverlayFS: Es gibt also zunächst eine Struktur mit Verzeichnissen und Dateien.

ComposeFS will diese – insbesondere den Inhalt – für verschiedene Anwendungen zugänglich machen. Dabei vermeidet es unnötige Redundanzen auf dem Datenträger sowie im Speicher. ComposeFS verwaltet die Meta-Daten wie Zeitstempel und Zugriffsberechtigungen separat von den eigentlichen Daten. Der Zugriff auf Letztere erfolgt über eine Art Hash-Verfahren; der Dateiname ist schlicht die Prüfsumme über den Inhalt – und das ist der eigentliche Clou. Über diese Adressierung stellt ComposeFS sicher, dass Daten selbst für verschiedene Anwendungen nur einmal abgespeichert sind. Das gilt für den Datenträger genauso wie für den Hauptspeicher. Überdies bietet ComposeFS eine Integritätsprüfung der Daten an. Sie beruht auf fs-verity und darauf, dass das Dateisystem auf Wunsch die Prüfsummen des Inhalts ablegt beziehungsweise prüft.

Zum gegenwärtigen Zeitpunkt sehen die Hauptentwickler zwei Anwendungsfälle für ComposeFS. Nummer eins sind Podman-Container-Abbilder: ComposeFS könnte hier identische Daten mehrfach zur Verfügung stellen und dabei nur einmal speichern. Bisher sind die Daten der Container-Abbilder in sich geschlossen. Sprich: Jedes verwaltet den Inhalt komplett selbst. Wenn solche Abbilder aber identische Konstrukte verwenden, dann liegen diese auch in mehrfacher Ausführung auf dem Datenträger. Analoges gilt für die Verwaltung im Speicher. ComposeFS will genau das verhindern. Ein positiver Nebeneffekt wäre auch, dass sich das Laden von neuen Abbildern beschleunigen ließe. Man müsste dann nämlich nur noch das laden, was nicht schon in irgendeinem anderen Container-Abbild lokal vorliegt.

Der zweite Anwendungsfall ist OSTree, das unter anderem bei Fedora CoreOS zum Einsatz kommt. Hier geht es mehr um die Vereinfachung der Prozedur und auch die Sicherung der Datenintegrität. OSTree funktioniert quasi wie GIT für ein Dateisystem. Im Hintergrund verwendet es ebenfalls das oben genannte Adressierungsschema, das auf den Prüfsummen des Inhalts basiert. ComposeFS will den Checkout-Prozess eliminieren, den OSTree benutzt, um auf einen bestimmten Datenstand zu synchronisieren – also analog zum Checkout bei GIT. Das Projekt stellt bereits Werkzeuge für das Umwandeln von klassischen OSTree-Commits zu ComposeFS-Abbildern zur Verfügung.

Allerdings steht das neue Dateisystem noch ganz am Anfang, die Rückmeldungen auf der Mailing-Liste des Linux-Kernels sind überschaubar. Und an Dateisystemen mangelt es nicht und entsprechend wird sich für viele Nutzer die Frage stellen, ob es vielleicht ein besserer Ansatz wäre, ein vorhandenes zu verbessern als noch ein weiteres auf den Weg zu schicken. Immerhin: Die Datenadressierung basierend auf deren Inhalt und die einfache Prüfung der Datenintegrität sind ein neuer Ansatz. Dateisystementhusiasten können also einen ersten Blick riskieren oder es gar im Labor ausprobieren.

(fo)