OverlayFS

Das OverlayFS ist ein vereinigendes oder auch sogenanntes Union-Mount-Dateisystem für Linux. Es verbindet mehrere unabhängige Dateisysteme, indem es ein gedankliches (oder virtuelles) Dateisystem über ein bereits Bestehendes legt. Dadurch ergibt sich eine Verzeichnisstruktur, die alle Dateien und Verzeichnisse der zusammengefassten Dateisysteme enthält. Hauptanwendungsgebiet ist, das Schreiben von Daten auf schreibgeschützten Datenträgern zu ermöglichen (LiveCDs und -DVDs, IoT-Geräte mit limitierten Flash-Speichermöglichkeiten).

Geschichte

Der Bedarf und die Spezifikation eines Linux-Union-Mount-Dateisystems im Kernel-Modus wurde Ende 2009 festgestellt.[1] Der erste RFC-Patch für OverlayFS wurde von Miklos Szeredi im Jahr 2010 erstellt,[2] der dann in 2011 auch in OpenWrt übernommen wurde.[3]

In die Linux-Hauptentwicklungslinie wurde OverlayFS 2014 in die Kernelversion 3.18 übernommen.[4][5]

In Version 4.0 kamen dann Verbesserungen hinzu, die notwendig wurden um u. a. den overlay2-Treiber in Docker zu unterstützen.[6]

Implementierung

Die wichtigsten Mechanismen von OverlayFS beziehen sich auf die Zusammenführung des Verzeichniszugriffs, wenn beide Dateisysteme ein Verzeichnis mit demselben Namen anbieten. Andernfalls präsentiert OverlayFS das Objekt, das von dem einen oder dem anderen System bereitgestellt wird, wobei das "obere" Dateisystem Vorrang hat. Im Gegensatz zu einigen anderen Overlay-Dateisystemen müssen die von OverlayFS zusammengeführten Verzeichnis-Teilbäume nicht unbedingt von verschiedenen Dateisystemen stammen.[7]

OverlayFS unterstützt Whiteouts und undurchsichtige Verzeichnisse im oberen Dateisystem, um das Löschen von Dateien und Verzeichnissen zu ermöglichen.[7]

OverlayFS unterstützt das Umbenennen von Dateien nicht, ohne eine vollständige Kopie der Datei durchzuführen; das Umbenennen von Verzeichnissen in einem oberen Dateisystem wird auch nur begrenzt unterstützt.

OverlayFS unterstützt nicht das Zusammenführen von Änderungen von einem oberen Dateisystem zu einem unteren Dateisystem.

Siehe auch

Weblinks

Einzelnachweise

  1. Valerie Aurora: Unioning file systems: Architecture, features, and design choices. LWN.net, 18. März 2009, abgerufen am 16. September 2021 (englisch).
  2. Jake Edge: Another union filesystem approach. LWN.net, 1. September 2010, abgerufen am 16. September 2021 (englisch).
  3. Felix Fietkau: Re: [PATCH 0/7] overlay filesystem: request for inclusion. (Mail an Andrew Morton). In: LWN.net. 9. Juni 2011, abgerufen am 16. September 2021 (englisch).
  4. Miklos Szeredi: overlay filesystem. commit e9be9d5e76e34872f0c37d72e25bc27fe9e2c54c. In: github.com. 24. Oktober 2014, abgerufen am 16. September 2021 (englisch).
  5. Michael Larabel: OverlayFS Proposed For The Linux 3.18 Kernel. In: phoronix.com. 29. September 2014, abgerufen am 16. September 2021 (englisch).
  6. Select a storage driver. Memento auf archive.md. In: Docker Engine User Guide. 29. September 2014, archiviert vom Original am 6. Dezember 2016; abgerufen am 16. September 2021 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/docs.docker.com
  7. a b Neil Brown: Overlay Filesystem. In: kernel.org. Abgerufen am 16. September 2021 (englisch).