4

假設我有一個1TB的數據文件,它可以從一個「主」linux系統的本地安裝的hdd文件系統讀取/寫入到同一個進程的虛擬地址空間中「主人」制度。在Linux集羣中的計算機之間共享大型的mmaped數據文件

我有20個專用的「slave」linux服務器通過千兆交換機連接到「主」系統。我想在這些「從屬」服務器上通過將它只讀地寫入它們的進程地址空間來隨機讀取這1 TB的數據。

我的問題是什麼是從主系統到從系統同步數據集的最有效方式(可能是延遲)? (例如,是否有可能通過NFS安裝文件,然後從那裏mmap?如果是的話,這是最好的解決方案嗎?如果不是,什麼是解決方案?)

回答

2

我一直在玩一個想法這在最近的工作(當然這是與顯着更小的文件大小)。我相信NFS會適合讀取,但可能會遇到併發寫入問題。如果你只有一個「作家」,那麼你的想法應該工作得很好。如果數據文件是結構化的,我建議使用分佈式緩存的某些描述,並允許在整個集羣中傳播多個數據副本(以實現冗餘)。最後,我們選擇了SAN和集羣文件系統解決方案(在我們的案例中是Symantec VCS,但是任何通用的集羣文件系統都可以)。我們這樣做的原因是因爲我們無法獲得使用純NFS所需的性能。您選擇的集羣文件系統需要正確支持mmap和分佈式緩存。