上週因為有一台很舊的 Linux 伺服器需重新安裝(簡稱 A 主機),因為所有資料都已經備份,且也已經確認無任何服務在這台主機了,所以也很放心的重灌了。不過,重灌了之後才發現原來還有另一台 Linux 伺服器(簡稱 B 主機)還掛載(mount)著 A 主機的某個 NFS 目錄,但因為 A 主機已經移除了,進而導致 B 主機只要讀取到 NFS mount 的目錄就會整個被 hang 住,大概要等 1 個小時才會 Release 鎖定狀態,整個 Console 就會動彈不得,必須強制斷線重連,但是重連後該 Process 也還在,使用 kill -9 也刪除不了,這真的很困擾我。
我的 mount point 是在 /backup 目錄下,所以只要執行以下指令都會完全 Hang 住:
# df -h
# ls -l /backup
# umount -f /backup
反正我連 umount 都不行就是了,非常的困擾,以前遇到此問題時,我唯一的解法就是「重開機」,但這真的很蠢,所以這次我無論如何都要解決此問題!
上週我就到摩托學園討論區尋求解答,今天總算有人解開了我的困擾,感謝 kibymo 提供資訊,解決方法整理如下:
- 先編輯 /etc/mtab 檔案,將這個無效的 mount point 先手動移除
此檔案(/etc/mtab)的主要目的是紀錄「目前掛載成功的所有檔案系統」,所以我們先將已經確認無效的 mount point 手動移除掉。
- 重新啟動 autofs 服務
/etc/init.d/autofs restart
這麼兩個小動作,就解決我的疑難了,摩托學園討論區真是我 Linux 的好幫手阿!^_^
相關連結
- Quick HOWTO : Ch29 : Remote Disk Access with NFS
- Linux NFS Overview, FAQ and HOWTO Documents
- Linux NFS HOWTO
- SourceForge NFS Project Page
- Ubuntu Server Help - Network File System (NFS)