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.178linux.com/22506