服务器 频道

Linux实战攻略:NFS服务器故障排除

  1.4  NFS典型故障排除步骤

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

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

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

  # mkdir /opt/adobe

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

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

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

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

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

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

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

  相关信息说明如下。

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

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

  12.0.14.123 fredsys fredsys.mysite.myco.com

  类似以下的条目:

  127.0.0.1   localhost    loopback #[no SMTP]

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

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

  domain mysite.myco.com

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

  nameserver 12.0.14.165

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

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

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

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

  (3)重新启动NFS服务器。

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

  3.其他NFS常见故障排除

  (1)当mount NFS文件系统时,如果错误信息是"Permission denied",则表示NFS服务器不允许客户机挂接。一般可以用更改服务端上的/etc/exports文件来解决问题,使用exportfs-rv命令重新导出文件系统。

  (2)如果出现的错误是"Program not registed",则是NFS服务可能没有启动或者运行不正常,最常用的解决方法是重新启动NFS服务。

  (3)如果出现"RPC:Unable to receive",则可能是服务端没有启动portmap服务;如果已经启动,则可能是被防火墙所屏蔽。

  (4)挂载文件系统的时候,客户端没有任何反应,则可能为客户端没有启动portmap服务。

  (5)在NFS服务器中共享目录输出失败。

  如果使用图形化窗口对共享目录进行配置,设置后必须测试共享目录的输出,以验证配置是否正确,通常图形化窗口不会报告配置错误。

  使用"exportfs  -v  -a"命令检查/etc/exports文件中设置的共享目录是否能够正常输出,其中选项"-v"表示以冗余模式显示,即显示每一步的细节。

  (6)显示"设备正忙"无法卸载。

  在使用umount命令卸载远程NFS共享目录时,出现"设备正忙"等卸载失败消息。通常可能的原因是有一个进程仍然在使用这个目录,可以使用lsof命令来查看是否有进程正在使用该共享目录。

  (7)挂载失败。

  如果在挂载NFS共享目录时,客户端提示"RPC(Remote Procedure Call)failed",即远程过程调用失败消息,则很可能是因为服务器上带有约束性质的防火墙错误地阻止了NFS客户端挂载NFS共享,即防火墙封锁了NFS或者RPC端口。为了解决这个问题,可以使用iptable命令打开服务器上的111(RPC)和2049(NFS)端口,允许NFS客户端访问服务器。

  (8)NFS请求挂起。

  如果客户端正在执行写操作,而服务器无法响应或者在网络上变得不可访问,那么在默认情况下(使用hard选项进行挂载)客户端进程将挂起直到写操作完成。如果不中止写操作,进程就不能从请求中退出。为了避免NFS请求挂起,在网络状况不稳定情况下可以在挂载目录时指定soft选项以允许操作因超时而退出,或者指定intr选项以允许用户在命令行上通过按下Ctrl+C组合键退出挂起的操作。

  (9)NFS挂载在引导时挂起。

  如果在/etc/fstab文件中设置了自动挂载NFS,但在系统引导时NFS共享目录暂时不可用,那么默认情况下引导进程将进入等待状态,直到NFS目录变得可用为止。如果所需等待的NFS目录是系统必须的,那么这种等待可能还可以接受。然而在很多情况下,用户只想让系统把挂载请求放在后台并继续引导系统。可以把bg选项添加到/etc/fstab文件中,这样在首次挂载请求超时之后,挂载请求会转入后台,系统继续引导。当需要在前台挂载NFS共享目录时可以将fg选项添加到/etc/fstab文件的挂载选项中。

    本文节选自《Red Hat Enterprise Linux 5.0服务器构建与故障排除》一书,作者曹江华。本文仅提供读者试读,如需全部内容请购买原书。

0
相关文章