全部產品
Search
文件中心

Cloud Parallel File Storage:CPFS-POSIX用戶端掛載檔案系統(Alibaba Cloud Linux)

更新時間:Nov 07, 2025

本文介紹如何為Alibaba Cloud Linux 2作業系統安裝CPFS-POSIX用戶端並掛載訪問CPFS檔案系統。

背景資訊

  • 本文提及的目標ECS均指代掛載訪問CPFS檔案系統的計算節點。

  • 檔案儲存體CPFS相容POSIX介面,通過安裝CPFS-POSIX用戶端、掛載檔案系統使用。檔案儲存體CPFS-POSIX用戶端提供定製化服務,支援在Alibaba Cloud Linux 2作業系統中安裝使用。如果您希望通過NFS協議訪問CPFS檔案系統,請參見CPFS-NFS用戶端掛載檔案系統

  • 添加POSIX掛載點後,CPFS會自動建立3個管理節點ECS,分別為<FSID>-<GENID>-qr-001,<FSID>-<GENID>-qr-002,<FSID>-<GENID>-qr-003,列表中第一個管理節點ECS執行個體(<FSID>-<GENID>-qr-001)預設為CPFS-POSIX用戶端安裝節點。

前提條件

  • 已建立檔案系統。具體操作,請參見建立檔案系統

  • 已添加POSIX掛載點。具體操作,請參見添加POSIX掛載點

  • 已建立一個或多個Alibaba Cloud Linux 2 ECS執行個體,且執行個體規格如下。

    • 版本:Alibaba Cloud Linux 2.1903 LTS 64位

    • 核心版本:4.19.91-27.4.al7.x86_64及以下版本。

      您可以執行uname -r命令查看核心版本。

步驟一:配置目標ECS安全性群組

在為前提條件中已建立的ECS執行個體掛載檔案系統前,您需要為其添加CPFS-POSIX管理節點ECS執行個體的安全性群組,防止目標ECS執行個體與CPFS叢集無法遠端連線和資料轉送。

  1. 擷取CPFS-POSIX管理節點ECS執行個體的安全性群組資訊。

    1. 登入NAS控制台

    2. 在左側導航,選擇檔案系統 > 檔案系統列表

    3. 在頁面左側頂部,選擇目標檔案系統所在的資源群組和地區。

      image

    4. 單擊目標檔案系統,進入檔案系統詳情頁,單擊掛載使用

    5. 用戶端管理節點地區,單擊列表中第一個ECS執行個體,進入該執行個體的詳情頁面。

    6. 執行個體詳情頁面,單擊安全性群組頁簽,記錄該CPFS-POSIX管理節點的安全性群組ID/名稱

      管理節點安全性群組的名稱結構為:<FSID>-<GENID>-qr-sg。

      其中,<FSID>為CPFS檔案系統ID;<GENID>為掛載點的序號,每次建立CPFS掛載點時遞增。

  2. 為目標ECS執行個體添加CPFS-POSIX管理節點ECS執行個體的安全性群組。

    1. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

    2. 執行個體列表頁面,單擊待掛載CPFS檔案系統的ECS執行個體ID,選擇安全性群組頁簽,單擊更換安全性群組

    3. 更換安全性群組對話方塊的安全性群組下拉式清單中,選擇步驟1查詢到的管理節點安全性群組(<FSID>-<GENID>-qr-sg),單擊確定

