Dateisystem read-only, Änderungen auf anderem Datenträger speichern, wie möglich?

Fallaxia

Lieutenant
Registriert
Okt. 2012
Beiträge
684
Hi Leute,

ich möchte Folgendes erreichen und bin nicht sicher ob und wie das möglich ist.

Ich habe ein Medium, dass read-only ist, also bei dem der Inhalt nicht veränderbar ist.
Das Dateisystem dieses Mediums möchte ich unter Linux als mount point einbinden.
Alle Schreibvorgänge sollen nicht auf das Read-only Medium gehen, sondern auf ein anderes read-write Medium, welches Teil des Dateisystem ist.

Gibt es ein Dateisystem dass das ermöglicht?
 
Fallaxia schrieb:
Ich habe ein Medium, dass read-only ist, also bei dem der Inhalt nicht veränderbar ist.
nur weil es read only eingebunden ist, heisst es nicht, dass du die daten nicht veraendern kannst.

Wie auch immer, nur um das korrekt zu verstehen.
Du willst eine Partition read only einbinden. Die daten darauf sollen durch normale Interaktionen unveraenderbar sein, aber aenderungen daran sollen wo anders gespeichert werden?
Darf ich fragen zu welchem Zweck? Man kann so etwas mit relativ viel Aufwand abbilden.

Ich glaube du suchst ZFS und Snapshots. Aber erstmal deine Ziele verstehen. Dann koennen wir dir vorschlagen was du kluger weise machen kannst
 
  • Gefällt mir
Reaktionen: Baal Netbeck und BFF
@madmax2010

Das Read-only Dateisystem ist nicht nur read-only gemounted, sondern ein echtes ROM.
Nehmen wir als Beispiel eine BlueRay oder ein ähnliches WORM Medium.
Auf diesem Medium sind Daten, die aber natürlich nur gelesen, nicht geschrieben werden können.

Jetzt nehmen wir an, der Nutzer öffnet eine Datei von diesem Medium und die Anwendung möchte eine Dummy-Datei erstellen um zu signalisieren, dass eine bestimmte Datei gerade geöffnet ist (LibreOffice macht das so). Aber das ist nur ein Beispiel.

Die Anwendung kennt also den Zustand des Dateisystems nicht und geht davon aus, dass es RW ist, und wirft dann einen Fehler, da die Anwendung keine Daten schreiben kann.

Genau das soll vermieden werden. Die Anwendung soll in die Lage versetzt werden das Dateisystem nach belieben zu verändern, indem alle Änderungen auf ein anderes RW Medium geschrieben werden.

Das mit der BlueRay ist wie gesagt nur ein allgemeines Beispiel um es zu verdeutlichen.

Früher gab es das sogar mal für CDs. Man konnte eine CD R im PacketWrite Modus beschreiben, Dateien davon wieder "löschen" und andere Dateien drauf schreiben. Die "gelöschte" Datei wurde einfach als gelöscht markiert und nicht mehr dargestellt.

Auch das nur zur Veranschaulichung.

Im Ergebnis soll ein über Internet/Netzwerk zugängliches Dateisystem welches auf einem Storage System liegt der Nutzer auf dieses read-only Dateisystem zugreifen können, und Änderungen auf seinem System lokal speichern.

Ähnlich wie bei einem semi-persistenten Linux USB Stick Image, bei dem alle Änderungen in eine extra Partition geschrieben werden ohne das Image zu ändern.

Nur eben transparent für die Anwendung, also dass die Anwendung nicht wissen muss, dass sie ihre Daten an einen anderen Ort schreiben muss.
 
  • Gefällt mir
Reaktionen: netzgestaltung
Dann schau dir den Link von @mkossmann an denn was du suchst, findet man unter den diversen union mount Dateisystemen wie z.B. overlayfs, aufs oder unionfs.
Der User sieht nur das overlayfs aber das wiederum besteht aus zwei Quellen: Der ro vom zentralen Storage und dem lokalen rw Pfad/Volume.
Aber: Wie alles im Leben gibt es zwei Seiten der Medaille bzw. nix ist perfekt, das solltest du daher bedenken: https://en.wikipedia.org/wiki/OverlayFS#Implementation
 
@mkossmann
@snaxilian

Danke für die Infos zu OverflayFS. Ich bin derzeit dabei es zu implementieren und testen
 
Zurück
Oben