this post was submitted on 10 Nov 2023
15 points (100.0% liked)

Linux

1647 readers
1 users here now

News, Tipps und Tricks zu Linux

founded 2 years ago
MODERATORS
 

Eine Frage zu ZFS an die Linuxer und ITler unter euch.

Ich habe hier einen ZFS-Pool auf dem ich per BashScript snapshots anlege und die inkrementell per "zfs send -vRI ... | zfs receive -v ..." auf einen BackupPool repliziert werden. Läuft alles und ist schick und schön.

Problem: wenn ich alte Snapshots auf dem HauptPool lösche (Platz freigeben), klappt die nächste inkrementelle Replik nicht mehr.
Fehler: "cannot receive incremental stream: destination MyPool/MyDataSet has been modified".

Kann mir einer von euch einen Tipp geben, was ich falsch mache bzw. wie das lösen kann?

@linux #linux #zfs #Replikation #Backup #Snapshots

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago (1 children)

Keine Ahnung von ZFS, aber wenn es genauso ist wie bei BTRFS, dann braucht man beim Differenziellen Senden den Stand des Ziels, um die Differenz überhaupt ausrechnen zu können. Sprich die Lösung ist den letzten Snapshot immer da zu lassen. Snapshots brauchen im übrigen nur den Platz den die Änderungen belegen - also auf einem System auf dem nicht ständig alles verändert wird ist das in der Regel sehr wenig, insbesondere wenn der Snapshots nur bis zum letzten Backup zurück reicht

[–] [email protected] 3 points 1 year ago

@skilltheamps Ja, wenn ich die Daten repliziere, dann mache ich genau davor einen Snapshot von den Daten. Und beim Transfer gebe ich den letzten und den aktuellen Snapshot an, dadurch weiß das System eigentlich, welche Daten es senden muss. Die Snapshots selbst sind ja nicht inkrementell. Von der Sache klappt das ganze auch. Ich verstehe nur nicht, warum ich die alten Snapshots nicht löschen darf ... 🤔