一、现象
在linux操作系统中,执行df -h命令,后hang住
二、思路
排查是否存在Nfs问题,无法正常挂载nfs路径导致的问题。
三、解决过程
3.1 cat /etc/rc.local
#mount 10.8.4.11:/dbbak/yt3wdb /oracle/dbbak2 mount -t nfs -o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 10.8.5.188:/backup/oracle/10.8.2.40_yt3wdb /oracle/ dbbak
如上,可以发现,存在两个nfs记录信息,一个正在使用,另一个已被注释
3.2 查询
根据上述信息,cd观察两个路径是否有效
[root@yt3wdb dbbak2]# cd /oracle/dbbak [root@yt3wdb dbbak]# ls archivelog_copy backup rman
#cd /oracle/dbbak2 路径,会话hang住,问题找到了,问题原因是
10.8.4.11作为nfs service端,共享的路径,在本地无法正常读
3.3 问题处理
#cat /proc/mounts
10.8.5.188:/backup/oracle/10.8.2.40_yt3wdb /oracle/dbbak nfs rw,vers=3,rsize=32768,wsize=32768,hard,proto=tcp,timeo=600,retrans=2, sec=sys,addr=10.8.5.188 0 0
10.8.4.11 /oracle/dbbak2······
根据上述信息,可以发现,本地已经挂载了/oracle/dbbak2路径
可以发现nfs远程 服务未启用
[root@yt3wdb dbbak2]# showmount -e 10.8.4.11
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
[root@yt3wdb dbbak2]# ping 10.8.4.11
PING 10.8.4.11 (10.8.4.11) 56(84) bytes of data.
From 10.8.2.40 icmp_seq=2 Destination Host Unreachable
server端无法ping通,结合/etc/rc.local路径,可以发现之前历史的nfs已被废弃,因此,本次解决方案直接删除相关记录即可
[root@yt3wdb ~]# umount -lf /oracle/dbbak2
3.4 问题总结
本次是由于历史nfs正常挂载后,service端被废弃,但是提供给nfs客户端未umount卸载,导致本地df 命令时,hang住
本次是nfs被废弃,还有另一种需要修复的环境,按照nfs安装流程进行,观察本地远程nfs进程及相关配置,重新配置即可。
原文:https://www.cnblogs.com/lvcha001/p/11751103.html