背景
公司的stg 服务器已经跑了33个微服务,但是内存只有8核32G,于是要重启服务器升级云服务器内存。
重启过程中都正常。因为stg的服务器也是nfs server,它的日志目录是挂载到dev方便开发查看日志的。开发并没有stg服务器的登录权限。stg服务器升级完毕之后,在客户端进行 df -h
显示假死的状态如下:
分析
- (1)看到这个情况,我们首先卸载一下挂载目录,看能不能正常卸载
umount /data/stg/logs
结果无法正常卸载
- (2) 于是进行强制卸载,卸载正常。
umount -lf /data/stg/logs
然后再次使用命令 df -h
恢复正常
- (3) 在dev服务器上执行,发现提示
no route ....
showmount -e 192.18.192.222
于是我尝试关闭stg(Centos7)服务器的防火墙,再次 showmount -e 192.18.192.222
正常。
service iptabels stop
于是判断肯定可能是nfs服务器没有开放必要的端口导致的。
解决
客户端连接 nfs-server 建立连接是随机的端口,但是要保证stg的服务器安全性防火墙肯定不能关,于是我们对更改 nfs 的配置文件固定端口范围。
设置固定端口:
编辑 /etc/sysconf