1、事件描述:之前公司測試某廠商存儲一體機的NFS共享功能,將該NFS目錄共享給AIX主機使用(用于備份對應對應的數據庫,因為數據庫版本太老,Oracle8i的,不支持存儲廠商的備份代理),測試完成后,廠商將設備直接關機(這時候在AIX上掛載的NFS目錄沒有進行卸載)。然后,當我們登陸到AIX服務器上的時候,發現每次敲入“df -g”或者“ls”等命令的時候,服務器會出現卡頓的狀態,終端頁面就卡死了,最開始還以為是死機了,嚇壞寶寶了,后來檢查發現只是那個終端界面卡住,重新打開一個終端即可。這給我們日常工作帶來了諸多不便(比如說巡檢腳本運行起來就一直卡著),本來想著找機會重啟下系統,但因為是生產核心機器,一直沒啥機會。
2、嘗試使用以下方法:
a、使用umount命令卸載掛載的目錄 DB01:/#umount /ddtestbackup 現象:系統一直卡住,沒任何反應 b、使用fuser命令 DB01:/#fuser -k -x -u -c 10.0.0.88:/data/col1/nfs1 現象:系統一直卡住,沒任何反應 c、嘗試直接使用rm命令刪除目錄 DB01:/#rm -rf /ddtestbackup 現象:系統一直卡住,沒任何反應
3、解決思路:
原理:在一臺Linux服務器中配置一臺與之前存儲一體機相同的IP,并在上面搭建NFS服務,共享系統NFS目錄,重新共享給DB01服務器使用,通過欺騙DB01服務器的方式,使得DB01服務器認為原有共享的目錄仍舊存在的,然后掛載上去后,正常卸載。
4、具體操作過程:
在虛擬機上模擬NFS共享目錄(詳細過程略) [root@TS01]~# cat /etc/exports /data/col1/nfs1 10.0.0.0/24(ro) [root@TS01]~# showmount -e Export list for TS01: /data/col1/nfs1 10.0.0.0/24 使用mount命令掛載分區信息 DB01:/backup/orabak# nfso -a | grep nfs_use_reserved_ports nfs_use_reserved_ports = 0 DB01:/backup/orabak# nfso -o nfs_use_reserved_ports=1 Setting nfs_use_reserved_ports to 1 DB01:/backup/orabak# mount 10.0.0.88:/data/col1/nfs1 /ddtestbackup 檢查磁盤分區使用率情況 DB01:/backup/orabak# df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 0.25 0.18 29% 3459 8% / /dev/hd2 4.00 0.91 78% 54525 21% /usr /dev/hd9var 2.25 1.20 47% 2046 1% /var /dev/hd3 4.00 1.68 58% 2005 1% /tmp /dev/hd1 0.25 0.25 1% 21 1% /home /proc - - - - - /proc /dev/hd10opt 0.75 0.36 53% 3139 4% /opt /dev/worktmplv 20.00 17.61 12% 5828 1% /worktmp /dev/fslv00 20.00 6.80 67% 194577 11% /oracle /dev/fslv05 500.00 440.78 12% 268 1% /backup /dev/fslv01 310.00 51.06 84% 100387 1% /u01 /dev/fslv02 300.00 72.12 76% 147 1% /u02 /dev/fslv03 300.00 22.57 93% 158 1% /u03 /dev/fslv04 59.75 57.52 4% 1762 1% /u04 10.0.0.88:/data/col1/nfs1 3658.68 973.27 74% 1628199 1% /ddtestbackup 卸載NFS掛載的目錄 DB01:/# umount /ddtestbackup DB01:/# df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 0.25 0.18 29% 3459 8% / /dev/hd2 4.00 0.91 78% 54525 21% /usr /dev/hd9var 2.25 1.20 47% 2047 1% /var /dev/hd3 4.00 1.68 58% 2005 1% /tmp /dev/hd1 0.25 0.25 1% 21 1% /home /proc - - - - - /proc /dev/hd10opt 0.75 0.36 53% 3139 4% /opt /dev/worktmplv 20.00 17.61 12% 5828 1% /worktmp /dev/fslv00 20.00 6.80 67% 194577 11% /oracle /dev/fslv05 500.00 440.78 12% 268 1% /backup /dev/fslv01 310.00 51.06 84% 100390 1% /u01 /dev/fslv02 300.00 72.12 76% 147 1% /u02 /dev/fslv03 300.00 22.57 93% 158 1% /u03 /dev/fslv04 59.75 57.52 4% 1762 1% /u04 檢查原有hang住的進程是否存在 DB01:/# ps aux|grep df|grep -v 'grep'|wc -l 0
原創文章,作者:Net21-冰凍vs西瓜,如若轉載,請注明出處:http://www.www58058.com/22506