我們有兩個數據中心,每個數據中心都有多個共享基於EMC大型nfs的Linux服務器。在多個數據中心中跟蹤nfs/sync nfs的更改
挑戰在於讓兩個nfs保持同步。現在假設寫操作只會發生在nfs1上,然後它必須將更改傳播到nfs2。
定期的通用rsyncs已經證明太慢了 - 即使使用-az,每個rsync都需要幾個小時才能完成。當文件或目錄實際發生更改時,我們需要執行特定的同步。
那麼問題是,我們如何知道文件或目錄何時發生了變化? inotify是明顯的答案,但它着名的不適用於nfs。 (如果inotify安裝在nfs服務器上,可能會有工作,但這不是我們的選擇 - 我們只控制客戶端,而不是服務器。)
Linux nfs客戶端允許您捕獲它發送到服務器的所有更改,以日誌文件或其他方式?或者我們可以破解客戶端來做到這一點?然後,我們可以從每個客戶端收集更改,並定期啓動目標rsyncs。
歡迎任何其他想法。謝謝!