Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal ablegt?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal ablegt?

Beitrag von Cordess » 22.02.2023 01:35:21

Folgende Problemstellung:

Ich habe ein Verzeichnis, ich nenne es mal Master, mit bspw. 100 GiB an Daten.
Das Verzeichnis enthält verschiedene Ordner mit Unterordner, in der die Daten für die tägliche Nutzung für meine Bedürfnisse auf einem beliebig großen Datenträger optimal strukturiert und geordnet sind.

Nun möchte ich die Daten als Backup sichern, aber anstatt einfach eine 1:1 Kopie zu erstellen, welches ebenfalls einen vergleichbar beliebig großen Datenträger erfordern würde und weil ich die Daten auf einem Datenträger sichern will, der keine elektronischen Komponenten enthält und ich auch nur bestimmte Daten, aber nicht alle sichern will, will ich die Daten auf DVD-RAM sichern. Das würde mindestens etwa 23 DVD-RAM Medien erfordern.

Allerdings will ich die Daten nicht einfach linear wie bei einem Multiarchiv Packer von Medium *1.iso bis n.iso sichern, was ein ebensolches lineares zurücklesen auf einem entsprechend großen Datenträger bedeuten würde, sondern ich möchte auf die Dateien jederzeit beliebig zugreifen können und das auch von einem ganz anderen Rechner. Ich möchte also in der Lage sein später auf einem ganz anderen Rechner, allein aus den DVD-RAM Medien eine ganz bestimmte Datei herauszupicken.

Daher kann ich die Daten nicht einfach linear, wie bei einem Multiarchiv Packer wegsichern und dann auf die einzelnen Medien schreiben, sondern ich möchte die Daten in einem virtuellen neuen logischen Verzeichnisbaum mit einer eigenen Quota Größenbeschränkung, nämlich die 4,38 GB einer DVD-RAM, neu strukturieren und jedem virtuellen logischen Verzeichnisbaum einen eigenen Namen geben.
Und das ganze auf Dateisystemebene, damit ich die Daten mit klassischen Systemtools neu ordnen und verwalten kann.

Das Anlegen dieser virtuellen logischen Verzeichnisse mit Quote Größenbeschränkung findet also immer noch auf dem beliebig großen Datenträger, in der Regel also eine LVM Volumegroup auf SSD/HDs statt.

Am Ende soll ich also folgende Struktur haben können:

|- Master (beliebig groß und enthält alle Daten)
|- DVD_Vol_1 (max 4,38 GiB und enthält einen Teil der Daten von Master)
|- DVD_Vol_2 (max 4,38 GiB)
|- ...
|- DVD_Vol_n (max 4,38 GiB)

Die Daten sollen auf dieser LVM Volumegroup (RAID Redundanz mal ausgenommen) aber nur einmal vorhanden sein.
In den logisch virtuellen Verzeichnissen habe ich praktisch Referenzen auf die richtigen Daten stehen.

Im Prinzip könnte man so etwas mit Hard Links imitieren, allerdings ergeben sich daraus folgende Probleme:

1. Habe ich für die Verzeichnisse DVD_Vol_1 bis DVD_Vol_n keine Quota Größenbeschränkung und müsste dann händisch nachprüfen ob das Verzeichnis noch nicht zu groß ist.

2. Fehlt die Möglichkeit mit ln und Hardlinks einen ganzen Verzeichnisbaum automatisiert nachzubilden. Dafür wäre ein ln Befehl notwendig, der rekursiv ganze Verzeichnisbäume "kopiert", also hard links für Dateien rekursiv anlegt und Verzeichnisse neu anlegt. Aber das kann ln version 8.32 meines Wissens nach nicht. Zwar könnte man sich sicher mit einem Skript aushelfen oder rsync dafür missbrauchen, aber ersteres ist halt nicht out of the box vorhanden und zweiteres ist einfach kein normales ln.

3. Die meisten Dateimanager legen Verknüpfungen als symbolische Links und nicht als Hardlink an. Dateimanager kann man zum Verwalten und strukturieren also nicht benutzen, was ein großer Nachteil ist.

(Optional)
4. Hard Links erlauben keine individuellen Zugriffsrechte, weil es ein und die selbe Datei ist und die Zugriffsrechte fest mit den Dateien verknüpft sind, was allerdings auch gewünscht sein kann.

Und symbolische Links scheiden ganz aus, da sie bei Verschiebebefehlen die Quelle verlieren oder bei den Zugriffsrechten nicht direkt anzeigen, welche Zugriffsrechte bestehen.

