Backup von ZFS mit Ausnahmen für einige Datasets

crotchmaster

happy BSD user
Hallo,

ich habe inzwischen ZFS schätzen gelernt und möchte es nicht mehr missen. Allerdings gibt es bei UFS ein nettes Feature, mit dem man das nodump Flag auf Verzeichnisse setzen kann und sie somit vom Backup mittels dump ausschließen kann. So etwas vermisse ich bei ZFS. Ich habe mit Google folgenden Workaround gefunden:
Code:
# einmalig property für Ausnahme setzen
zfs set org.freebsd:nodump=yes zroot/path/of/dataset

# Backup
# snapshot erstellen
zfs snapshot -r zroot@dump

# snapshots mit gesetztem org.freebsd:nodump = yes löschen
zfs get -H -o name,value -t snapshot org.freebsd:nodump|awk '$2 == "yes" {print $1}'|xargs -n1 zfs destroy

# backup machen
zfs send -R zroot@dump

# snapshot löschen
zfs destroy -r zroot@dump

Meine periodic Mails enthält aber eine Menge Warnings, wonach es den Snapshot zroot/path/to/dataset@dump nicht gibt. Anhand der Größe des Backups habe ich den Verdacht, dass das so nicht funktioniert. Das Backup ist trotz Komprimierung viel zu groß.

Nun meine Fragen. Wo ist der Fehler im obigen Ablauf? Und gibt es eventuell einen eleganteren Weg?

Danke schon mal fürs Lesen.

c.
 
Ich bin mir jetzt nicht sicher, weil ich auch grad nur auf dem iPhone tippe ... aber ich glaube, dass mit den zfstools ein exclude von datasets möglich ist.
Die zfstools solltest Du in den Ports finden.

Gruß Walter
 
Hallo Walter,

vielen Dank für den Tipp. Laut einem Post von M. W. Lucas scheint das zu gehen. Das werde ich die Tage mal ausprobieren.

Gruß c.
 
Nach einer langen Pause will ich mal ein kurzes Update machen. Mit den zfstools kann ich automatisch Snapshots erstellen.
Code:
zfs set com.sun:auto-snapshot=true zroot #aktiviert auto snapshots für den pool, wird nach unten vererbt
zfs set com.sun:auto-snapshot=false zroot/pfad/dataset #deaktiviert auto snapshot für dieses dataset
Anschließend die crontab bearbeiten und Einträge für frequent, hourly, daily, weekly und monthly einrichten. Den crond neustarten und anschließend werden die Snapshots regelmäßig erstellt.

Das behebt aber das Problem der Warnmeldungen nicht, da zfs send -R bei einem fehlenden Snapshot in der Hierarchie auf die Nase fällt.
Das könnte ich aber lösen, in dem ich für jedes Dataset den Snapshot per zfs send sichere. Nicht schön, sollte aber gehen.
Allerdings ist beim Rumspielen ein weiteres Problem aufgetaucht, dafür mach ich aber einen neuen Thread auf.
 
Zurück
Oben