Deduplizierung in SMB-Freigabe durch Symlinks

Probleme mit Samba, NFS, FTP und Co.
Antworten
jdr
Beiträge: 10
Registriert: 19.07.2020 09:39:04

Deduplizierung in SMB-Freigabe durch Symlinks

Beitrag von jdr » 28.08.2022 08:19:16

Moin,

ich hab eine etwas spezielle Anforderung.

Auf meinem "NAS" (N54L mit Debian stable) habe ich einen ZFS-Pool für meine Daten und zusätzlich noch eine einzelne externe ext4-Platte als "Speicherplatzerweiterung".

Auf der externen Platte ist auch ein Verzeichnis, das über SMB freigegeben ist und in das meine Freundin die Daten ihres Notebooks über ein Robocopy-Skript sichert. Funktioniert auch soweit alles. Jetzt ist es aber so, dass einige Daten sowohl in meinem ZFS-Pool als auch bei meiner Freundin auf der externen Platte vorhanden sind (z. B. Fotos gemeinsamer Urlaube, diverse MP3s etc.). Das ist natürlich Platzverschwendung, daher möchte ich das Ganze deduplizieren, so dass in der Freigabe meiner Freundin die doppelt vorhandenen Dateien nur noch symlinks auf die entsprechende Datei in meinem ZFS-Pool sind. Also z. B.

statt

Code: Alles auswählen

/datenpool/bilder/urlaub1/foto1.jpg als Datei
/exthd/freundin/bilder/urlaub1/foto1.jpg als Datei
soll es dann folgendermaßen sein

Code: Alles auswählen

/datenpool/bilder/urlaub1/foto1.jpg als Datei
/exthd/freundin/bilder/urlaub1/foto1.jpg als Symlink auf /datenpool/bilder/urlaub1/foto1.jpg
Das mit den Symlinks bekomme ich noch hin. Aber wie realisiere ich Folgendes?
  • Über die Freundin-Freigabe darf nur Lesezugriff auf meine Dateien möglich sein, kein schreibender Zugriff. Wenn eine Datei in der Freigabe editiert oder gelöscht wird, darf das keinen Einfluss auf die Originaldateien haben.
  • Robocopy sollte möglichst gar nicht merken, dass das nur Symlinks sind, d. h. bei einem Aufruf des Robocopy-Skripts auf dem Notebook soll es für Robocopy bei vorhandenen Dateien so aussehen als seien es wirklich die Dateien und keine Symlinks, so dass nur neue/geänderte Dateien kopiert werden.
Gruß
jdr

DeletedUserReAsG

Re: Deduplizierung in SMB-Freigabe durch Symlinks

Beitrag von DeletedUserReAsG » 28.08.2022 08:34:55

jdr hat geschrieben: ↑ zum Beitrag ↑
28.08.2022 08:19:16
Über die Freundin-Freigabe darf nur Lesezugriff auf meine Dateien möglich sein, kein schreibender Zugriff. Wenn eine Datei in der Freigabe editiert oder gelöscht wird, darf das keinen Einfluss auf die Originaldateien haben.
Das ist prinzipbedingt mit Links nicht möglich – ein Link ist ein Verweis auf eine Datei, und eine Datei kann nur einen Inhalt haben.

Es gäbe andere Wege, etwa VCS, Overlay-FS oder Snapshots, aber das ist in Verbindung mit SMB möglicherweise nicht trivial aufzusetzen.

uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

Re: Deduplizierung in SMB-Freigabe durch Symlinks

Beitrag von uname » 28.08.2022 08:48:44

Also wirklich Ahnung habe ich nicht. Aber müsste die Speicherung auf ZFS-Ebene nicht erfolgen und für jegliche Art von Freigabe wie z. B. SMB vollkommen transparent sein? Das mit dem Symlinks wären wohl eher eine Art von Hardlinks, die aus Sicht des jeweiligen Anwenders keinerlei Relevanz hätte. Auch wäre die Benutzerverwaltung (lesen, schreiben) natürlich beliebig konfigurierbar, einzig die Daten würden nicht mehr doppelt, sondern nur noch einfach vorliegen.

Ich habe hierzu mal einen Beitrag gefunden.

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

Re: Deduplizierung in SMB-Freigabe durch Symlinks

