歡迎光臨
每天分享高質量文章

如何解決 “mount.nfs: Stale file handle”錯誤 | Linux 中國

瞭解如何解決 Linux 平臺上的 mount.nfs: Stale file handle 錯誤。這個 NFS 錯誤可以在客戶端或者服務端解決。
— Kerneltalks


致謝
編譯自 | https://kerneltalks.com/troubleshooting/resolve-mount-nfs-stale-file-handle-error/ 
 作者 | Kerneltalks
 譯者 | geekpi ? ? 共計翻譯:691 篇 貢獻時間:1628 天

瞭解如何解決 Linux 平臺上的 mount.nfs: Stale file handle 錯誤。這個 NFS 錯誤可以在客戶端或者服務端解決。

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

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

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

  1. #  service nfs status

  2. rpc.svcgssd is stopped

  3. rpc.mountd (pid 11993) is running...

  4. nfsd (pid 12009 12008 12007 12006 12005 12004 12003 12002) is running...

  5. rpc.rquotad (pid 11988) is running...

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

  1. # umount -f /mydata_nfs

  2. # mount -t nfs server:/nfs_share /mydata_nfs

  3. #df -k

  4. ------ output clipped -----

  5. server:/nfs_share 41943040  892928  41050112   3% /mydata_nfs

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

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

  1. # umount -f /mydata_nfs

  2. umount2: Device or resource busy

  3. umount: /mydata_nfs: device is busy

  4. umount2: Device or resource busy

  5. umount: /mydata_nfs: device is busy

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

  1. # lsof |grep mydata_nfs

  2. lsof: WARNING: can't stat() nfs file system /mydata_nfs

  3.      Output information may be incomplete.

  4. su         3327      root  cwd   unknown                                                   /mydata_nfs/dir (stat: Stale NFS file handle)

  5. bash       3484      grid  cwd   unknown                                                   /mydata_nfs/MYDB (stat: Stale NFS file handle)

  6. bash      20092  oracle11  cwd   unknown                                                   /mydata_nfs/MPRP (stat: Stale NFS file handle)

  7. bash      25040  oracle11  cwd   unknown                                                   /mydata_nfs/MUYR (stat: Stale NFS file handle)

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

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

  1. #  service nfs restart

  2. Shutting down NFS daemon:                                  [  OK  ]

  3. Shutting down NFS mountd:                                  [  OK  ]

  4. Shutting down NFS quotas:                                  [  OK  ]

  5. Shutting down RPC idmapd:                                  [  OK  ]

  6. Starting NFS services:                                     [  OK  ]

  7. Starting NFS quotas:                                       [  OK  ]

  8. Starting NFS mountd:                                       [  OK  ]

  9. Starting NFS daemon:                                       [  OK  ]

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

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

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


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

作者:KernelTalks[5] 譯者:geekpi 校對:wxy

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

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