Centos

我的 NFS 設置有什麼問題?

  • August 1, 2017

我以前能夠在執行 CentOS 6.6 的電腦上配置 NFS 伺服器,並將文件系統安裝在具有相同作業系統並使用autofs.

上週我重新安裝了我擁有的所有作業系統,但現在由於某種原因我無法讓它工作。伺服器電腦仍然執行 CentOS 6.6,而虛擬機現在執行 CentOS 7(我也嘗試了另一台執行 Debian Wheezy 的虛擬機,但仍然無法正常工作)。

伺服器(centosserv)執行在 192.168.1.89 上,客戶端(centoscli,CentOS 7 one)執行在 192.168.1.100 上。

我要共享的文件系統是/NFSSHAREand /NFSSHARE/mydir/etc/exports因此伺服器上的文件包含以下內容:

/NFSSHARE       192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir 192.168.1.100(ro,sync,no_subtree_check)

如果我跑步,showmount -e我會得到這個:

[root@centosserv ~]# showmount -e
Export list for centosserv:
/NFSSHARE/mydir 192.168.1.100
/NFSSHARE       192.168.1.100

所以到目前為止一切看起來都很好。

在客戶端,我編輯了/etc/auto.master包含以下行:

/mnt/nfs       /etc/auto.nfs-share       --timeout=90

然後創建/etc/auto.nfs-share具有以下內容的文件:

[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share        -rw 192.168.1.89:/
non_writeable_share    -ro 192.168.1.89:/mydir

鑑於以下輸出,這似乎也有效:

[root@centoscli ~]# mount | grep nfs-share
/etc/auto.nfs-share on /mnt/nfs type autofs (rw,relatime,fd=18,pgrp=2401,timeout=90,minproto=5,maxproto=5,indirect)

此時,/mnt/nfs/writeable_share/mnt/nfs/non_writeable_share沒有安裝,除非我嘗試按照本教程直接訪問它們(這與我上次設置 NFS 伺服器時所遵循的相同*)。所以只有在我嘗試過之後ls -l /mnt/nfs/writeable_share才能安裝它。但我得到的輸出是:

[root@centoscli ~]# ls -l /mnt/nfs/writeable_share
ls: cannot access /mnt/nfs/writeable_share: No such file or directory

ping從客戶端編輯伺服器,反之亦然,只是為了檢查它們是否可以相互連接,而且它們似乎可以。

我所做的一切都與我第一次做的完全一樣,但由於某種原因,這次我無法讓它工作。我已經嘗試通過/etc/fstab在客戶端編輯文件並手動而不是使用來autofs做到這一點,但它似乎也不是那樣工作的。在伺服器端禁用iptables使其可以fstab手動使用,但還不能使用autofs

我還能檢查什麼,或者我哪裡出錯了?


*除了前三個步驟,因為我既沒有服務nfs-common也沒有/etc/default/nfs-common文件。


編輯

我在 FB 的一個 CentOS 小組上查看了本教程,在伺服器端應該已經解決並且我們準備開始配置客戶端之後,它說:

測試是否可以看到 NFS 伺服器:

showmount -e

所以我猜想showmount -e在客戶端上使用我應該能夠在伺服器上獲取一些資訊,或者至少可以確認我可以在這個客戶端上從該伺服器掛載文件系統。但是,我嘗試showmount -e 192.168.1.89在客戶端使用,我得到的唯一消息是:

clnt_create: RPC: Port mapper failure - Unable to receive: errno113 (No route to host)

我猜這可能是問題所在,但我不確定這意味著什麼。


編輯 2

在伺服器端禁用後iptables,我現在可以showmount -e 192.168.1.89在客戶端使用時看到導出的文件系統。我認為,這使我的第一次編輯變得毫無意義。但是,我仍然無法使用autofs.


編輯 3

好的,除了iptables禁用之外,我/etc/exports在伺服器和/etc/auto.nfs-share客戶端上都進行了編輯,如下所示:

[root@centosserv ~]# cat /etc/exports
/NFSSHARE          192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir    192.168.1.100(rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir/ro 192.168.1.100(ro,sync,no_subtree_check)

[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share        -fstype=nfs4,rw 192.168.1.89:/mydir
non_writeable_share    -fstype=nfs4,ro 192.168.1.89:/mydir/ro

在那裡我似乎能夠掛載文件系統,但不能從客戶端寫入

[root@centoscli ~]# touch /mnt/nfs/writeable_share/test_from_client.file
touch: cannot touch ‘/mnt/nfs/writeable_share/test_from_client.file’: Permission denied

**看起來這裡的問題是在伺服器端導出的文件夾的權限設置。**因此,在伺服器上執行以下操作允許我從客戶端寫入:

[root@centosserv ~]# chmod 777 /NFSSHARE

我在伺服器和客戶端的全新安裝上都這樣做了。再次遇到同樣的問題,甚至沒有嘗試iptables在伺服器上禁用並完成我這次編輯到問題中的更改,決定確保/NFSSHARE正確設置權限。似乎已經成功了。

引用自:https://unix.stackexchange.com/questions/186421