Beitrag von cosinus » 28.08.2022 11:09:17

jdr hat geschrieben: ↑ zum Beitrag ↑
28.08.2022 08:19:16
Jetzt ist es aber so, dass einige Daten sowohl in meinem ZFS-Pool als auch bei meiner Freundin auf der externen Platte vorhanden sind (z. B. Fotos gemeinsamer Urlaube, diverse MP3s etc.).
Warum sind diese Dateien überhaupt doppelt vorhanden? Macht ihr parallel dieselben Fotos, dann liegen diese auf dem NAS und gleichzeitig auch dem Notebook deiner Freundin? Und wenn sie Backups macht, dann landen diese Fotos auch noch auf die externe Platte am NAS? :?

Ich sichere lieber ein paar Dateien zuviel als zuwenig. Das Windows11-Notebook von meinem Vaddi sichere ich mit Drivesnapshot auf eine externe Platte, da wird einfach stumpf das gesamte Dateisystem von Windows gesichert.

jdr
Beiträge: 10
Registriert: 19.07.2020 09:39:04

Re: Deduplizierung in SMB-Freigabe durch Symlinks

Beitrag von jdr » 29.08.2022 07:39:27

Guten Morgen,

danke für eure Rückmeldungen.
niemand hat geschrieben: ↑ zum Beitrag ↑
28.08.2022 08:34:55
Das ist prinzipbedingt mit Links nicht möglich – ein Link ist ein Verweis auf eine Datei, und eine Datei kann nur einen Inhalt haben.
Es gäbe andere Wege, etwa VCS, Overlay-FS oder Snapshots, aber das ist in Verbindung mit SMB möglicherweise nicht trivial aufzusetzen.
Schade, ich hatte zwar schon befürchtet, dass es nicht trivial ist, aber irgendwie doch die Hoffnung, dass es einfach gehen könnte... Ich habe gestern mal eine ganz einfache Lösung ausprobiert. Ich habe in /exthd/freundin/test/ einen Symlink auf Testdatei.txt in /datenpool/test/ erzeugt. Auf die originale Textdatei.txt hatte der Account meiner Freundin nur Leserechte. Ergebnis in der SMB-Freigabe: Ich konnte die Datei lesen. Ich konnte die Datei nicht editieren, da hat er mich nach einem neuen Dateinamen zum Speichern gefragt. Ich konnte die Datei löschen, da hat er eben nur den Symlink gelöscht. Das wäre ja vielleicht sogar schon ausreichend. Dann werde ich mich der Sache am besten mal widmen, wenn die Wochenenden wieder dunkel und regnerisch sind. ;)

uname hat geschrieben: ↑ zum Beitrag ↑
28.08.2022 08:48:44
Ich habe hierzu mal einen Beitrag gefunden.
Jup, innerhalb eines ZFS-Pools sollte das auch funktionieren, aber die externe Platte ist ein eigenes ext4-Dateisystem, somit scheidet das leider aus.

cosinus hat geschrieben: ↑ zum Beitrag ↑
28.08.2022 11:09:17
Warum sind diese Dateien überhaupt doppelt vorhanden? Macht ihr parallel dieselben Fotos, dann liegen diese auf dem NAS und gleichzeitig auch dem Notebook deiner Freundin? Und wenn sie Backups macht, dann landen diese Fotos auch noch auf die externe Platte am NAS? :?
Tja, berechtigte Frage...ist leider tatsächlich so. Wir haben getrennte Datenhaltung und sie will oft meine Urlaubsfotos dann auch nochmal auf ihrem Notebook ablegen. Und ihre Freigabe auf dem NAS ist nur ein Backup ihrer Notebook-Daten; das wird dann auch noch - zusätzlich zu meinen eigenen Daten - verschlüsselt in die Wolke gesichert. Wäre langfristig natürlich auch eine Idee, ob sie meine Urlaubsbilder wirklich nochmal separat braucht. Dann bliebe aber das Thema mit der Musik. Um die zusammenzuführen, müssten wir wohl ein halbes Jahr Sabbatical machen. ;)


Wie dem auch sei, ich werde jetzt mal weiter ein bisschen rumspielen, wenn Zeit und Wetter es zulassen. Solange muss ich mit den paar verschwendeten GB (das ist nicht mal im dreistelligen Bereich) leben.

Antworten