Ubuntu

嘗試訪問目錄時出現“過時的 NFS 文件句柄”錯誤

  • February 8, 2011

我有四台電腦,其中兩台(比如 n1 和 n2)我安裝了 NFS4 伺服器並導出:

/export   10.0.0.0/16(rw,fsid=0,no_subtree_check,async,insecure,no_root_squash)
/export/home 10.0.0.0/16(rw,fsid=0,no_subtree_check,async,insecure,no_root_squash)

現在,n1 和 n2 具有相同的配置,我可以在我的任何電腦(在 /home/n1 和 /home/n2)上安裝和解除安裝這些資源而不會出錯,但我只能從 n1 訪問資源。當我嘗試ls從 n2 進入目錄時,出現錯誤:“過時的 NFS 文件句柄”。

我的網路工作正常,我沒有防火牆,它們都具有相同的配置和相同的 Ubuntu 10.04 伺服器版本。

在日誌中的客戶端電腦上,我收到此錯誤:

[585039.584017] NFS: server 10.0.1.4 error: fileid changed
[585039.584019] fsid 0:16: expected fileid 0x1ba54e2, got 0x3f20001

我已經在伺服器機器上檢查過了,這個 0x3f20001 是/export目錄的 id,而 0x1ba54e2 是/export/home.

我的 fstab 看起來像這樣:

10.0.1.4:/home /home/n2 nfs4    _netdev,auto 0 0

IP 10.0.1.4 屬於 n2 主機。

任何的想法?

看起來這是 fstab 中錯誤綁定的問題。早些時候,當我設置它時,我不小心在 n2 上的 fstab 中交換了 src 和 dest,當時我將它綁定到/home/n2然後,我移動了一些主目錄並將此綁定更改為正確的。但可能我沒有重新安裝它(我一定忘記這樣做了)。

我嘗試更新軟體包,重新啟動後我注意到它/export/home是空的,所有數據都在/home/n2n2 上。所以我又把它移到了/export/home,一切正常。

所以我猜 NFS 在導出從其他目錄綁定的目錄時遇到問題。

每個導出的 fsid 應該不同,並且在您的配置中設置為 0。

您應該嘗試為每台伺服器上的每個導出設置不同的 fsid。

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