同步两个巨大的文件系统

我需要定期同步两个巨大的文件系统。 双方运行完全root权限的Linux。

我的首选解决scheme:我可以读取已更改文件和目录的列表,并仅同步更改的文件。 但是,我怎样才能得到更改的列表? Inotify需要每个目录的处理程序,但是太多了。 也许从文件系统的日志?

这里有一些解决scheme,为什么他们不适合:

  • rsync:需要recursion检查所有文件。 有几百万个文件,只有很less的变化。 检查时间太长。
  • inotify:我需要一个每个目录的处理程序,太多了。 Inotify不是build立“观看所有文件”的情况。
  • DRDB:双方应该独立运作。 可能会发生主机无法连接几天。

两台机器都需要每15分钟同步一次。 初始同步没有问题,这个问题只是关于同步更改。

GlusterFS如何? 我发现它发展的stream量比DRBD要less得多。

+1为GlusterFS,这是一个用户空间的存储集群平台,它很容易设置,并在文件级别工作。

一旦安装完成,你需要在主服务器上创build一个新的Gluster Volume,它将通过TCP / IP实时复制内容。 然后设置客户端(基本上挂载一个文件系统),甚至可以在其中一台服务器上执行该操作,然后将数据始终写入新的挂载文件系统。