如何使用 btrfs 发送/接收通过缓慢且不可靠的网络连接传输备份快照?

如何使用 btrfs 发送/接收通过缓慢且不可靠的网络连接传输备份快照?

我想使用 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

除了buttersinkS3的简历之外,btrbk支持:

恢复备份(如果备份目标一段时间内无法访问)

编辑:我后来了解到,单个快照的传输不会通过 恢复btrbk,但它将处理脱机的备份目标(重新启动中断的快照的传输)。

相关内容