长距离异步文件复制,带缓冲

长距离异步文件复制,带缓冲

我正在寻找一个可以远距离复制的文件系统,并且通过使用本地缓冲区(应该是磁盘缓冲区)来排队要复制的更改,从而容忍长时间离线。

DRBD 是 DRBD Proxy 的理想选择,但它在 RAM 中缓冲。我不确定这是否足够。

我试图避免使用 Ceph 之类的东西,它们的功能比需要的多得多。

它应该可以处理单个文件系统上的十亿个文件,并且只需要从文件系统 A 复制到文件系统 B。会有很多文件,但它们只会被写入而不会被更改。会一直写入适量的数据,但不会太多,以至于即使离线几天后复制也无法完全跟上。不需要集群或任何类似的东西。

实际上,我正在寻找一种类似于 MySQL 复制的东西,但是适用于文件系统。

我发现了很多关于复制文件系统的评论,但对我来说,缺少的部分是当链接长时间中断时能够缓冲对磁盘的更新。

答案1

有一个完全异步的内核级复制,基于事务日志文件:https://github.com/schoebel/mars

答案2

也许使用 zfs send/receive 可以解决问题?

多年来我一直在 Linux 上使用 zfs 来实现这样的目标。

我可以想象一种循环,它会创建一个快照,然后通过网络发送它,如果失败了,则会再次尝试,并且重试之间的时间会不断增加。

您甚至可以将快照过程与复制过程分开,以保持较小的增量,从而提高发送更新时对网络故障的恢复能力。

相关内容