Linux

如何在centos上使用nfs4掛載多個文件夾?

  • September 29, 2018

我正在嘗試讓 nfs4 在這里工作。

機器 1(伺服器)我有一個文件夾,其中還有 2 個我試圖獨立共享的文件夾。/共享/文件夾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

不知道這意味著什麼或如何改變它。Google搜尋似乎只會顯示有關 nfs 安全性的資訊。

為了共享子目錄,我必須先使用 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

問題是您有fsid=0兩個導出的文件系統。那就是您收到的錯誤消息。fsid=0用於設置 nfsv4 中導出的文件系統樹的頂部。只設置一次。通常,您在伺服器上會有類似 i /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

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