网络文件服务器(Network File System,简称NFS),是分布式计算系统的一个组成部分,可实现在异种网络上共享和装配远程文件系统。NFS由Sun公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以将它看做是一个文件服务器。
NFS网络出现了故障,可以从以下几个方面着手检查:
(1) 检查NFS客户机和服务器的负荷是否太高,Server和Client之间的网络是否正常;
(2) 检查/etc/exports文件的正确性;
(3) 必要时重新启动NFS或portmap服务;
(4)运行下列命令重新启动portmap和NFS:
service portmap restart service nfs start
(5) 检查Client上的mount命令或/etc/fstab的语法是否正确;(6) 查看内核是否支持NFS和RPC服务。
附加:★NFS常见故障排除 ------------------- 1、The rpcbind failure error 故障现象: nfs mount: server1:: RPC: Rpcbind failure RPC: Timed Out nfs mount: retrying: /mntpoint 原因: 第一,可能因为客户机的hosts文件中存在错误的ip地址、主机名或节点名组合; 第二,服务器因为过载而暂时停止服务。
2、The server not responding error
现象: NFS server server2 not responding, still trying 原因: 第一,网络不通,用ping命令检测一下。 第二,服务器关机。3、The NFS client fails a reboot error
现象: 启动客户机后停住了,不断显示如下提示信息: Setting default interface for multicast: add net 224.0.0.0: gateway: client_node_name. 原因: 在etc/vfstab的mount选项中使用了fg而又无法成功mount服务器上的资源,改成bg或将该行注释掉,直到服务器可用为止。4、The service not responding error
现象: nfs mount: dbserver: NFS: Service not responding nfs mount: retrying: /mntpoint 原因: 第一,当前级别不是级别3,用who –r查看,用init切换。 第二,NFS Server守护进程不存在,用ps –ef | grep nfs检查,用/etc/init.d/nfs.server start启动。5、The program not registered error
现象: nfs mount: dbserver: RPC: Program not registered nfs mount: retrying: /mntpoint 原因: 第一,当前级别不是级别3。 第二,mountd守护进程没有启动,用/etc/init.d/nfs.server脚本启动NFS守护进程。 第三,看/etc/dfs/dfstab中的条目是否正常。6、The stale file handle error
现象: stale NFS file handle 原因: 服务器上的共享资源移动位置了,在客户端使用umount和mount重新挂接就可以了。7、The unknown host error
现象: nfs mount: sserver1:: RPC: Unknown host 原因: hosts文件中的内容不正确。8、The mount point error
现象: mount: mount-point /DS9 does not exist. 原因: 该挂接点在客户机上不存在,注意检查命令行或/etc/vfstab文件中相关条目的拼写。9、The no such file error
现象: No such file or directory. 原因: 该挂接点在服务器上不存在,注意检查命令行或/etc/vfstab文件中相关条目的拼写。10、No route to host
错误现象: [root@msa30 sysconfig]# mount 10.10.11.211:/opt/b2b-data/xmldb /b2b-web1/b2b-data/xmldb -t nfs -o rw mount: mount to NFS server '10.10.11.211' failed: System Error: No route to host.原因:
防火墙被打开,关闭防火墙。11、Not owner
现象: [root@msa30:/founder/shell]# mount -F nfs -o rw 10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo2 nfs mount: mount: /data/b2b-data/resinfo2: Not owner原因:
这是Solaris 10版本挂载较低版本nfs时报的错误。解决:
需要用-o vers=3参数示例:
[root@msa30:/founder/shell]# mount -F nfs -o vers=3 10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo212、RPC: Program not registered & retrying
现象: nfs mount: 10.10.2.3: : RPC: Program not registered nfs mount: retrying: /data/b2b-data/resinfo2原因:
没有启动NFS共享端服务。解决:需要重新启动share端的NFS服务,
Linux: mount: RPC: Program not registered #service nfs restartSolaris:
mount: RPC: Program not registered #/etc/rc.d/init.d/nfs restart13、can't contact portmapper: RPC: Remote system error - Connection refused
现象: #exportfs -a can't contact portmapper: RPC: Remote system error - Connection refused原因:
出现这个错误信息是由于SEVER端的PORTMAP没有启动。解决:
#service portmap start #service pcmcia start
----------------------------------------------------------------------------
NFS故障解决:1、NFSD没有启动起来首先要确认 NFS 输出列表存在,否则 nfsd 不会启动。可用 exportfs 命令来检查,如果 exportfs 命令没有结果返回或返回不正确,则需要检查 /etc/exports 文件。2、mountd 进程没有启动mountd 进程是一个远程过程调用 (RPC) ,其作用是对客户端要求安装(mount)文件系统的申请作出响应。mountd进程通过查找 /etc/xtab文件来获知哪些文件系统可以被远程客户端使用。另外,通过mountd进程,用户可以知道目前有哪些文件系统已被远程文件系统装配,并得知远程客户端的列表。查看mountd是否正常启动起来可以使用命令rpcinfo进行查看,在正常情况下在输出的列表中应该象这样的行:100005 1 udp 1039 mountd 100005 1 tcp 1113 mountd 100005 2 udp 1039 mountd 100005 2 tcp 1113 mountd 100005 3 udp 1039 mountd 100005 3 tcp 1113 mountd如果没有起来的话可以检查是否安装了PORTMAP组件。rpm -qa|grep portmap 3、fs type nfs no supported by kernel kernel不支持nfs文件系统,重新编译一下KERNEL就可以解决。4、cant contact portmapper: RPC: Remote system error - Connection refused出现这个错误信息是由于SEVER端的PORTMAP没有启动。5、mount clntudp_create: RPC: Program not registered NFS没有启动起来,可以用showmout -e host命令来检查NFS SERVER是否正常启动起来。6、mount: localhost:/home/test failed, reason given by server: Permission denied这个提示是当client要mount nfs server时可能出现的提示,意思是说本机没有权限去mount nfs server上的目录。解决方法当然是去修改NFS SERVER咯。7、被防火墙阻挡这个原因很多人都忽视了,在有严格要求的网络环境中,我们一般会关闭linux上的所有端口,当需要使用哪个端口的时候才会去打开。而NFS默认是使用111端口,所以我们先要检测是否打开了这个端口,另外也要检查TCP_Wrappers的设定。