Nfs

nfs 掛載失敗:伺服器給出的原因:沒有這樣的文件或目錄

  • June 4, 2021

nfs 伺服器正在執行 Arch Linux。下面的 nfs 客戶端(“pc1”)正在執行 Ubuntu 16.04。兩者都使用nfs4。

root@PC1:~# cat /etc/fstab(相關行如下所示):

server:/backup/system/pc1 /backup/system nfs4 auto,noatime        0 0

客戶端啟動後,nfs掛載失敗:(journalctl -b -p err輸出如下圖):

Aug 25 17:56:43 LatishaPC1 systemd[1]: Failed to mount /backup/system.

root@PC1:~# showmount -e server(輸出如下所示):

Export list for server:
/export                          192.168.1.0/24
/export/backup/system            192.168.1.0/24
/export/backup/system/pc1 192.168.1.8

手動嘗試掛載(以root身份)使用mount /backup/system給出以下輸出:

mount.nfs4: mounting server:/backup/system/pc1 failed, reason given by server: No such file or directory

但是,我們從showmount伺服器確實列出了目錄。

這是伺服器上的 /etc/exports 文件:

/export 192.168.1.0/24(fsid=0,rw,sync,no_subtree_check)                                                            
/export/backup/system/ 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check,nohide)
/export/backup/system/pc1 192.168.1.8(rw,sync,no_root_squash,no_subtree_check)

我在沒有和沒有上面最後一行的情況下都試過了。無論哪種方式都相同的錯誤。我已經解決了幾天,但沒有解決它。(我有其他按預期工作的 nfs 伺服器和客戶端,我已經將此配置與工作系統進行了比較,我看不出有什麼區別。)我檢查了許多類似的問題。我可能忽略了一個明顯的答案。如果這已經在 StackExchange 上的某個地方得到回答,我提前道歉。我還沒有找到解決方案。

更新 1:

客戶端可以掛載 server:/ 並且掛載提供了另一個線索。將掛載導航到 /backup/system/ 時,目錄為空。它應該包含“pc1”,如上面的 showmount 命令所示。

這是伺服器上顯示的文件權限。

[root@server export]# cd backup/
[root@server backup]# ls -la
drwxr-xr-x 1 root         root   76 Jun  3 02:31 .
drwxr-xr-x 1 root         root   12 Aug 25 02:44 ..
drwxr-xr-x 1 root         root  142 Jul  5 19:58 system
[root@server backup]# cd system/
[root@server system]# ls -la
drwxr-xr-x 1 root root 142 Jul  5 19:58 .
drwxrwx--- 1 root root   6 May 28 11:35 pc1

更新2:root@PC1:~# ip a跟隨 的輸出。它表明伺服器上/etc/exports 中列出的IP 地址是正確的。

2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   inet 192.168.1.8/24 brd 192.168.1.255 scope global dynamic enp0s31f6

不適用於NFSv4

為什麼之前不包含該文件夾/backup/

它應該是 :

server:/export/backup/system/pc1 /backup/system nfs4 auto,noatime        0 0

您需要根據您的導出文件掛載它。

編輯 :

可能是您僅將文件 pc1 導出到 IP 地址192.168.1.8,而您的客戶端沒有該 IP。

嘗試更改 IP 地址:

/export/backup/system/pc1 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

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