Beste ZFS send receive Lösung

Mardor

Well-Known Member
Hallo,

ich muss meinen FreeBSD Server umziehen, da es noch einige Zeit dauern wird bis das neue System verfügbar ist würde ich gerne die ZFS pools in eine Datei weiterleiten und später zurückspielen:

Folgendes habe ich bereits getan:


Code:
/data/root-scripts/zfs_snap_list.pl

NAME                           USED  AVAIL  REFER  MOUNTPOINT
tank@20130324_final               0      -    31K  -
tank/root@20130324_final       918K      -  5.12G  -
tank/root/tmp@20130324_final      0      -   115M  -
tank/root/var@20130324_final  51.5K      -  4.41G  -

zfs send tank/root@20130324_final | gzip > /var/20130324_final_tank_root-dir.gz
zfs send tank@20130324_final | gzip > /var/20130324_final_tank_filesystem-root.gz
zfs send tank/root/tmp@20130324_final | gzip > /var/20130324_final_tank_tmp-dir.gz
zfs send tank/root/var@20130324_final | gzip > /var/20130324_final_tank_var-dir.gz
Meine erste Frage ist hier: Würdet Ihr es genauso machen oder brauche ich noch zusätzliche Parameter ?

Weiterhin muss ich dann in der Zukunft alles wieder auf das neue System zurückspielen. Muss ich dann zuerst leere Pools anlegen auf dem neuen FreeBSD oder passiert das mit zfs receive automatisiert. Wie ist denn die beste Vorgehensweise ?

Gruß Mardor
 
Erzeuge einen Replicationstream. ZFS liest immer Block für Block d.h. i.d.R. 128KiB. Das führt zu schlechtem Durchsatz ohne extra Caching mit buffer(1) o.ä..
 
Hallo Crest,

kannst du deine Aussage weiter beschreiben, ich weis nicht was du genau mit deriner Antwort meinst.

Gruß Mardor
 
Hätte es mir ein bischen einfacher gemacht:
Code:
zfs snapshot -r tank@<deine bezeichnung>
zfs send -R tank@<deine bezeichnung> | gzip > /var/tankbackup.gz
Mardor schrieb:
Muss ich dann zuerst leere Pools anlegen auf dem neuen FreeBSD oder passiert das mit zfs receive automatisiert
Nach meiner Meinung schon, da du bei zpool den device festlegen musst, worauf die Daten geschrieben werden sollen.
Mardor schrieb:
Wie ist denn die beste Vorgehensweise
Code:
gunzip -c /var/tankbackup.gz | zfs receive -F <dein neuer pool>
Siehe auch :http://www.bsdforen.de/showthread.php?t=29029http://
Warnung: Wenn du das in einer live cd machst, gibt es eventuell kurzeitige Probleme, da bei abschließendem receive der zpool mountpoint eingehangen wird, was bei dir eventuell / sein könnte, da aber / schon eingehangen ist, werden Programme des neuen / aufgerufen, was bei mir zu core dumps führte, wenn ich ein Programm der live cd ausführen wollte. Nach einem Reboot sollte wieder alles in Ordnung sein.
 
Zurück
Oben