我正在嘗試讓 nfs4 在這裡工作。
機器 1(伺服器)我有一個資料夾,其中有兩個我試圖獨立共享的資料夾。 /共享/資料夾1 /共享/資料夾2
問題是,我似乎無法弄清楚如何在客戶端上獨立安裝資料夾。
(機器 1 - 伺服器)/etc/exports:
/var/shared/folder1 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder2 192.168.200.101(rw,fsid=0,sync)
…
exportfs -ra
…
exportfs
/var/shared/folder1
192.168.200.101
/var/shared/folder2
192.168.200.101
(機器 2 - 客戶端)/etc/fstab:
192.168.200.201:/folder1/ /home/nfsmnt/folder1 nfs4 rw 0 0
…
mount /home/nfsmnt/folder1
mount.nfs4: 192.168.200.201:/folder1/ failed, reason given by server: No such file or directory
文件夾就在那裡。我很樂觀。我認為我錯過了一些簡單的東西,但我完全錯過了它。
看來 fstab 中應該有一種方法來告訴 nfs 我想掛載伺服器上的哪個資料夾。但我只能找到看起來像根安裝點(例如192.168.1.1:/
)的引用,我認為它是由伺服器上的匯出處理的。但即使在匯出中設定了資料夾,似乎也沒有明顯的方法來選擇和選擇要安裝的資料夾。
是否無法將同一台伺服器上的單獨資料夾安裝到客戶端上的不同安裝點?
任何幫助表示讚賞。
編輯:
伺服器上的錯誤日誌顯示如下:
/var/shared/folder1 and /var/shared/folder2 have same filehandle for 192.168.200.101, using first
不確定這意味著什麼或如何更改它。谷歌搜尋似乎只提供有關 nfs 安全性的信息。
答案1
為了共享子目錄,我必須先使用 fsid=0 共享父資料夾。所以在伺服器上 /etc/exports 看起來像這樣:
/var/shared 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync)
然後在客戶端 /etc/fstab 看起來像:
192.168.200.201:/folder1 /home/nfsmnt/folder1 nfs4 rw 0 0
192.168.200.201:/folder2 /home/nfsmnt/folder2 nfs4 rw 0 0
然後我可以按預期安裝資料夾:
mount /home/nfsmnt/folder1
答案2
問題是您有fsid=0
兩個導出的檔案系統。這就是您收到的錯誤訊息。fsid=0
用於設定 nfsv4 中匯出的檔案系統樹的頂部。僅設定一次。通常,您在伺服器上的 /etc/exports 中會有類似這樣的內容:
/var/shared 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync)
看http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html
答案3
在 /etc/fstab 中,兩種語法之一都可以
192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs4 rw,defaults 0 0 192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs rw,nfsvers=4,defaults 0 0