Composefs-Dateisystem für Linux vorgeschlagen

Alexander Larsson, der Erfinder von Flatpak bei Red Hat, hat eine Vorschau von Patches veröffentlicht, die das Composefs-Dateisystem für den Linux-Kernel implementieren. Das vorgeschlagene Dateisystem ähnelt Squashfs und eignet sich auch zum Mounten schreibgeschützter Bilder. Die Unterschiede beschränken sich auf die Fähigkeit von Composefs, den Inhalt mehrerer gemounteter Disk-Images effizient zu teilen und die Authentifizierung lesbarer Daten zu unterstützen. Als Einsatzgebiete, in denen der Composefs FS gefragt sein könnte, werden das Mounten von Container-Images und die Verwendung eines Git-ähnlichen OSTree-Repositorys genannt.

Composefs verwendet ein inhaltsbasiertes Adressierungsspeichermodell, d. h. Die primäre Kennung ist nicht der Dateiname, sondern ein Hash des Dateiinhalts. Dieses Modell bietet Deduplizierung und ermöglicht es Ihnen, tatsächlich nur eine Kopie derselben Dateien zu speichern, die in verschiedenen bereitgestellten Partitionen vorkommen. Container-Images enthalten beispielsweise viele gängige Systemdateien, und mit Composefs wird jede dieser Dateien von allen gemounteten Images gemeinsam genutzt, ohne dass Tricks wie die Weiterleitung mit Hardlinks zum Einsatz kommen. Gleichzeitig werden freigegebene Dateien nicht nur als einzelne Kopie auf der Festplatte gespeichert, sondern auch durch einen Eintrag im Seitencache verwaltet, wodurch sowohl Festplatte als auch RAM gespart werden können.

Um Speicherplatz zu sparen, werden Daten und Metadaten in gemounteten Images getrennt. Geben Sie beim Mounten Folgendes an:

  • Ein binärer Index, der alle Dateisystemmetadaten, Dateinamen, Berechtigungen und andere Informationen enthält, mit Ausnahme des tatsächlichen Inhalts der Dateien.
  • Das Basisverzeichnis, in dem der Inhalt aller gemounteten Bilddateien gespeichert wird. Dateien werden in Bezug auf den Hash ihres Inhalts gespeichert.

Für jedes FS-Image wird ein binärer Index erstellt und das Basisverzeichnis ist für alle Images gleich. Um den Inhalt einzelner Dateien und des gesamten Bildes unter gemeinsamen Speicherbedingungen zu überprüfen, kann der fs-verity-Mechanismus verwendet werden, der beim Zugriff auf Dateien prüft, ob die im Binärindex angegebenen Hashes dem tatsächlichen Inhalt entsprechen (d. h. wenn ein Angreifer eine Änderung an einer Datei im Basisverzeichnis vornimmt oder Daten aufgrund eines Fehlers beschädigt werden, wird ein solcher Abgleich eine Diskrepanz aufdecken).

Source: opennet.ru

Kommentar hinzufügen