Verständnisfrage: Copy-on-Write Dateisysteme

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Verständnisfrage: Copy-on-Write Dateisysteme

Beitrag von Tintom » 18.09.2019 12:21:37

Hallo zusammen,
ich lese mich gerade in die Eigenschaften von Copy-on-Write Dateisystemen (COW-FS) wie btrfs oder zfs ein und mein Verständnis gerät etwas ins Stocken.

Ich möchte künftig auf einem Backup-PC, der mit einem COW-FS betrieben werden soll, mittels rsync Sicherungen von Maschinen, welche kein COW-FS haben, durchführen.
TL;DR:

Code: Alles auswählen

BACKUP-PC	<-------------------	REMOTE
btrfs/zfs/???		rsync		ext4/ntfs
Ich möchte möglichst speichereffizient arbeiten, da REMOTE entweder im LAN oder weiter entfernt im Internet (Bandbreite variiert stark) sein kann. Bei rsync arbeite ich mit Hardlinks, die Funktionsweise habe ich (hoffentlich) verstanden.

Nehmen wir folgendes Szenario an:
Auf REMOTE wird die Datei FILE.img neu geschrieben. FILE.img wurde so erzeugt: cat video1.mpg video2.mpg > FILE.img
Starte ich nun rsync wird die komplette Datei FILE.img übertragen.
Nun ändere ich video2.mpg und erzeuge die Datei FILE.img erneut. Weil sich die Prüfsummen unterscheiden wird rsync wird die Datei als neue Datei erkennen und wieder FILE.img komplett übertragen.

Was passiert jetzt auf BACKUP-PC mit dem COW-FS? Erkennt das Dateisystem, ob video1.mpg unverändert ist und wird deswegen nur video2.mpg neu geschrieben?

--Tintom

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Verständnisfrage: Copy-on-Write Dateisysteme

Beitrag von smutbert » 18.09.2019 12:29:58

Bei btrfs wird die Datei komplett neu geschrieben, denn rsync weiß nicht bzw. nimmt keine Rücksicht darauf, dass der erste Teil der Datei sich nicht geändert hat. Für zfs gilt vermutlich grundsätzlich dasselbe, aber eine eventuelle (online-)Datendeduplikation könnte greifen.

btrfs-send/-receive sind da schlauer, aber erfordern auch als Quelle btrfs.

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Verständnisfrage: Copy-on-Write Dateisysteme

Beitrag von Tintom » 18.09.2019 12:53:22

Danke für deinen Beitrag smutbert!
Ich habe unterdessen einen Mailverlauf auf einer Mailingsliste gefunden, der mein Problem ziemlich exakt beschreibt: https://lists.samba.org/archive/rsync/2 ... 28363.html
Anscheinend reicht es demnach aus rsync auf dem BACKUP-PC mit den Optionen --inplace und --no-whole-file zu starten, damit wirklich nur die veränderten Dateiblöcke übertragen werden. Ich werde testen und melde mich wieder :)

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: Verständnisfrage: Copy-on-Write Dateisysteme

Beitrag von wanne » 18.09.2019 13:25:27

Erkennt das Dateisystem, ob video1.mpg unverändert ist und wird deswegen nur video2.mpg neu geschrieben?
Gundsätzlich unterschiedlich bei ZFS und btrfs. ZFS könnte das (bei passenden mountoptionen erkennen und FILE.img aus video1.mpg und video2.mpg Teilen zusammensetzen und nur die gänderten Teile von video2.mpeg zu speichern.) btrfs stellt sich erst mal dumm.
Es gibt aber diverse Tools, die im Nachinein in nem btrfs nach gleichen Dateiteilen suchen können und so nach ähnlichen Teilen suchen können.
In beiden Fällen ist rsync selbst intelligent genug für das geänderte video2.mpg nur die geänderten Teile zu übertragen aber FILE.img wird immer vollständig übertragen, weil es ja ne neue Datei ist. Dafür gibt es wie von smutbert gesagt btrfs-send/-receive.
Dann wird wirklich nur die Änderung von video2.mpg übertragen und FILE.img wird nicht übertragen werden müssen, weil es sich ja aus den alten teilen von video1.mpeg und video2.mpeg zusammensetzt, die das Backup schon kennt.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten