Linux中國

如何解決 「mount.nfs: Stale file handle」錯誤

當你在你的環境中使用網路文件系統時,你一定不時看到 mount.nfs:Stale file handle 錯誤。此錯誤表示 NFS 共享無法掛載,因為自上次配置後有些東西已經更改。

無論是你重啟 NFS 伺服器或某些 NFS 進程未在客戶端或伺服器上運行,或者共享未在伺服器上正確輸出,這些都可能是導致這個錯誤的原因。此外,當這個錯誤發生在先前掛載的 NFS 共享上時,它會令人不快。因為這意味著配置部分是正確的,因為是以前掛載的。在這種情況下,可以嘗試下面的命令:

確保 NFS 服務在客戶端和伺服器上運行良好。

#  service nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 11993) is running...
nfsd (pid 12009 12008 12007 12006 12005 12004 12003 12002) is running...
rpc.rquotad (pid 11988) is running...

如果 NFS 共享目前掛載在客戶端上,則強制卸載它並嘗試在 NFS 客戶端上重新掛載它。通過 df 命令檢查它是否正確掛載,並更改其中的目錄。

# umount -f /mydata_nfs

# mount -t nfs server:/nfs_share /mydata_nfs

#df -k
------ output clipped --server:/nfs_share 41943040  892928  41050112   3% /mydata_nfs

在上面的掛載命令中,伺服器可以是 NFS 伺服器的 IP 或主機名

如果你在強製取消掛載時遇到像下面錯誤:

# umount -f /mydata_nfs
umount2: Device or resource busy
umount: /mydata_nfs: device is busy
umount2: Device or resource busy
umount: /mydata_nfs: device is busy

然後你可以用 lsof 命令來檢查哪個進程或用戶正在使用該掛載點,如下所示:

# lsof |grep mydata_nfs
lsof: WARNING: can't stat() nfs file system /mydata_nfs
      Output information may be incomplete.
su         3327      root  cwd   unknown                                                   /mydata_nfs/dir (stat: Stale NFS file handle)
bash       3484      grid  cwd   unknown                                                   /mydata_nfs/MYDB (stat: Stale NFS file handle)
bash      20092  oracle11  cwd   unknown                                                   /mydata_nfs/MPRP (stat: Stale NFS file handle)
bash      25040  oracle11  cwd   unknown                                                   /mydata_nfs/MUYR (stat: Stale NFS file handle)

如果你在上面的示例中看到共有 4 個 PID 正在使用該掛載點上的某些文件。嘗試殺死它們以釋放掛載點。完成後,你將能夠正確卸載它。

有時 mount 命令會有相同的錯誤。接著使用下面的命令在客戶端重啟 NFS 服務後掛載。

#  service nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

另請閱讀:如何在 HPUX 中逐步重啟 NFS

即使這沒有解決你的問題,最後一步是在 NFS 伺服器上重啟服務。警告!這將斷開從該 NFS 伺服器輸出的所有 NFS 共享。所有客戶端將看到掛載點斷開。這一步將 99% 解決你的問題。如果沒有,請務必檢查 NFS 配置,提供你修改的配置並發布你啟動時看到的錯誤。

上面文章中的輸出來自 RHEL6.3 伺服器。請將你的評論發送給我們。

via: https://kerneltalks.com/troubleshooting/resolve-mount-nfs-stale-file-handle-error/

作者:KernelTalks 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...