本文档介绍如何修改Linux系统中的配置文件,使其重启时自动挂载NFS文件系统。

前提条件

  1. 已创建文件系统,详情请参见创建文件系统
  2. 已添加挂载点,详情请参见添加挂载点
  3. 已安装NFS客户端,详情请参见安装NFS客户端

容量型/性能型NAS

您可以在Linux系统中配置 /etc/fstab 文件(推荐使用)或 /etc/rc.local 文件实现NFS文件系统自动挂载。

  1. 登录云服务器ECS
  2. 配置自动挂载。
    • (推荐使用) 打开 /etc/fstab 配置文件,添加挂载命令。
      说明 如果您是在CentOS6.x系统中配置自动挂载,您需先执行chkconfig netfs on命令,保证netfs开机自启动。
      • 如果您要挂载NFSv4文件系统,添加以下命令:
        file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
      • 如果您要挂载NFSv3文件系统,添加以下命令:
        file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
    • 打开/etc/rc.local配置文件,添加挂载命令。
      说明

      在配置/etc/rc.local文件前,请确保用户对/etc/rc.local/etc/rc.d/rc.local文件有可执行权限。例如CentOS7.x系统,用户默认无可执行权限,需添加权限后才能配置/etc/rc.local文件。

      • 如果您要挂载NFSv4文件系统,添加以下命令:
        sudo mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt
      • 如果您要挂载 NFSv3 文件系统,添加以下命令:
        sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt
      命令中各参数说明如下表所示。
      参数 说明
      file-system-id.region.nas.aliyuncs.com:/ /mnt 表示<挂载点地址>:<NAS文件系统目录> <当前服务器上待挂载的本地路径>,请根据实际情况替换。
      • 挂载点地址:file-system-id.region.nas.aliyuncs.com,您可以在文件存储NAS控制台上,找到目标文件系统,单击管理,进入详情页面获取挂载点地址。
      • NAS文件系统目录:NAS的根目录(/)或任意子目录(如/share),如果是子目录,请确保子目录已存在。
      • 当前服务器上待挂载的本地路径:服务器(如ECS linux)的根目录(/)或任意子目录(如/mnt),如果是子目录,请确保子目录已存在。
      vers 文件系统版本,目前只支持nfsv3和nfsv4。
      _netdev 防止客户端在网络就绪之前开始挂载文件系统。
      0(noresvport 后第一项) 非零值表示文件系统应由 dump 备份。对于 NAS,此值为 0。
      0(noresvport 后第二项) 该值表示 fsck 在启动时检查文件系统的顺序。对于 NAS 文件系统,此值应为 0,表示 fsck 不应在启动时运行。
      挂载选项 挂载文件系统时,可选择多种挂载选项,详情情参见下表。
      注意 配置参数时,应注意以下内容:
      • 如果您必须更改IO大小参数 (rsize和wsize),建议您尽可能使用最大值 (1048576),以避免性能下降。
      • 如果您必须更改超时参数 (timeo),建议您使用150或更大的值。该timeo参数的单位为分秒 (0.1 秒),因此150表示的时间为15秒。
      • 不建议使用soft选项,有数据一致性风险。如果您要使用soft选项,相关风险需由您自行承担。
      • 避免设置不同于默认值的任何其他挂载选项。如果更改读或写缓冲区大小或禁用属性缓存,会导致性能下降。
      挂载选项使用逗号分隔列表的形式,具体选项与说明如下表所示。
      选项 说明
      rsize 定义数据块的大小,用于在您的客户端与云中的文件系统之间读取数据。建议值:1048576
      wsize 定义数据块的大小,用于在您的客户端与云中的文件系统之间写入数据。建议值:1048576
      hard 指定在NAS暂时不可用的情况下,使用文件系统上某个文件的本地应用程序时应停止并等待该文件系统恢复在线状态。建议启用该参数。
      timeo 指定时长(单位为0.1秒),即NFS客户端在重试向云中的文件系统发送请求之前等待响应的时间。建议值:60秒。
      retrans 指定NFS客户端应重试请求的次数。建议值:2
      noresvport 指定在网络重连时使用新的TCP端口,保障在网络发生故障恢复的时候不会中断连接。建议启用该参数。
  3. 执行reboot命令,重启云服务器 ECS。
  4. 执行mount -l命令,查看挂载结果。

    如果回显包含如下类似信息,说明挂载成功。

    自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第1张

    挂载成功后,您还可以通过df -h命令,可以查看文件系统的当前容量信息。

  5. 挂载成功后,您可以在ECS上访问NAS文件系统,执行读取或写入操作。

    您可以把NAS文件系统当作一个普通的目录来访问和使用,例子如下所示。

    自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第2张

极速型 NAS

您可以在 Linux 系统中配置 /etc/fstab 文件实现 NFS 文件系统自动挂载。

  1. 登录云服务器ECS
  2. 打开 /etc/systemd/system/sockets.target.wants/rpcbind.socket 文件,注释掉IPv6相关的rpcbind参数,否则NFS的rpcbind服务自动启动会失败。
    vi /etc/systemd/system/sockets.target.wants/rpcbind.socket
    自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第3张
    说明 如果您是在CentOS6.x系统中配置自动重启,您还需执行以下两个操作。
    1. 执行chkconfig netfs on命令,保证netfs开机自启动。
    2. 打开/etc/netconfig配置文件,注释掉inet6相关的内容。自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第4张
  3. 打开/etc/fstab配置文件,添加以下命令。
    file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt nfs vers=3,nolock,proto=tcp,noresvport,_netdev 0 0
    命令中各参数说明如下表所示。
    参数 说明
    file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt 表示<挂载点地址>:<NAS文件系统目录> <当前服务器上待挂载的本地路径>,请根据实际情况替换。
    • 挂载点地址:file-system-id.region.extreme.nas.aliyuncs.com,您可以在文件存储NAS控制台上,找到目标文件系统,单击管理,进入详情页面获取挂载点地址。
    • NAS文件系统目录:极速型NAS的共享目录必须以/share开头,例如:/share、/share/subdir。
    • 当前服务器上待挂载的本地路径:服务器(如ECS linux)的根目录(/)或任意子目录(如/mnt),如果是子目录,请确保子目录已存在。
    vers 文件系统版本,目前只支持nfsv3。
    _netdev 防止客户端在网络就绪之前开始挂载文件系统。
    0(noresvport 后第一项) 非零值表示文件系统应由 dump 备份。对于 NAS,此值为 0。
    0(noresvport 后第二项) 该值表示 fsck 在启动时检查文件系统的顺序。对于 NAS 文件系统,此值应为 0,表示 fsck 不应在启动时运行。
    挂载选项 详情请参见容量型/性能型NAS的挂载选项说明表。
  4. 执行reboot命令,重启云服务器 ECS。
  5. 执行mount -l命令,查看挂载结果。

    如果回显包含如下类似信息,说明挂载成功。

    自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第5张
  6. 挂载成功后,您可以在ECS上访问NAS文件系统,执行读取或写入操作。

    您可以把NAS文件系统当作一个普通的目录来访问和使用,例子如下所示。

    自动挂载NFS文件系统_挂载文件系统_用户指南_文件存储 阿里云技术文档 第6张

常见错误排查

如果挂载失败,请参见挂载失败的排查与处理方法进行排查。