我想使用 btrfs 的发送/接收功能通过相当慢的(初始种子约为 50-100GB,上游带宽 ~1-2MBit/s)和不可靠(每天强制中断两端)连接来传输备份快照。
我看到以下要求:
- 加密传输(通常通过使用SSH隧道来实现)
- 鲁棒性连接中断
它似乎ZFS 能够自动恢复中断的传输,类似于 rsync 的做法。这也适用于 BTRFS 吗?这发送/接收 wiki 页面对于中断的传输没有用处。如果 btrfs 能够恢复中断的传输,我所要做的就是使用 SSH 隧道并在中断时恢复。
如果没有,我必须在中间使用一些缓冲区,以确保 btrfs 连接能够承受中断,或者让两台服务器彼此靠近以进行播种(这对于优于日常传输的添加文件来说将是一个问题容量和发送快照)。
传输种子和快照时需要考虑什么?
答案1
我使用“btrfs send”进行备份已经有一段时间了。确实如此不是处理恢复中断的传输。我写了一个实用程序做恢复传输,并自动将本地 btrfs 文件系统中的快照同步到 Amazon S3。欢迎您尝试一下,看看是否有帮助,我希望得到任何反馈!两者都在 GitHub 上(https://github.com/AmesCornish/buttersink) 和 PyPi (https://pypi.python.org/pypi/buttersink/)。
答案2
“发送”到文件或通过管道。用另一端的文件或管道“接收”。对于有问题的连接,您可能最好使用文件和 rsync 之类的传输。
答案3
除了buttersink
S3的简历之外,btrbk
支持:
恢复备份(如果备份目标一段时间内无法访问)
编辑:我后来了解到,单个快照的传输不会通过 恢复btrbk
,但它将处理脱机的备份目标(重新启动中断的快照的传输)。