NFS挂载问题
2021年2月25日环境介绍:
Server:10.0.0.1,Centos6.5
Client:10.0.1.1,Centos7.9
exports配置:/home/share/userfiles 10.0.1.1(insecure,rw,sync,no_root_squash)
挂载方法:mount -t nfs 10.0.0.1:/home/share/userfiles /home/share/userfiles
问题:
NFS之前挂载和访问一直正常。突然有一天出现NFS能够正常挂载,但挂载后访问、下载或写入子目录中的文件第一次正常,之后均被拒绝。
解决过程:
刚开始一直在纠结exports配置或服务问题,使用sysctl -w sunrpc.nfs_debug=65535(参数为0时为关闭,下同)命令打开客户端日志,未发现异常。使用ysctl -w sunrpc.nfsd_debug=1023打开服务器端日志,由于共享目录访问频繁,很难发现异常。
中间也考虑过网络及防火墙问题,但在做N次mount和umount后,中间可能有一次能够访问、下载和写入不受影响,因此网络问题的可能性不大。因此考虑是Centos系统版本或NFS版本差异。
后在挂载正常后使用nfsstat -m查看时,发现挂载信息如下:
/home/share/userfiles from 10.0.0.1:/home/share/userfiles
Flags: rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30003,mountproto=udp,local_lock=none,addr=10.0.0.1
这里挂载用的NFS vers=3。突然间恍然大悟,是由于NFS版本问题导致。
解决方法:
将挂载方法修改为:mount -t nfs -o vers=3 10.0.0.1:/home/share/userfiles /home/share/userfiles ,重复umount和mount了几次再测试一直正常,问题得到解决。
后续:
将mount加入fstab,实现开机挂载分区表时自动挂载。
vi /etc/fstab
增加如下配置:
10.0.0.1:/home/share/userfiles /home/share/userfiles nfs defaults,vers=3 0 0
重启测试可正常挂载。
初次碰到这个问题,网上也一直没搜到解决方案,体会到搜索不易,Mark一下并Share给有碰到同样问题的同学。