问题描述
正式环境出现了不能上传图片,图片不能浏览的问题,上正式环境进行排查,在使用df -h命令的时候卡住不动了,其他命令没问题。运行内存以及cpu都是正常的。
正式环境服务器 /data/xxx/upload的目录是进行了nfs挂载
在取消挂载之前找出原挂载方式
[root@node01 ~]# mount -l | grep /data/xxx/upload
192.168.x.10:/data/upload on /data/xxx/upload type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.x.4,local_lock=none,addr=192.168.x.10)
或者通过
[root@node01 ~]# cat /etc/mtab | grep /data/xxx/upload
192.168.x.10:/data/upload /data/xxx/upload nfs4 rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.x.4,local_lock=none,addr=192.168.x.10 0 0
可以看出服务端与客户端的nfs挂载方式
问题解决
首先可以先跟踪df -h命令在哪里卡住了
使用strace命令
strace df -h
如果服务器没这个命令,进行安装
yum -y install strace
如下,就准确的知道df -h这个命令卡在了哪里,果然确实是nfs挂载的那个目录
尝试使用umount取消挂载但是会卡住不动,应该是还有其他进程在占用,但是一个一个kill太麻烦了
加参数 -f 也会报错
使用【mount -l /data/xxx/upload】命令可以解决挂载问题
[root@node01 ~]# umount -l /data/xxx/upload
[root@node01 ~]# umount /data/xxx/upload
umount: /data/xxx/upload: not mounted
测试df -h命令是否恢复正常
重新进行挂载
客户端:
重启nfs:
systemctl stop nfs
systemctl start nfs
服务器端:
重启nfs、rpcbind
systemctl stop nfs
systemctl stop rpcbind
#让nfs生效
exportfs -rv
启动
systemctl start nfs
systemctl start rpcbind
客户端重新挂载
df -h命令查看
成功解决