我们有两个数据中心,每个数据中心都有多个共享基于EMC大型nfs的Linux服务器。在多个数据中心中跟踪nfs/sync nfs的更改
挑战在于让两个nfs保持同步。现在假设写操作只会发生在nfs1上,然后它必须将更改传播到nfs2。
定期的通用rsyncs已经证明太慢了 - 即使使用-az,每个rsync都需要几个小时才能完成。当文件或目录实际发生更改时,我们需要执行特定的同步。
那么问题是,我们如何知道文件或目录何时发生了变化? inotify是明显的答案,但它着名的不适用于nfs。 (如果inotify安装在nfs服务器上,可能会有工作,但这不是我们的选择 - 我们只控制客户端,而不是服务器。)
Linux nfs客户端允许您捕获它发送到服务器的所有更改,以日志文件或其他方式?或者我们可以破解客户端来做到这一点?然后,我们可以从每个客户端收集更改,并定期启动目标rsyncs。
欢迎任何其他想法。谢谢!