Pokud potřebujete přesunout nebo zreplikovat celý zfs pool, resp. všechny datasety v něm ze serveru na serveru, je to poměrně snadné. Následující ukázka ukazuje postup ze serveru u16 na u17, obojí jedou na FreeBSD.
Nejprve si na novém serveru u17 připravíme partitiony a nový zpool:
Vytvoříme GPT schéma na discích da0 a da1:
root@u17:~ # gpart create -s gpt da0
da0 created
root@u17:~ # gpart create -s gpt da1
da1 created
Vytvoříme boot paritiony:
root@u17:~ # gpart add -a 4k -s 512k -t freebsd-boot da0
da0p1 added
root@u17:~ # gpart add -a 4k -s 512k -t freebsd-boot da1
da1p1 added
Vytvoříme partitiony pro swap:
root@u17:~ # gpart add -a 1m -s 4G -t freebsd-swap -l swap0 da0
da0p2 added
root@u17:~ # gpart add -a 1m -s 4G -t freebsd-swap -l swap0 da1
da1p2 added
A nakonec pro samotné zfs (resp. pool):
root@u17:~ # gpart add -t freebsd-zfs -l zroot da0
da0p3 added
root@u17:~ # gpart add -t freebsd-zfs -l zroot da1
da1p3 added
Zapíšeme zavaděč, aby bylo možné z disků bootovat:
root@u17:~ # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
partcode written to da0p1
bootcode written to da0
root@u17:~ # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1
partcode written to da1p1
bootcode written to da1
Vytvoříme zrcadlený zfs pool z partition z disků da0 a da1:
root@u17:~ # zpool create -m / -R /mnt zroot mirror /dev/da0p3 /dev/da1p3
Na starém serveru vytvoříme rekurzivní snapshoty:
[root@u16 ~] # zfs snapshot -r zroot@backup
Nakonec zahájíme přenos (spouštímě na novém u17):
ssh -p 46000 root@u16 zfs send -R zroot@backup | zfs recv -F zroot
Lze samozřejmě iniciovat přenos ze serveru, odkud se budou transferovat data, pak by to vypadalo následovně (spouštímě na starém u16):
zfs send -R zroot@backup | ssh root@u17 zfs recv -F zroot
Teď už jen čekat, dokud se přenos nedokončí.