我有一个非常简单的系统,其中一个主池“坦克”包含单个数据集“数据”。
辅助池“reservoir/data”旨在保存“tank/data”的复制快照。
“tank/data”和“reservoir/data”都是使用不同密钥的加密数据集。
foo@BAR:~# zfs list -t snap | grep -v boot
NAME USED AVAIL REFER MOUNTPOINT
reservoir/data@auto-2020-11-24_20-50 258M - 16.5T -
tank/data@auto-2020-11-24_20-50 34.8G - 16.5T -
tank/data@auto-2020-12-01_00-00 128M - 16.7T -
tank/data@auto-2020-12-05_09-59 17.4G - 16.8T -
tank/data@manual-2020-12-06_21-12 46.7G - 16.9T -
我能够通过以下方式进行初始复制:
zfs send "tank/data@auto-2020-11-24_20-50" | pv | zfs recv -Fdu "reservoir"
但我一直无法弄清楚如何复制后续快照。
pv
我使用空运行标志运行每个发送和接收-n
,当我能够获得复制流时,我可以看到正在传输的数据量远远高于我期望包含在增量中的数据量,然后我中止它!
错误:
zfs send -R -I "tank/data@auto-2020-12-01_00-00" "tank/data@manual-2020-12-06_21-12" | pv | zfs recv -n -Fdu "reservoir"
无法发送坦克/数据@手册-2020-12-06_21-12:加密数据集坦克/数据可能无法与没有原始标志的属性一起发送
我一直在仔细研究man zfs-send
并发现了-w
原始复制流的标志,但我正在努力理解事情的意义。
传输的数据似乎太多了!
zfs 发送 -R -w -I “tank/data@auto-2020-12-01_00-00” “tank/data@manual-2020-12-06_21-12” |光伏 | zfs recv -n -Fdu“水库”
有人能指出我正确的方向吗?
提前致谢。