NFS相关故障解决小结

2016-12-04 12:55:37 7171

NFS故障解决 
1、can’t contactportmapper: RPC:Remotesystem error-Connection refused:
   出现这个错误信息是由于SEVER端的PORTMAP没有启动。

2、mountclntudp_create: RPC: Programnotregistered:NFS没有启动起来,可以 
   用showmout-ehost命令来检查NFSSERVER是否正常启动起来。

3、mount: localhost:/home/test failed, reason given by server: Permission denied:
   这个提示是当client要mountnfsserver时可能出现的提示,意思是说本机没有权限去mount nfsserver上的目录。解决方法当然是去修改NFSSERVER咯。

4、被防火墙搞掉 
   这个原因很多人都忽视了,在有严格要求的网络环境中,我们一般会关闭linux上的所有端口,当需要使用哪个端口的时候才会去打开。而NFS默认是使用111端口,所以我们先 
   要检测是否打开了这个端口,另外也要检查TCP_Wrappers的设定。

   重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所以端口111必须提供出去.因此在iptablesrules中,要增加: 
   iptables-AINPUT-pTCP –dport111-jACCEPT 
   iptables-AINPUT-pUDP –dport111-jACCEPT 
   如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是: 
   ALL:ALL: deny 
   那就必须在/etc/hosts.allow中增加: 
   portmap:ALL:allow

注意:由于NFS使用的这个RPC在client端连上主机时,那么你的主机想要关机,那可就会成为『不可能的任务』。即如果你的Server上面还有Client在联机,那么你要关机,可能 
      得要等到数个钟头才能够正常的关机成功!所以,建议在NFSServer要关机之前,要先『关掉portmap与nfs』这两个东西。如果无法正确的将这两个daemons关掉,那么先以    
      netstat -utlp找出PID,然后kill掉。

NFS客户端设置
为了担心会不小心将NFS端挂进来的具有SUID权限档案的程序执行,root可以将NFS所分享的目录以较为安全的情况挂载进来,可以 
#mount-t nfs -o nosuid,ro hostname:/directory/mountponit

mountnfs的其它可选参数:
HARD:在后台,NFSCLIENT会不断的尝试与SERVER的连接,直到mount上
SOFT:会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。 
例如:mount-F nfs -o hard192.168.0.10:/nfs /nfs

timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输
intr 允许通知中断一个NFS调用。当服务器没有应答需要放弃的时候有用处。
retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000minutes 
同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp/nfs

注意:NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突。比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误。一般服务器和客户端配置冲突的时候,会以服务器的配置为准。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: