访问NFS共享目录

更新时间:
复制为 MD 格式

本文介绍如何使用Linux系统挂载访问NFS协议共享。

前提条件

已创建共享。具体操作,请参见创建共享

安装NFS客户端

在挂载NFS共享前,需要在客户机上安装NFS客户端。

  1. 登录客户机。

  2. 执行以下命令安装NFS客户端。

    此处介绍Ubuntu操作系统和CentOS操作系统的安装命令,其他操作系统上的NFS客户端安装请参见NFS官方文档。

    • 如果您使用Ubuntu操作系统,执行以下命令。

      apt-get install nfs-common
    • 如果您使用CentOS操作系统,执行以下命令。

      yum install -y nfs-utils

手动挂载NFS共享目录

  1. 连接到ECS实例

  2. ECS实例中,执行以下命令将共享目录挂载至客户端所在的本地目录。

    IPv4方式

    NFS v4协议挂载

    如果您需要使用IPv4方式以及NFS v4协议挂载共享,请执行以下命令:

    sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>

    NFS v3协议挂载

    如果您需要使用IPv4方式以及NFS v3协议挂载共享,请执行以下命令:

    sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>

    命令中的参数说明如下:

    • ipv4_address:/share_name:存储网关挂载点(包括存储网关IPv4地址和共享目录名称),请根据实际值替换。您可以在云存储网关控制台,找到目标存储网关,在其共享页面查看挂载点。

    • local-directory:客户端的本地目录,可以是任意有读写权限的目录,不能是不存在的文件目录。

    • noac:如果您开启了极速同步功能,且要挂载的共享已经加入了极速同步组,可以在挂载命令中加入该参数。加入该参数后,客户端会实时从网关获取文件系统的元数据,从而使您更快地在客户端看到同步结果。该参数对客户端的读写性能有一定影响。如果对客户端文件变化敏感,建议加入该参数;如果对客户端读写性能敏感,不建议加入该参数。示例命令如下:

      sudo mount -t nfs -o noac,lookupcache=none,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>

    IPv6方式

    说明
    • 仅华东5(呼和浩特)地域支持采用IPv6方式挂载,网关所使用的VPCvSwitch要支持IPv6。

    • IPv6方式的挂载,使用前请先确保所使用的ECS客户端已经配置了IPv6地址。

    • 如果已有网关所使用的VPCvSwitch支持IPv6,可以在网关操作列表中启用IPv6后,获取IPv6的挂载点,而在此VPC下新创建的网关默认支持IPv6,不需要进行启用操作。

    NFS v4协议挂载

    如果您需要使用IPv6方式以及NFS v4协议挂载共享,请执行以下命令:

    sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>

    NFS v3协议挂载

    如果您需要使用IPv6方式以及NFS v3协议挂载共享,请执行以下命令:

    sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>

    命令中的参数说明如下:

    • ipv6_address:/share_name:存储网关挂载点(包括存储网关IPv6地址和共享目录名称),请根据实际值替换。您可以在云存储网关控制台,找到目标存储网关,在其共享页面查看挂载点。

      例如:2408:4004:ffff:ffff:ffff:ffff:ffff:ffff:/myshare

    • local-directory:客户端的本地目录,可以是任意有读写权限的目录,不能是不存在的文件目录。

    • noac:如果您开启了极速同步功能,且要挂载的共享已经加入了极速同步组,可以在挂载命令中加入该参数。加入该参数后,客户端会实时从网关获取文件系统的元数据,从而使您更快地在客户端看到同步结果。该参数对客户端的读写性能有一定影响。如果对客户端文件变化敏感,建议加入该参数;如果对客户端读写性能敏感,不建议加入该参数。示例命令如下:

      sudo mount -t nfs -o noac,lookupcache=none,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>
  3. 执行df -h命令,查看挂载结果。

    如果系统显示如下类似信息,则表示挂载成功。

    guazai

    说明

    共享挂载成功后,终端显示的是每个共享管理的文件系统的容量。目前OSS存储空间无容量限制,关于不同的网关规格能够支持的文件系统容量,请参见产品规格

访问共享目录

挂载成功后,您可以像操作本地目录一样操作共享目录。如果访问用户具有写权限,则可以向共享目录写入数据;如果访问用户只有读权限,则只能读取文件。

说明

云存储网关的共享目录与OSS Bucket进行了数据同步,您对共享目录的操作实际也是对OSS进行操作。

卸载共享目录

重要

在执行 umount 卸载操作前,请检查共享上传状态,建议您在共享已处于上传完成状态时执行卸载操作,以避免数据丢失。相关问题,请参见为什么共享的同步状态一直显示“上传未完成”?

您可以执行umount <local-directory>来卸载共享目录。其中local-directory为共享正在使用的客户端本地目录。

(可选)自动挂载NFS共享目录

为避免已挂载文件系统的云服务器ECS重启后,挂载信息丢失,您可以通过在Linux ECS实例中配置/etc/fstab(推荐使用)文件或/etc/rc.local文件,实现在云服务器ECS设置重启时NFS文件系统自动挂载。

说明
  • 在配置自动挂载前,请先确认手动挂载成功,避免ECS启动失败。

  • 如果您是在CentOS 6系统中配置自动挂载,需先完成以下操作:

    1. 执行chkconfig netfs on命令,保证netfs开机自启动。

    2. 打开/etc/netconfig配置文件,注释掉inet6相关的内容。

方案一(推荐使用)

  1. 配置/etc/fstab文件。

    IPv4方式

    NFS v4协议挂载

    如果您需要使用IPv4方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:

    <ipv4_address:/share_name> <local-directory> nfs nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0

    NFS v3协议挂载

    如果您需要使用IPv4方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:

    <ipv4_address:/share_name> <local-directory> nfs vers=3 nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0

    IPv6方式

    NFS v4协议挂载

    如果您需要使用IPv6方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:

    <ipv6_address:/share_name> <local-directory> nfs nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0

    NFS v3协议挂载

    如果您需要使用IPv6方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:

    <ipv6_address:/share_name> <local-directory> nfs vers=3 nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0
  2. 执行reboot命令,重启云服务器ECS。

    ECS启动后,执行df -h或者mount命令验证挂载结果。

    重要

    重启云服务器会中断业务,建议您在业务低谷时期重启云服务器。

方案二

说明

在配置/etc/rc.local文件之前,请确保用户对该文件以及/etc/rc.d/rc.local文件具有可执行权限。例如,在 CentOS 7.x 系统中,用户默认不具备这些文件的可执行权限,需手动添加执行权限后才能进行配置。

  1. 配置/etc/rc.local文件。

    IPv4方式

    NFS v4协议挂载

    如果您需要使用IPv4方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:

    sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>

    NFS v3协议挂载

    如果您需要使用IPv4方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:

    sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>

    IPv6方式

    NFS v4协议挂载

    如果您需要使用IPv6方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:

    sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>

    NFS v3协议挂载

    如果您需要使用IPv6方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:

    sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>
  2. 执行reboot命令,重启云服务器ECS。

    ECS启动后,执行df -h或者mount命令验证挂载结果。

    重要

    重启云服务器会中断业务,建议您在业务低谷时期重启云服务器。