【www.hj8828.com】NFS服务器典型故障排除步骤

1.个别客户端无法从一个或多个服务器导入

在Red Hat Enterprise Linux
5.0服务器中,如果NFS出现了故障,可以从以下几个方面着手检查。

一、NFS简介

1)在客户端中检查下列内容。

  1.1 故障排除思路

1、NFS就是Network
FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(FileServer)。

验证在客户端中是否有该本地目录,如果不存在,使用mkdir创建。例如,如下命令:

  

注意:一般而言,使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需要在unix-like和windows系统之间共享,那就得使用samba了。

# mkdir /opt/adobe

2、NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是……不知道,因为NFS传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。

检查局域网电缆是否没有损坏并已连接上,所有的连接是否有效。

(1)NFS客户机和服务器的负荷是否太高,服务器和客户端之间的网络是否正常。

其实,NFS运行在SUN的RPC(Remote Procedure
Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS
Server也可以看作是RPC
Server。正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap设定。比如:某个NFSClient发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到portnumber(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。

/etc/hosts是否存在并且有”相关信息”。

  (2)/etc/exports文件的正确性。

注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。

/etc/fstab是否存在并且有”相关信息”,同时所有条目是否仍然指向服务器中的有效目录。

  (3)必要时重新启动NFS或portmap服务。

3、NFS允许系统将其目录和文件共享给网络上的其他系统。通过NFS,用户和应用程序可以访问远程系统上的文件,就像它们是本地文件一样。那么NFS最值得注意的优点有:
(1)本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。
(2)不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上设置并使其在整个网络上可用。
(3)存储设备如软盘、光驱及USB设备可以被网络上其它机器使用,这可能可以减少网络上移动设备的数量。

/etc/resolv.conf是否存在并且有”相关信息”仅适于DNS)。

  运行下列命令重新启动portmap和NFS:

二、与NFS相关的几个文件和命令

2)在服务器中检查下列内容。

  service portmap restart

1、/etc/exports
对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。

客户端尝试挂接的目录是否已存在并在配置文件中列出。

  service nfs start

2、/sbin/exportfs
维护NFS的资源共享,可以通过它重新设定/etc/exports的共享目录,卸载NFS
Server共享的目录或者重新共享等。

客户端是否具有挂接文件系统的权限。

  (4)检查客户端中的mount命令或/etc/fstab的语法是否正确。

3、/usr/sbin/showmount 
上面的文件主要用在NFS
Server端,而showmount则主要用在Client端,showmount可以用來查看NFS共享的目录资源。

相关信息说明如下。

  (5)查看内核是否支持NFS和RPC服务。

4、/var/lib/nfs/xtab
NFS的记录文档:通过它可以查看有哪些Client连接到NFS主机的记录。

/etc/hosts、/etc/fstab和/etc/resolv.conf中必须包含下列条目:

  普通的内核应有的选项为CONFIG_NFS_FS=m、CONFIG_NFS_V3=y、CONFIG_
NFSD=m、CONFIG_NFSD_V3=y和CONFIG_SUNRPC=m。

下面这几个并不直接负责NFS,实际上它们是负责所有的RPC。

– /etc/hosts:系统主机名和IP地址,例如:

  我们可以使用常见的网络连接和测试工具ping及tracerroute来测试网络连接及速度是否正常,网络连接正常是NFS作用的基础。rpcinfo命令用于显示系统的RPC信息,一般使用-p参数列出某台主机的RPC服务。用rpcinfo-p命令检查服务器时,应该能看到portmapper、status、mountd
nfs和nlockmgr。用该命令检查客户端时,应该至少能看到portmapper服务。

5、/etc/default/portmap
实际上,portmap负责映射所有的RPC服务端口,它的内容非常非常之简单。

12.0.14.123 fredsys fredsys.mysite.myco.com

  1.2 NFS错误信息

6、/etc/hosts.deny
设定拒绝portmap服务的主机,即禁止访问的客户端IP列表。

类似以下的条目:

  NFS错误信息如下表所示。

7、/etc/hosts.allow
设定允许portmap服务的主机,即允许访问的客户端IP列表。

127.0.0.1   localhost    loopback #[no SMTP]

www.hj8828.com 1

三、NFS安装

– /etc/fstab:对于标准挂接,每个导入的文件系统对应一个条目。

  1.3 使用nfsstat命令查看NFS服务器状态

在主机上安装NFS服务软件,因为Debian/Ubuntu上默认是没有安装的。

– /etc/resolv.conf仅域名服务[DNS]需要使用):系统所在域的名称,例如:

  nfsstat命令显示关于NFS和到内核的远程过程调用(RPC)接口的统计信息,也可以使用该命令重新初始化该信息。如果未给定标志,默认是nfsstat
-csnr命令。使用该命令显示每条信息,但不能重新初始化任何信息。

1、安装端口映射器portmap(可选)
$ sudo apt-get install portmap

domain mysite.myco.com

  nfsstat命令的主要参数如下。

2、在终端提示符后键入以下命令安装NFS服务器
$ sudo apt-get install nfs-kernel-server

至少一个名称服务器,例如:

  (1)-b:显示NFS V4服务器的其他统计信息。

3、安装NFS客户端(可选)
$ sudo apt-get install nfs-common

nameserver 12.0.14.165

  (2)c:只显示客户机端的NFS和RPC信息,允许用户仅查看客户机数据的报告。nfsstat命令提供关于被客户机发送和拒绝的RPC和NFS调用数目的信息。

注意:nfs-kernel-server和nfs-common都依赖于portmap。另外,在一些文档中提出还需要使用apt-get来手动安装NFS的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动把它们安装好。

2.所有客户端都无法从指定的服务器导入

  要只显示客户机NFS或者RPC信息,将该参数与-n或者-r参数结合。

这样,宿主机就相当于NFS
Server。同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common(第3步)。

在服务器上执行下列步骤。

  (3)-d:显示与NFS V4授权相关的信息。

四、NFS配置

1)确保服务器已启动且正在运行,并且服务器和客户端之间的局域网连接有效是否可以从服务器ping通连接客户端,并且反之也可)。

  (4)-g:显示RPCSEC_GSS信息。

1、配置portmap
方法1:编辑/etc/default/portmap,将”-i 127.0.0.1″去掉;
方法2:$ sudo dpkg-reconfigure
portmap,出现“正在设定portmap”软件包设置界面,对Should portmap be bound
to the loopback address?选择“否(No)”。

2)确保客户端要挂接的文件系统已在/etc/fstab中列出。

  (5)-m:显示每个NFS文件系统的统计信息,该文件系统和服务器名称、地址、安装标志、当前读和写大小,以及重新传输计数

2、配置/etc/hosts.deny
禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入:

3)重新启动NFS服务器。

  (6)-n:为客户机和服务器显示NFS信息。要只显示NFS客户机或服务器信息,将该参数与-c和-s参数结合。

### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

如果这些补救方法都失败,而配置也正确执行了上述所有测试),则服务器可能没有正确引导,应重新引导服务器。

  (7)-r:显示RPC信息。

3、配置/etc/hosts.allow
允许那些你想要的主机和你的NFS服务器建立连接。

3.其他NFS常见故障排除

  (8)-s:显示服务器信息。

下列步骤将允许任何IP地址以192.168.1开头的主机连接到NFS服务器上,具体要看你目标板的端口地址,也可以指定特定的IP地址。在该文件中加入: