Linux系统通过接入点访问文件系统

本文介绍云服务器ECS如何通过接入点访问通用型NAS NFS文件系统。

前提条件

  • 已创建通用型NAS NFS协议文件系统。具体操作,请参见创建文件系统

  • 已创建接入点。具体操作,请参见创建接入点

  • 在创建文件系统的地域,已有可用的云服务器ECS(Linux),且绑定弹性公网IP或配置了公网IP。具体操作,请参见实例创建方式介绍

    单击查看接入点支持的操作系统

    操作系统类型

    操作系统版本

    Alibaba Cloud Linux

    • Alibaba Cloud Linux 2.1903 64

    • Alibaba Cloud Linux 3.2104 LTS 64

    Red Hat

    • Red Hat Enterprise Linux 7.x 64

    • Red Hat Enterprise Linux 8.x 64

    CentOS

    • CentOS 7.x 64

    • CentOS 8.x 64

    Ubuntu

    • Ubuntu 16.04 64

    • Ubuntu 18.04 64

    • Ubuntu 20.04 64

    Debian

    • Debian 9.x 64

    • Debian 10.x 64

操作步骤

  1. 连接ECS实例。具体连接方式,请参见ECS远程连接方式概述

    重要

    下载客户端需要通过公网下载,连接ECS实例前,请确认ECS实例已绑定弹性公网IP或配置了公网IP。

  2. 安装NAS客户端。

    Alibaba Cloud Linux

    1. 下载客户端。

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.3-0.20240914145556.91a304.al7.noarch.rpm
    2. 安装客户端。

      sudo yum install aliyun-alinas-utils-*.rpm
    3. 检查NAS客户端安装结果。

      which mount.alinas

      如果回显包含如下类似信息,说明NAS客户端安装成功。

      image.png

    CentOS

    1. 下载客户端。

      • CentOS 7.x

        wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
      • CentOS 8.x

        wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
    2. 安装客户端。

      sudo yum install aliyun-alinas-utils-*.rpm
    3. 检查NAS客户端安装结果。

      which mount.alinas

      如果回显包含如下类似信息,说明NAS客户端安装成功。

      image.png

    Red Hat Enterprise Linux

    1. 下载客户端。

      • Red Hat Enterprise Linux 7.x

        wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
      • Red Hat Enterprise Linux 8.x

        wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
    2. 安装客户端。

      sudo yum --disablerepo=rhui-rhel-7-server-rhui-extras-debug-rpms install aliyun-alinas-utils-*.rpm
    3. 检查NAS客户端安装结果。

      which mount.alinas

      如果回显包含如下类似信息,说明NAS客户端安装成功。

      image.png

    UbuntuDebian

    1. 下载客户端。

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.deb
    2. 安装客户端。

      sudo apt update
      sudo dpkg -i aliyun-alinas-utils-*.deb
      sudo apt-get install -f
      sudo dpkg -i aliyun-alinas-utils-*.deb
    3. 检查NAS客户端安装结果。

      which mount.alinas

      如果回显包含如下类似信息,说明NAS客户端安装成功。

      image.png

  3. 挂载NFS文件系统。

    未开启接入点RAM策略

    • NFSv3协议

      sudo mount -t alinas -o tls,vers=3 <access-point>:/ /mnt
    • NFSv4.0协议

      sudo mount -t alinas -o tls,vers=4.0 <access-point>:/ /mnt

      重要参数说明如下表所示。

      参数

      说明

      tls

      启用数据传输加密。

      重要

      使用接入点访问文件系统,必须启用数据传输加密。

      <access-point>:/

      表示<接入点域名>:<接入点相对路径>,请根据实际情况替换。

      • 接入点域名:您可以在文件存储NAS控制台文件系统列表页面,单击目标文件系统后的管理,进入挂载使用页面,然后单击接入点页签获取挂载地址。更多信息,请参见查看接入点域名。例如,ap-BLC2mN****.9e7de4b923-efr27.cn-zhangjiakou.nas.aliyuncs.com

      • 接入点相对路径:一般填写为/即可。

        说明

        例如,在创建接入点时,如果将接入点根目录设置为/test,则通过/将直接挂载到NAS上的/test目录,如果设置其他相对路径/path/to/dir,则将对应挂载到NAS上的/test/path/to/dir,且需要确保在此之前,/test/path/to/dirNAS上已存在。

      /mnt

      当前服务器上待挂载的本地路径。

      Linux ECS实例的任意子目录(例如:/mnt),请您确保子目录在本地文件系统存在。

    已开启接入点RAM策略

    1. 配置RAM信息。

      1. 创建/etc/aliyun/alinas/.credentials文件。

        touch /etc/aliyun/alinas/.credentials

      2. 执行vi /etc/aliyun/alinas/.credentials命令,打开/etc/aliyun/alinas/.credentials文件并添加以下内容。

        • RAM用户

          [NASCredentials]
          accessKeyID = your_accesskey_id
          accessKeySecret = your_accesskey_secret

          其中,your_accesskey_idyour_accesskey_secret,请替换为您实际的AccessKey IDAccessKey Secret且该RAM用户已被授权接入点客户端权限策略。如何获取AccessKey,请参见如何获取AccessKey?

        • RAM角色

          [NASCredentials]
          accessKeyID = your_accesskey_id
          accessKeySecret = your_accesskey_secret
          securityToken = your_security_token

          其中,your_accesskey_idyour_accesskey_secretyour_security_token,请替换为您实际的RAM扮演角色的临时身份凭证,且该RAM扮演角色已被授权(可选)配置接入点策略。您可以通过RAM扮演角色调用AssumeRole API,获取该RAM扮演角色的安全令牌(STS Token)、AccessKey IDAccessKey Secret。

    2. 挂载NFS文件系统。

      • NFSv3协议

        sudo mount -t alinas -o tls,vers=3,ram <access-point>:/ /mnt
      • NFSv4协议

        sudo mount -t alinas -o tls,vers=4.0,ram <access-point>:/ /mnt

        重要参数说明如下表所示。

        参数

        说明

        tls

        启用数据传输加密。

        重要

        使用接入点访问文件系统,必须启用数据传输加密。

        ram

        使用配置的RAM信息挂载文件系统。RAM信息一般放置于/etc/aliyun/alinas/.credentials路径。如果您需要修改指定的路径,请将ram参数修改为ram_config_file=指定路径

        <access-point>:/

        表示<接入点域名>:<接入点相对路径> ,请根据实际情况替换。

        • 接入点域名:您可以在文件存储NAS控制台文件系统列表页面,单击目标文件系统后的管理,进入挂载使用页面,然后单击接入点页签获取挂载地址。更多信息,请参见查看接入点域名。例如,ap-BLC2mN****.9e7de4b923-efr27.cn-zhangjiakou.nas.aliyuncs.com

        • 接入点相对路径:一般填写为/即可。

          说明

          例如,在创建接入点时,如果将接入点根目录设置为/test,则通过/将直接挂载到NAS上的/test目录,如果设置其他相对路径/path/to/dir,则将对应挂载到NAS上的/test/path/to/dir,且需要确保在此之前,/test/path/to/dirNAS上已存在。

        /mnt

        当前服务器上待挂载的本地路径。

        Linux ECS实例的任意子目录(例如:/mnt),请您确保子目录在本地文件系统存在。

  4. 验证挂载结果。

    • 执行命令

      mount -l
    • 返回示例

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

      493861480f6a55a971ad05c51b406a46.png

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

      如果挂载失败,请进行错误排查。具体操作,请参见接入点挂载失败排查

  5. 挂载成功后,您可以在Linux ECS上访问NAS文件系统,执行读取、写入、查看等操作。示例如下:

    mkdir /mnt/dir1
    mkdir /mnt/dir2
    touch /mnt/file1
    echo 'some file content' > /mnt/file2
    ls /mnt
  6. 可选:配置开机时自动挂载。

    为避免已挂载文件系统的ECS实例重启后,挂载信息丢失,您可以通过在Linux ECS实例中配置/etc/fstab文件,实现在ECS实例重启时NFS文件系统自动挂载。

    1. 打开/etc/fstab配置文件,添加挂载配置。

      • 未开启接入点RAM策略,请执行以下命令。

        access-point:/ /mnt alinas _netdev,tls,vers=3 0 0
      • 已开启接入点RAM策略,请执行以下命令。

        access-point:/ /mnt alinas _netdev,tls,vers=3,ram 0 0

        示例中主要参数说明,请参见参数说明。其余参数说明如下。

        参数

        说明

        _netdev

        防止客户端在网络就绪之前开始挂载文件系统。

        vers

        文件系统协议版本。

        • vers=3:使用NFS v3协议挂载文件系统。

        • vers=4.0:使用NFS v4协议挂载文件系统。

        0(ram后第一项)

        非零值表示文件系统应由dump备份。对于NAS文件系统而言,此值默认为0。

        0(ram后第二项)

        该值表示fsck在启动时检查文件系统的顺序。对于NAS文件系统而言,此值默认为0,表示fsck不应在启动时运行。

    2. 执行reboot命令,重启ECS实例。

      说明

      在重启ECS实例前,请确认手动挂载成功,避免ECS实例重启失败。另外,如果自动挂载配置成功,在ECS实例重启后,可以通过df -h命令查看到挂载的NAS文件系统。

