我已經在 NFS 伺服器上設定了共享。我可以毫無錯誤地安裝共用。 「df」報告的共享大小比伺服器上的共享大小小得多,例如。伺服器報告 1 TB,但客戶端的共用看起來像是 3.8 G。我可以從客戶端在 nfs 共用上建立一個測試文件,並且該測試文件對所有客戶端都是可見的,但是當我轉到伺服器上的共用目錄時,該文件不存在。同樣,伺服器上預先存在的檔案對任何客戶端都是不可見的。在伺服器上,我運行命令“updatedb”並蒐索新創建的測試檔案;但是,在伺服器上的任何地方都找不到它。因此,我正在訪問某些共享,並且可以從客戶端在共享上建立文件,但在伺服器上的任何位置都看不到這些文件。我在 /var/log/messages 中沒有看到與 nfs 相關的重大錯誤。伺服器是CentOS 5.8。客戶端是CentOS 6.4。在伺服器和客戶端上都關閉 iptables 以進行測試。
我沒有看到任何名稱解析或 DNS 問題。
伺服器:
[root@vmappp04 /]# cat /etc/exports
/data 192.168.1.0/24(fsid=0,rw,sync,no_root_squash)
[root@vmappp04 /]# rpm -qa |grep nfs-utils
nfs-utils-1.0.9-66.el5
nfs-utils-lib-1.0.8-7.9.el5
nfs-utils-lib-1.0.8-7.9.el5
[root@vmappp04 /]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-3.el5
[root@vmappp04 /]# rpm -qa |grep portmap
portmap-4.0-65.2.2.1
伺服器上不存在hosts.allow 或hosts.deny 檔案。
客戶:
cat /etc/fstab
vmappp04:/ /data/filer_01 nfs4 noauto,defaults 0 0
[root@vmappp11 ~]# rpm -qa |grep nfs-utils
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs-utils-1.2.3-36.el6.x86_64
[root@vmappp11 ~]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-6.el6.x86_64
客戶端上未安裝 portmap
客戶端上 mount 指令的輸出顯示正確:
[root@vmappp11 ~]# showmount -e vmappp04
vmappp04:/ on /data/filer_01 type nfs4 (rw,addr=192.168.1.16,clientaddr=192.168.1.84)
vmappp04 的導出清單:
[root@vmappp11 ~]# showmount -d vmappp04
/data 192.168.1.0/24
vmappp04 上的目錄:
[root@vmappp11 ~]# showmount -a vmappp04
vmappp04 上的所有掛載點:
[root@vmappp11 ~]# showmount -a 192.168.1.16
192.168.1.16 上的所有掛載點:
我已經在伺服器端和客戶端嘗試了各種排列。不確定如何繼續,請指教;非常感謝任何幫助。
答案1
我不清楚伺服器和客戶端上已掛載檔案系統的層次結構是什麼,但您必須小心掛載目錄和子目錄,以及掛載它們的時間和位置。在我看來,你安裝的東西不正確。
掛載到子目錄或父目錄將產生您所看到的結果類型。您可能將檔案儲存在伺服器上的安裝點「下方」。例如,如果 /data 已安裝到磁碟,則透過用戶端儲存的檔案將轉到安裝 /data「之前」存在的 /data,即 / 上。伺服器上的/是3.8G嗎?
您不會希望掛載掛載點的子目錄,因為它們的處理方式不同。您應該單獨匯出要安裝的每個目錄。
另外,根據該 fstab,您似乎正在安裝 vmappp04:/ 而不是 vmappp04:/data - 這也會導致此問題。