serverapps:zfs:send_recv
文書の過去の版を表示しています。
send/recvでデータ移行
注意点
- 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のオプション
- zfs receive は zfs recv と省略可能
- -F 既存ファイルシステムを上書き
- -d 送信側で使用していた名前でスナップショットを復元
このオプションを使うときはzpoolのみを指定 - -u 復元されたアーカイブを zfs receive 処理の完了時にマウントしない
- -v 転送後に受信時間と容量を表示
send/receive streamの整合性チェック
【書きかけです】1)
* https://zfs-discuss.opensolaris.narkive.com/yrxSUORC/zfs-send-verify-receive
* http://blog.richardelling.com/2009/10/check-integrity-of-zfs-send-streams.html
参考
1)
2024-12-01
serverapps/zfs/send_recv.1732978578.txt.gz · 最終更新: 2024/11/30 14:56 by hayashi