我们有两个数据中心,每个数据中心都有许多共享基于EMC的大型nfs的Linux服务器。
挑战在于保持两个nfs'同步。目前假设只对nfs1进行写入,然后必须将更改传播到nfs2。
周期性的通用rsyncs已经证明太慢 - 每个rsync需要几个小时才能完成,即使使用-az。当文件或目录实际发生变化时,我们需要进行特定的同步。
那么问题是,我们如何知道文件或目录何时发生了变化? inotify是一个明显的答案,但它着名的不适用于nfs。 (如果安装在nfs服务器上,有一些关于inotify可能有效的讨论,但这不是我们的选择 - 我们只控制客户端,而不是服务器。)
linux nfs客户端是否允许您在日志文件中捕获它发送到服务器的所有更改?或者我们可以破解客户端这样做吗?然后,我们可以从每个客户端收集更改并定期启动目标rsyncs。
欢迎任何其他想法。谢谢!
答案 0 :(得分:0)
如果您需要保持2台EMC服务器同步,那么最好考虑采用EMC特定的镜像功能来实现这一目标。通常,这些是基于块的更新,可实现高性能和低带宽利用率。例如,在NetApp上使用SnapMirror可以实现此目的。我不熟悉EMC,但谷歌快速搜索显示EMC MirrorView或EMC SRDF可能是其中的选择。