Ebenfalls scheiden so Lösungen wie bind mounts von Verzeichnisbäumen aus, weil die wiederum keine individuell gestaltete Strukturierung, die vom Master abweicht, erlauben.


Optimal wäre somit eine Art virtuelle Partition, die man virtuell anlegt und der man eine feste Größe gibt und die man in den Verzeichnisbaum an beliebiger Stelle mounten kann und die dann mit df anzeigt, wie viel Platz darin noch ist.
In dieser virtuellen Partition soll man dann Verzeichnisse beliebig anlegen können.
Aber wenn man Dateien von außerhalb, also vom master Verzeichnis, in diese virtuelle Partition kopiert, dann geschieht dies als Hard Link. Die Datei ist dann immer noch nur einmal vorhanden. Diese virtuelle Partition muss also innerhalb der echten Partition liegen, bzw. an diese gebunden sein, damit Hard Links funktionieren. Die Anforderung, dass man auch Dateien aus anderen Partitionen kopieren kann und diese dann wirklich kopiert werden, weil das ja nicht anders geht, habe ich allerdings nicht.
Auf Userspaceebene soll das dann so sein und sich so verhalten, dass man mit dem ganz normalen cp und mv Befehl arbeiten kann, aber für Dateien intern dann doch Hard Links zur Datei auf der master Partition angelegt werden, als die Dateien nicht richtig kopiert werden.
Außerdem sol sich diese virtuelle Partition und ihre Struktur wegsichern lassen, sie sollte auf der richtigen master Partition also eine normale Datei sein.

Gibt es so ein solches Dateisystem für Debian Linux, das so etwas unterstützt oder eine irgendwie anders geartete Lösung, mit der das geht?

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von hikaru » 22.02.2023 09:21:05

Eine Lösung wie sie dir vorschwebt gibt es meines Wissens nach nicht. Aber wenn du deine Herangehensweise umdrehst, dann könnte das möglicherweise mit Debianmergerfs gehen.

Ansatz:
Deine Daten liegen primär auf N Dateisystemen mit je 4,3GB Größe. Diese sicherst du 1:1 auf deine DVD-Sammlung. Mit mergerfs lässt du dir für die tägliche Arbeit alle Daten aller Einzeldateisysteme als ein großes Dateisystem darstellen.
Soweit ich weiß* kümmert sich mergerfs selbstständig darum, die Dateien auf den Einzeldateisstemen anzuordnen, entsprechend dem verfügbaren Platz. Daraus wird natürlich eine gewisse Fragmentation entstehen, über die du irgendwie buchführen musst, falls du tatsächlich auf die Einzeldateisysteme zugreifen willst, was möglicherweise unpraktikabel wird.

Den fuse-Overhead hast du natürlich als zusätzlichen Nachteil. Auch weiß ich nicht, wie in diesem Konzept mit Dateien >4,3GB umgegangen werden soll.


*) Ich kenne mergerfs nur Ansatzweise.

Benutzeravatar
cosinus
Beiträge: 4202
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von cosinus » 22.02.2023 10:04:49

Backups auf DVD? Und dann noch die ziemliche Totgeburt DVDRAM? 8O
Warum machst du kein Backup mit rsync auf externe Platten?

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von Cordess » 22.02.2023 19:49:44

hikaru hat geschrieben: ↑ zum Beitrag ↑
22.02.2023 09:21:05
Eine Lösung wie sie dir vorschwebt gibt es meines Wissens nach nicht. Aber wenn du deine Herangehensweise umdrehst, dann könnte das möglicherweise mit Debianmergerfs gehen.
Danke für deine Antwort. Schade, dass es da keine Lösung gibt.

Der Alternativvorschlag mit mergefs ist für mich ungeeignet, da ich meine Daten grundsätzlich auf dem großen Medium strukturieren und ordnen möchte und auf DVD-RAM nur eine Teilsicherung der absolut wichtigsten Daten zusätzlich zum regulären Backup erfolgen soll und das ja nur ein Backup sein soll, während das große Medium für den Alltagsgebrauch benutzt wird. Wenn ich jetzt meine große Datenmenge auf viele kleine Ordner umstrukurieren würde, dann führt das nur zu mehr Aufwand im alltäglichen Gebrauch.

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von hikaru » 22.02.2023 19:56:06

