send/recvでデータ移行
注意点
手順
送信側でスナップショットを取る
# zfs snapshot srcTank/setA@snap01
# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
srcTank/setA@snap01 0 - 1.93T -
zfs send でスナップショットを送信
■ スナップショットをファイル保存して、別のプールでreceive
# zfs send srcTank/setA@snap01 > /var/tmp/hoge.img
# zfs receive bakup/hoge < /var/tmp/hoge.img
# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
srcTank/setA@snap01 0 - 1.93T -
bakup/hoge@snap01 0 - 1.93T -
■ スナップショットを同じホストの、別のプールへ送信
# zfs send srcTank/setA@snap01 | zfs receive rcvTank/setA
■ スナップショットを別のホストにsshで送信
# zfs send srcTank/setA@snap01 | ssh 192.168.xxx.xxx zfs receive rcvTank/setA
■ スナップショットの差分データを送信
# zfs snapshot srcTank/setA@snap02
# zfs send -i srcTank/setA@snap01 srcTank/setA@snap02 | ssh 192.168.xxx.xxx zfs receive rcvTank/setA
■ スナップショットの差分データを圧縮して送信
# zfs send -i srcTank/setA@snap01 srcTank/setA@snap02 | gzip -c | ssh 192.168.xxx.xxx "gzip -cd |zfs recv -vdF rcvTank"
■ netcatを利用して送信
受信側
# nc -l -p ポート番号 -w 120 | zfs recv -v rcvTank/setA
送信側
# zfs send srcTank/setA@snap01 | nc 192.168.xxx.xxx ポート番号
■ zfs receiveのオプション
参考