Storage

將多個 NFS 導出掛載到同一個客戶端目錄

  • January 31, 2022

我遇到了一個不知道如何解決的 NFS 問題。我花了一些時間試圖找到答案,但沒有成功。我最終試圖實現以下設置,而不必單獨安裝每個子目錄,因為這些子目錄可能會隨著時間的推移而動態變化,並且該路由不會擴展。

NFS Server1導出**/srv/files/**並且在該目錄中是這些子目錄,其中包含客戶端所需的實際文件

/srv/files/0001/
/srv/files/0002/
/srv/files/0003/
/srv/files/0004/

NFS Server2導出它自己的**/srv/files** 並且在該目錄中是一個類似的結構,儘管子文件夾將具有與 NFS Server1 文件夾相關的唯一名稱

/srv/files/0005/
/srv/files/0006/
/srv/files/0007/
/srv/files/0008/

NFS 客戶端可以將兩個 NFS 伺服器共享掛載為只讀但在同一目錄中:

/srv/nfs/0001
/srv/nfs/0002
/srv/nfs/0003
/srv/nfs/0004
/srv/nfs/0005
/srv/nfs/0006
/srv/nfs/0007
/srv/nfs/0008

這可能嗎?NFS 是正確的路線嗎?同樣,我不需要將數據寫入 NFS 伺服器,只需讀取即可。

這不可能直接使用 NFS 進行,但您可以使用unionfsoverlayfs來實現。作為overlayfs標準核心的一部分,我建議先嘗試一下,例如:

$ mount srv1:/srv/files /srv1
$ mount srv2:/srv/files /srv2
$ mount -t overlay overlay -olowerdir=/srv1:/srv2 /srv/nfs

引用自:https://serverfault.com/questions/998951