Cordess hat geschrieben: ↑ zum Beitrag ↑
22.02.2023 19:49:44
Wenn ich jetzt meine große Datenmenge auf viele kleine Ordner umstrukurieren würde, dann führt das nur zu mehr Aufwand im alltäglichen Gebrauch.
Genau das würde ja mergerfs für dich übernehmen.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von Cordess » 22.02.2023 20:19:11

hikaru hat geschrieben: ↑ zum Beitrag ↑
22.02.2023 19:56:06
Cordess hat geschrieben: ↑ zum Beitrag ↑
22.02.2023 19:49:44
Wenn ich jetzt meine große Datenmenge auf viele kleine Ordner umstrukurieren würde, dann führt das nur zu mehr Aufwand im alltäglichen Gebrauch.
Genau das würde ja mergerfs für dich übernehmen.
So wie ich dich verstanden habe, müsste ich mit den kleinen 4,7 GB Speichern arbeiten und mergfs würde das ganze nur am Ende zusammenführen. Die große Datenmenge bzw. das Verzeichnis mit allen Daten wäre also nur als Backup geeignet, ich könnte da keine Dateien reinkopieren, weil ich das zuerst bei den 4,7 GB Speichern machen und anschließend mit mergfs zum großen zusammenfügen müsste.

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von hikaru » 22.02.2023 21:07:12

Du erstellst N (z.B. 10) Dateisysteme zu 4,3GB. Diese mountest du alle zusammen mit mergerfs in ein einziges Fuse-Dateisystem (hier: 43GB). Du selbst arbeitest dann ausschließlich auf dem Fuse-Dateisystem. mergerfs verteilt deine Daten selbstständig auf die N zugrundeliegenden 4,3GB-Dateisysteme. Jene fasst du nur noch zum Erstellen der DVDs an.

Wie gesagt: So die Theorie. Praktische Erfahrung habe ich mit mergerfs nicht wirklich. Es ist nur ein Ansatz den ich für prüfenswert halte, wenn du dein Vorhaben umsetzen willst.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von Cordess » 22.02.2023 21:20:43

hikaru hat geschrieben: ↑ zum Beitrag ↑
22.02.2023 21:07:12
Du erstellst N (z.B. 10) Dateisysteme zu 4,3GB. Diese mountest du alle zusammen mit mergerfs in ein einziges Fuse-Dateisystem (hier: 43GB). Du selbst arbeitest dann ausschließlich auf dem Fuse-Dateisystem. mergerfs verteilt deine Daten selbstständig auf die N zugrundeliegenden 4,3GB-Dateisysteme. Jene fasst du nur noch zum Erstellen der DVDs an.
Verstehe. Wenn mergsfs die Daten selbstständig verteilt, dann habe ich allerdings keinen Einfluss darauf wo was landet.
Ich kann dann zwar auf die einzelnen Dateien direkt zugreifen, sofern sie nicht zerstückelt werden, was schon einmal besser ist als ein Multiarchiv, aber ich müsste die Dateien dann doch zusammensuchen.

Dazu kommt noch der Overhead im täglichen Einsatz mit dem zusammengefügten Fuse-Dateisystem.
Wie gesagt: So die Theorie. Praktische Erfahrung habe ich mit mergerfs nicht wirklich. Es ist nur ein Ansatz den ich für prüfenswert halte, wenn du dein Vorhaben umsetzen willst.
Auf jeden Fall einmal Danke für den Vorschlag, ich glaube aber, dass die Nachteile im täglichen Einsatz überwiegen und ich mir doch eine andere Lösung ausdenken muss.


Benutzeravatar
bluestar
Beiträge: 2419
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Gibt es ein Dateisystem das virtuelle Partitionen auf dem gleichen Datenträge erlaubt, aber die Daten nur einmal abl

Beitrag von bluestar » 23.02.2023 19:16:02

Mir ist kein aktuelles Dateisystem bekannt, was dein Problem auch nur annähernd abbildet. Der Gedanke dahinter passt für mich in Richtung WinFS (https://de.wikipedia.org/wiki/WinFS), das wurde jedoch zwischenzeitlich auch schon beerdigt.

Geh mal im Bereich von Dokumenten-Management-Systemen auf die Suche, diese existieren ja gerade für diesen Problemfall eine Lösung abzubilden.

Ich habe hier Paperless-ngx (https://github.com/paperless-ngx/paperless-ngx) im Einsatz, jedes Dokument wird einmalig gespeichert und kann in beliebig vielen Varianten in den virtuellen Verzeichnisbaum eingehangen werden.

Antworten