全部產品
Search
文件中心

File Storage NAS:Linux系統通過存取點訪問檔案系統

更新時間:Oct 17, 2024

本文介紹Elastic Compute Service如何通過存取點訪問通用型NAS NFS檔案系統。

前提條件

  • 已建立通用型NAS NFS協議檔案系統。具體操作,請參見建立檔案系統

  • 已建立存取點。具體操作,請參見建立存取點

  • 在建立檔案系統的地區,已有可用的Elastic Compute Service(Linux),且綁定Elastic IP Address或配置了公網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執行個體已綁定Elastic IP Address或配置了公網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

    Ubuntu和Debian

    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>:/

      表示<存取點網域名稱>:<存取點相對路徑>,請根據實際情況替換。

      • 存取點網域名稱:您可以在Apsara File Storage NAS控制台檔案系統列表頁面,單擊目標檔案系統後的管理,進入掛載使用頁面,然後單擊存取點頁簽擷取掛載地址。更多資訊,請參見查看存取點網域名稱。例如,ap-BLC2mN****.9e7de4b923-efr27.cn-zhangjiakou.nas.aliyuncs.com

      • 存取點相對路徑:一般填寫為/即可。

        說明

        例如,在建立存取點時,如果將存取點根目錄設定為/test,則通過/將直接掛載到NAS上的/test目錄,如果設定其他相對路徑/path/to/dir,則將對應掛載到NAS上的/test/path/to/dir,且需要確保在此之前,/test/path/to/dir在NAS上已存在。

      /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 ID和AccessKey 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 ID和AccessKey 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>:/

        表示<存取點網域名稱>:<存取點相對路徑> ,請根據實際情況替換。

        • 存取點網域名稱:您可以在Apsara File Storage NAS控制台檔案系統列表頁面,單擊目標檔案系統後的管理,進入掛載使用頁面,然後單擊存取點頁簽擷取掛載地址。更多資訊,請參見查看存取點網域名稱。例如,ap-BLC2mN****.9e7de4b923-efr27.cn-zhangjiakou.nas.aliyuncs.com

        • 存取點相對路徑:一般填寫為/即可。

          說明

          例如,在建立存取點時,如果將存取點根目錄設定為/test,則通過/將直接掛載到NAS上的/test目錄,如果設定其他相對路徑/path/to/dir,則將對應掛載到NAS上的/test/path/to/dir,且需要確保在此之前,/test/path/to/dir在NAS上已存在。

        /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設定檔中accessKeyID或accessKeySecret配置錯誤。

    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是否超期。

後續操作