步驟二:安裝CPFS-POSIX用戶端

  1. 登入NAS控制台

  2. 在左側導航,選擇檔案系統 > 檔案系統列表

  3. 在頁面左側頂部,選擇目標檔案系統所在的資源群組和地區。

    image

  4. 單擊目標檔案系統,進入檔案系統詳情頁,單擊掛載使用

  5. 客户端管理节点地區,單擊列表中第一個管理節點ECS執行個體,進入該執行個體的詳情頁面。

  6. 單擊遠端連線,登入CPFS-POSIX用戶端安裝節點。

  7. 連通管理節點與目標ECS執行個體之間的免密登入。

    說明

    在為多個ECS執行個體配置連通CPFS管理節點之間的免密登入前,建議將目標ECS執行個體的登入密碼設定為同一個密碼,否則,您需要多次建立client.list並重複執行步驟10~步驟12的操作步驟。

    1. 建立client.list檔案並添加目標ECS的內網IP地址。

      1. 建立client.list檔案

        touch client.list

      2. 執行vi client.list命令,開啟client.list檔案並添加目標ECS的內網IP地址。

        <目標ECS 1內網IP地址> 
        <目標ECS 2內網IP地址>
        <目標ECS 3內網IP地址>

        樣本:

        192.168.1.249
        192.168.1.250
        192.168.1.251
        說明

        可添加一個或多個ECS執行個體,當添加多個ECS執行個體時,目標ECS的內網IP地址需換行輸入。

      3. 儲存並退出。

    2. 建立qr.list檔案並添加管理節點IP地址。

      1. 建立qr.list檔案

        touch qr.list

      2. 執行vi qr.list命令,開啟qr.list檔案並添加管理節點IP地址。樣本如下:

        10.0.2.41
        10.0.2.42
        10.0.2.43

        您可以在客户端管理节点地區,擷取CPFS-POSIX用戶端管理節點IP地址。

      3. 儲存並退出。

    3. 配置auto_ssh.sh指令碼。

      1. 建立auto_ssh.sh檔案。

        touch auto_ssh.sh
      2. 執行vi auto_ssh.sh命令,開啟auto_ssh.sh檔案並添加如下內容。

        #!/usr/bin/expect
        set timeout 10
        set username [lindex $argv 0]
        set password [lindex $argv 1]
        set hostname [lindex $argv 2]
        spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $username@$hostname
        expect {
            #first connect, no public key in ~/.ssh/known_hosts
            "Are you sure you want to continue connecting (yes/no)?" {
                send "yes\r"
                expect "password:"
                send "$password\r"
            }
            #already has public key in ~/.ssh/known_hosts
            "password:" {
                send "$password\r"
            }
            "Now try logging into the machine" {
                #it has authorized, do nothing!
            }
            "already exist on the remote" {
                #it has authorized, do nothing!
            }
        }
        expect eof
        
      3. 儲存並退出。

  8. 執行以下命令,賦予使用者擁有auto_ssh.sh檔案的執行許可權。

    chmod +x auto_ssh.sh
  9. 執行以下命令,記錄client.list中目標ECS執行個體的PASSWD。

    PASSWD='yourpassword'
    說明

    如果目標ECS執行個體的PASSWD不一致,則需要多次建立client.list並重複執行步驟8~步驟10的操作步驟。

  10. 執行以下命令,組態管理節點免密登入。

    cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {}
  11. 執行以下命令,為記錄到client.list中的ECS執行個體遠程安裝CPFS用戶端。直到回顯Complete!,則表示安裝成功。

    region_id=`curl http://100.100.100.200/latest/meta-data/region-id`;
    wget https://cpfs-${region_id}-pre.oss-${region_id}-internal.aliyuncs.com/cpfs/CPFS2.3.4-CentOS.tar.gz -O /root/CPFS2.3.4-CentOS.tar.gz;
    cat client.list | xargs -I {} scp /root/CPFS2.3.4-CentOS.tar.gz {}:/root/
    pssh -ih client.list "tar xzvf /root/CPFS2.3.4-CentOS.tar.gz"
    pssh -ih client.list "cd /root/CPFS2.3.4-CentOS/CentOS7;yum install -y gpfs.adv-*.x86_64.rpm gpfs.base-*.x86_64.rpm gpfs.docs-*.noarch.rpm gpfs.gpl-*.noarch.rpm gpfs.gskit-*.x86_64.rpm gpfs.gss.pmsensors-*.x86_64.rpm gpfs.license.dm-*.x86_64.rpm gpfs.msg.en_US-*.noarch.rpm"
  12. 執行以下命令,為記錄到client.list中的ECS執行個體遠程編譯kernel extension。

    pssh -ih client.list "/usr/bin/yum -y install cpp gcc-c++ elfutils-libelf-devel" 
    pssh -ih client.list "export LINUX_DISTRIBUTION=KERNEL_ORG_LINUX; /usr/lpp/mmfs/bin/mmbuildgpl"

    配置成功後,您還可以將該環境製作為鏡像。當需要新增訪問CPFS檔案系統的ECS執行個體時,無需再次為ECS配置環境,直接使用鏡像建立執行個體即可。關於如何製作鏡像的操作步驟,請參見自訂鏡像