接入点挂载失败排查

挂载文件系统时,返回mount: unknown filesystem type 'alinas'该如何处理?

重新安装客户端alinas-utils。具体操作,请参见安装NAS客户端

挂载文件系统时,返回mount.nfs: an incorrect mount option was specified该如何处理?

  • 可能原因

    挂载命令错误或NAS客户端版本过低。

  • 解决方案

    1. 确认挂载命令参数名是否正确。详细信息,请参见挂载NFS文件系统

    2. 执行以下命令,确认NAS客户端版本,如果版本小于1.1-8,请更新至最新版本的NAS客户端。

      rpm -qa | grep alinas

挂载文件系统时,返回mount.nfs: Unknown error 521该如何处理?

  • 可能原因

    1. 接入点域名错误。

    2. 接入点权限组配置错误。

    3. 开启RAM策略后,未配置RAM策略.credential配置文件中accessKeyIDaccessKeySecret配置错误。

    4. 使用STS Token超期。

  • 解决方案

    1. 检查挂载命令中填写的域名是否正确。

      关于如何查看接入点域名,请参见查看接入点域名

    2. 检查接入点权限组配置。

      你可以在接入点列表的操作列,单击管理,进入接入点详情页面,查看接入点所属权限组。关于权限组的更多信息,请参见管理权限组

    3. 如果接入点开启了RAM策略。

      1. 请确认挂载命令是否包含ram参数。挂载命令示例如下所示:

        NFSv3协议

        sudo mount -t alinas -o tls,vers=3,ram <access-point>:/ /mnt

        NFSv4.0协议

        sudo mount -t alinas -o tls,vers=4.0,ram <access-point>:/ /mnt
      2. 确认RAM用户的AccessKey配置是否正确。

        关于如何配置RAM信息,请参见配置RAM信息

      3. 确认RAM用户是否被授权了接入点nas:ClientMount权限,以及接入点客户端权限策略内容是否正确。

        关于接入点客户端权限策略的详细信息,请参见配置接入点客户端权限策略

      4. 如果通过STS Token访问,确认Token是否超期。

后续操作