ECS上搭建的NFS服务器无法正常使用

ECS上搭建的NFS服务器无法正常使用

贡献者:

KB小秘书

 · 

更新时间:2020-06-09 09:51:40

提示: 这是一篇由阿里云ACE开发者(Alibaba Cloud Engineer)贡献,针对特定用户问题发布的文章。文档的内容以原稿呈现,阿里云对于文档内容不做任何形式的承诺。阿里云有权在未经通知的情形下对文档内容做出任何形式的修改。

概述

本文主要讲述在使用ECS服务器搭建NFS服务,NFS客户端在挂载时不稳定和异常的检查方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

请您参考以下内容进行检查,先检查Client端,再检查Server端。

步骤一:检查NFS Client端

  1. 执行以下命令查看NFS客户端软件是否安装。
    rpm -qa | grep nfs
    说明:当返回的信息中包含NFS及其版本信息则该实例已安装NFS,否则您需要手动安装。
  2. 查看客户端的portmap服务是否已经开启。
    systemctl status portmap
    systemctl status rpcbind
  3. 如若portmap服务未开启,执行以下命令进行开启。
    systemctl start portmap
    systemctl start rpcbind
  4. 执行以下命令将portmap服务设为开机自动启动。
    chkconfig portmap on
    chkconfig rpcbind on
  5. 执行以下命令检查NFS客户端到服务器的网络状态,具体操作步骤请参见链路测试方法
    ping [$IP]
    注意:[$IP]指的是NFS服务端的IP地址。一定要确保NFS客户端到NFS服务器端的网络畅通,否则也谈不上使用NFS(网络文件系统)。
    1. 在NFS Client端执行以下命令测试端口连通状态。
      telnet [$IP] 111
      telnet [$IP] 2049
      说明:111端口是portmap服务。2049端口是nfs service服务。
    2. 在NFS Client上执行以下命令测试873端口是否正常
      telnet [$IP] 873
      说明:如果在NFS Server上没有配置NFS使用那些端口,那么就需要在网络上开放所有的端口,否则可能导致NFS客户端连接不上。为了避免此问题,可以设定NFS使用固定的端口,那么开放固定的端口即可。
    3. 执行以下命令检查NFS客户端的Iptables状态。
      iptables -L -n
    4. 执行以下命令设定防火墙INPUT的默认策略为ACCEPT
      iptables -t filter -P INPUT ACCEPT
  6. 执行以下命令列出NFS Server信息。
    showmount -e [$IP]
    说明:如果能够查看到共享的信息,那么此时就应该能够直接挂载使用了。若不能看到信息,可能是Server端的问题。

步骤二:检查NFS Server端

  1. 执行以下命令查看NFS Server软件包是否安装。
    rpm -qa | grep nfs
  2. 执行以下命令查看portmap服务是否开启。
    systemctl status portmap
    systemctl status rpcbind
  3. 如若portmap服务未开启,执行以下命令进行开启。
    systemctl start portmap
    systemctl start rpcbind
  4. 执行以下命令将portmap服务设为开机自动启动。
    chkconfig portmap on
    chkconfig rpcbind on
  5. 在NFS Server端执行以下命令进行测试。
    netstat -an | less
  6. 执行以下命令查看NFS端口状态。
    rpcinfo -p localhost
    说明:其中111端口和2049端口必须是开启状态。
  7. 建立目录,在/etc/exports中加入此目录,然后挂载该目录进行测试。
    mount -t nfs [$Catalog]/Pathfile /tmp
    说明:[$Catalog]指的是您自行建立的目录名称。如果可以挂载成功,那么NFS Server的设置即为正常。
  8. 查看/etc/exports文件
    1. 查看共享哪些目录,查看将目录共享给哪些客户端,权限是什么,查看文件编写的格式是否正确。
    2. 确认无误后,执行命令exportfs -a重载文件。
  9. 执行以下命令查看共享出来的目录是否能够正常的列出来。
    showmount -e /etc/exports
    说明:如果能够正常的列出来,并且服务器能够挂载由自己共享出来的NFS,那么Server端就是正常的。

适用于

  • 云服务器ECS
  • 249

    发布KB

  • 656

    回答问题

  • 12

    粉丝数