Hier sind einige Gedanken - ich lerne das noch und werde es aktualisieren, wenn ich gehe.
So wählen Sie das Union-Dateisystem aus
Es gibt zwei Möglichkeiten, dies zu betrachten:
- Wie vergleichen sich die Funktionen der einzelnen?
- Welchen sollte ich für einige häufige Anwendungsfälle wählen?
Ich werde unionfs / unionfs-fuse / overlayfs / aufs / mergerfs vergleichen, wobei letzteres ein Ersatz für mhddfs ist.
Eigenschaften von jedem
Entwicklungsstatus
Distribution / Kernel-Unterstützung
Es gibt Dateisysteme im Kernelmodus und im Benutzersystemmodus, wobei letztere unter FUSE ausgeführt werden. Kernel-Modi haben weniger Overhead (es gibt Overhead, wenn Code zwischen User Space und Kernel Space wechselt), aber der einzige, der derzeit im Linux-Kernel unterstützt wird, sind Overlays . Dateisysteme im Benutzermodus sind für Distributionen einfacher zu verpacken.
- unionfs und aufs benötigen kernel patches
- unionfs wird nicht von Debian vertrieben (der Rest ist)
- unionfs-fuse und mergerfs basieren auf FUSE, sodass keine zusätzlichen Module im Kernel erforderlich sind
- overlayfs ist seit 3.18 Teil des Kernels (Debian Stretch)
Beim Schreiben kopieren
Dies bezieht sich auf den folgenden Anwendungsfall für Live-CDs:
- mergerfs hat keine Kopie beim Schreiben
- Die anderen tun es
Anwendungsfälle
Schreibgeschützter Root / Anwendungsfall der Live-CD
Die Idee ist, eine schreibgeschützte CD-ROM / Partition eines Linux-Systems zu haben. Das Union-Dateisystem lässt es für den Benutzer so aussehen, als wäre es ein Lese- / Schreibsystem, damit er Änderungen vornehmen kann. Es gibt ein Lese- / Schreib-Dateisystem (z. B. eine tmpfs-RAM-Disk), in dem das "Delta" aller vom Benutzer vorgenommenen Änderungen gespeichert ist, jedoch nicht der vollständige Snapshot.
Hier würde jedes der Union-Dateisysteme funktionieren.
Docker-Anwendungsfall
Ich bin mir bewusst, dass dies ein Hauptanwendungsfall ist, kenne aber die Details nicht - kann jemand eine Anleitung dazu geben?
Festplatten zusammenführen
Beispielsweise könnten Sie zwei Sätze von /home
Verzeichnissen auf verschiedenen Dateisystemen haben. Oder Sie aktualisieren Ihren Heimcomputer möglicherweise mit einer zweiten Festplatte und möchten ein einziges logisches Volume.
Hier möchten Sie eigentlich kein Copy-on-Write, daher ist mergerfs möglicherweise die beste Wahl.
Union-Dateisystem versus LVM für das Festplatten-Pooling
Ich werde einige Anwendungsfälle auflisten, die mit Union-Dateisystemen erreicht werden können, jedoch nicht mit LVM:
Wenn Sie ein vorhandenes System mit einer zweiten Festplatte aktualisieren, ist mergerfs möglicherweise besser, da Sie bei LVM die erste Festplatte neu formatieren müssen, um die Daten auf der Festplatte zu entfernen. Ein Union-Dateisystem würde diesen Schritt vermeiden.
LVM teilt eine Datei möglicherweise auf zwei physische Festplatten auf (unter der Annahme von RAID 0), sodass Sie sie verlieren, wenn eine Festplatte ausfällt.
Einige Benutzer möchten beispielsweise ihr /home
Verzeichnis auf einem USB-Stick aufbewahren, den sie mitnehmen können.
Im Anwendungsfall einer virtuellen Partition auf zwei physischen Festplatten müssen Sie sich mit LVM keine Gedanken darüber machen, ob Dateien auf der einen oder der anderen Festplatte gespeichert werden. Mit mergefs kann das System automatisch auswählen, welches für Sie verfügbar ist, je nachdem, wie viel freier Speicherplatz verfügbar ist.