步驟三:掛載檔案系統

  1. 在左側導覽列,單擊執行個體

  2. 執行個體列表頁面,找到CPFS-POSIX用戶端安裝節點ECS(qr-001),單擊操作列的遠端連線,登入該節點。

    您可以在用戶端管理節點地區,擷取CPFS-POSIX用戶端安裝節點ECS的登入密碼。

  3. 執行以下命令,更新管理節點和目標ECS執行個體的hosts檔案。

    pssh -ih client.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-client.list
    pssh -ih qr.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-qr.list
    cat /tmp/ip-host-client.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/client-hosts.append
    cat /tmp/ip-host-qr.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/qr-hosts.append
    pssh -ih client.list "cp /etc/hosts hosts.bak"
    pssh -ih qr.list "cp /etc/hosts hosts.bak"
    cat client.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/
    cat client.list | xargs -I {} scp /etc/qr-hosts.append {}:/etc/
    cat qr.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/
    pssh -ih client.list "cat /etc/client-hosts.append >> /etc/hosts"
    pssh -ih client.list "cat /etc/qr-hosts.append >> /etc/hosts"
    pssh -ih qr.list "cat /etc/client-hosts.append >> /etc/hosts"
  4. 執行以下命令,將目標ECS執行個體加入到CPFS叢集。

    1. 執行命令

      mmaddnode -N client.list
      mmchlicense client --accept -N client.list
      mmchnode --perfmon -N client.list
      mmstartup -N client.list
      mmgetstate -a
    2. 返回樣本

      當目標ECS執行個體節點狀態變為active時,則表示該節點成功加入CPFS叢集。

       Node number  Node name                            GPFS state  
      ---------------------------------------------------------------
                 1  cpfs-2989198****323d3-000001-qr-001  active
                 2  cpfs-2989198****323d3-000001-qr-002  active
                 3  cpfs-2989198****323d3-000001-qr-003  active
                 4  iZ0jl91t3p5kehvr6i5****              active
  5. 執行以下命令,確認node列表中已包含目標ECS執行個體。

    • 執行命令

      mmlscluster
    • 返回樣本

       Node  Daemon node name                     IP address    Admin node name                      Designation
      -----------------------------------------------------------------------------------------------------------
         1   cpfs-2989198****323d3-000001-qr-001  192.168.3.57  cpfs-2989198****323d3-000001-qr-001  quorum-manager-perfmon
         2   cpfs-2989198****323d3-000001-qr-002  192.168.3.58  cpfs-2989198****323d3-000001-qr-002  quorum-manager-perfmon
         3   cpfs-2989198****323d3-000001-qr-003  192.168.3.56  cpfs-2989198****323d3-000001-qr-003  quorum-manager-perfmon
         4   iZ0jl91t3p5kehvr6i5****             192.168.3.59  iZ0jl91t3p5kehvr6i5****            perfmon
  6. (可選)查詢預設路徑。

    將目標ECS執行個體加入用戶端管理節點後,檔案系統會自動掛載在預設路徑/cpfs/<FSID序號>上,您可以執行mmlsfs <FSID序號>-<GENID> -T命令,查詢預設路徑。

    • 執行命令樣本

      mmlsfs 2989198****323d3-000001 -T
    • 返回樣本

      flag                value                    description
      ------------------- ------------------------ -----------------------------------
       -T                 /cpfs/2989198****323d3-000001 Default mount point

    您也可以執行mount --bind命令,通過自訂路徑訪問CPFS檔案系統。

    mount --bind /cpfs/2989198****323d3-000001 /mnt/test

    其中,/cpfs/2989198****323d3-000001為CPFS檔案系統預設掛載路徑;/mnt/test為自訂掛載路徑。

    說明
    • CPFS檔案系統安裝節點不允許自訂掛載路徑。

    • 不支援子目錄掛載。

相關文檔