我一直通过将服务器 A 中的 ZFS 池备份到服务器 B(备份服务器)zfs send/recv
,并使用每日增量快照。
由于硬件问题,服务器 A 中的 ZFS 池现在已经消失 - 我想尽快恢复它。
目前我的服务器B中的快照列表如下:
zfs49/tank@2021Nov301705 368G - 3.52T -
zfs49/tank@2021Dec011705 65.2G - 3.52T -
zfs49/tank@2021Dec021705 66.4G - 3.52T -
zfs49/tank@2021Dec031705 0B - 3.52T -
zfs49/tank@2021Dec031705
最新的在哪里。
我想将整个池(包括快照)发送回服务器 A,但我不确定要运行的具体命令。
问题:在服务器 B 上,这样做是否zfs send zfs49/tank@2021Dec031705 | ssh <Server A host ip> zfs recv tank
足以接收服务器 A 上的完整 ZFS 池 + 所有快照(这样我就可以继续增量发送/接收备份)?
答案1
是的,只要zfs49/tank
在服务器 A 上不存在,那就可以。
我只会使用几个选项,特别-R
是在send
复制整个池时:
zfs send -R zfs49/tank@2021Dec031705 \
| ssh ServerA zfs recv -vusF dest_pool/tank
在这里,感谢recv -s
,您现在可以使用以下方法恢复中断的传输:
zfs send -v -t "the-token" \
| ssh ServerA zfs recv -vusF dest_pool/tank
令牌在接收方的位置:
zfs get receive_resume_token dest_pool/tank