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

  • skilltheamps@feddit.de
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    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

    • ted@friendica.opensocial.spaceOP
      link
      fedilink
      arrow-up
      3
      ·
      8 months 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 … 🤔