当然,我需要解决一个特定的问题,但我希望出现一些关于“如何排除自动挂载 nfs 故障”的更一般的答案,以帮助更多有类似症状的人。
我们有一个文件服务器“nas1”和三个客户端服务器“server1”、“server2”、“server3”,它们具有相同的 /etc/auto.master 文件,其中包括以下行:
/net -hosts acregmax=10,acdirmax=10
所有服务器均运行 CentOS 5。
‘nas1’ 在 /etc/exports 中有以下内容:
/proj/ptn *(sync,rw,no_root_squash)
其中一台服务器一直正常运行,但在相隔数周的两次情况下,我们遇到了客户端服务器上挂载点显示为空的问题。
对于“server3”无法使用“/net/nas1/proj/ptn”的情况,以下几点可能有助于排除故障:
ssh nas1
工作正常,因此显然连接没有丢失。当 nfs 挂载无法访问时不会发生这种情况,但值得一提的是,我们遇到了间歇性问题(平均每周一次),服务器变得无响应,必须关闭电源才能恢复。这很明显,因为负载平衡服务器会不断检查服务器的连接性以跟踪其可用的服务器池。
lsof | grep /proj/ptn
automount 3414 root 5r DIR 0,19 0 13390 /net/nas1/proj/ptn
cat /proc/mounts
包括 /etc/auto.misc /misc autofs rw,fd=7,pgrp=3414,timeout=300,minproto=5,maxproto=5,indirect 0 0 -hosts /net autofs rw,fd=13,pgrp=3414,timeout=300,minproto=5,maxproto=5,indirect 0 0 -hosts /net/nas1/proj/ptn autofs rw,fd=13,pgrp=3414,timeout=300,minproto=5,maxproto=5,offset 0 0
service autofs restart
Stopping automount: [ OK ]
Starting automount: [ OK ]
这并没有解决问题,但允许卸载:
umount /net/nas1/proj/ptn
mount /net/nas1/proj/ptn
mount: can't find /net/nas1/proj/ptn in /etc/fstab or /etc/mtab
安装行为是预期的,但已经尝试过,因此我将其包括在内。
service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
没有帮助。
/etc/init.d/autofs restart
Stopping automount: [ OK ]
Starting automount: [ OK ]
这又把它带回来了。
由于“service autofs restart”之前已经运行过,所以不知道“/etc/init.d/autofs restart”为何会起作用,除非它与中间执行的“umount”和“service network restart”有关。
考虑到可能要过几周我们才能再次看到这种情况,下次发生故障时或现在应该尝试什么才能确保它永远不会再发生故障?人们希望 AUTO 安装能够在发生故障时自动修复安装 :-(
答案1
- 尝试挂载文件系统的客户端过多
- 网络问题
- 文件系统活动过多
- 由于负载过高,服务器无响应