2010-09-13 45 views
0

我們有兩個數據中心,每個數據中心都有多個共享基於EMC大型nfs的Linux服務器。在多個數據中心中跟蹤nfs/sync nfs的更改

挑戰在於讓兩個nfs保持同步。現在假設寫操作只會發生在nfs1上,然後它必須將更改傳播到nfs2。

定期的通用rsyncs已經證明太慢了 - 即使使用-az,每個rsync都需要幾個小時才能完成。當文件或目錄實際發生更改時,我們需要執行特定的同步。

那麼問題是,我們如何知道文件或目錄何時發生了變化? inotify是明顯的答案,但它着名的不適用於nfs。 (如果inotify安裝在nfs服務器上,可能會有工作,但這不是我們的選擇 - 我們只控制客戶端,而不是服務器。)

Linux nfs客戶端允許您捕獲它發送到服務器的所有更改,以日誌文件或其他方式?或者我們可以破解客戶端來做到這一點?然後,我們可以從每個客戶端收集更改,並定期啓動目標rsyncs。

歡迎任何其他想法。謝謝!

回答

0

如果您需要保持2個EMC服務器同步,則可能更好地考慮EMC特定的鏡像功能來實現此目的。通常這些是基於塊的更新,以實現高性能和低帶寬利用率。例如,在NetApp上使用SnapMirror可以實現此目的。我不太熟悉EMC,但快速谷歌搜索顯示EMC MirrorView或EMC SRDF是可能的選擇。