全部產品
Search
文件中心

Cloud Parallel File Storage:快速入門(CPFS-POSIX)

更新時間:Jun 05, 2026

以 Alibaba Cloud Linux為例,介紹如何建立 CPFS 檔案系統並通過 CPFS-POSIX 用戶端完成掛載。CPFS-POSIX 用戶端可同時串連多個儲存節點,對上層應用提供標準 POSIX 和 MPI-IO 介面,兼具高效能與應用介面相容性。

說明
  • CPFS-POSIX 用戶端的 I/O 效能優於 CPFS-NFS 用戶端。建立 POSIX 掛載點時,系統會在您的阿里雲帳號下自動建立 3 個隨用隨付的ECS執行個體用於管理 CPFS-POSIX 用戶端叢集,執行個體規格為 ecs.g*.large(g6 及以上),費用按所在地區ECS計費標準收取。請確認您的阿里雲帳號可在目標可用性區域購買該規格執行個體。詳細價格,請參見Elastic Compute Service產品定價

  • 如果對效能無極致要求,建議在控制台開啟通用型協議服務,改用 CPFS-NFS 用戶端訪問 CPFS。NFS 方式無需額外的 3 個ECS執行個體。關於協議服務的更多資訊,請參見協議服務

前提條件

開始前,請確認以下準備工作已完成:

  • 開通 CPFS 服務:首次登入CPFS 控制台時,根據頁面引導完成開通。

  • ECS 執行個體:已建立一個運行 CPFS-POSIX 用戶端支援的作業系統的ECS執行個體。支援的作業系統和執行個體要求,請參見建立ECS執行個體

    作業系統類型

    發行版

    核心版本

    Alibaba Cloud Linux

    Alibaba Cloud Linux 2.1903 64位

    4.19.91-27.4.al7.x86_64及以下版本

    RHEL或CentOS

    8.4

    4.18.0-305.19.1.el8_4

    8.3

    4.18.0-240.22.1.el8_3

    8.2

    4.18.0-193.28.1.el8_2

    8.1

    4.18.0-147.8.1.el8_1

    8.0

    4.18.0-80.11.2.el8_0

    7.9

    3.10.0-1160.42.2.el7

    7.8

    3.10.0-1127.19.1.el7

    7.7

    3.10.0-1062.18.1.el7

    7.6

    3.10.0-957.54.1.el7

    7.5

    3.10.0-862.14.4.el7

    7.4

    3.10.0-693.2.2.el7

    7.3

    3.10.0-514.26.2.el7

    7.2

    3.10.0-514.26.2.el7

    Ubuntu

    20.04.3 LTS

    5.4.0-86-generic

    說明
    • CPFS-POSIX用戶端軟體需要最少2個CPU核、4 GiB記憶體確保正常運行。

    • 如果您的作業系統核心版本不屬於POSIX用戶端支援的核心版本,建議您使用NFS用戶端訪問CPFS。

    • 使用CentOS的使用者,由於CentOS官方宣布了停止維護CentOS Linux的計劃,阿里雲上CentOS Linux公用鏡像來源於CentOS官方,當CentOS Linux停止維護後,阿里雲將會同時停止對該作業系統的支援。為了避免作業系統停止維護帶來的影響,建議您及時更換作業系統。關於更換作業系統的詳細資料,請參見作業系統遷移

本文使用的ECS執行個體配置如下:

  • 作業系統:Alibaba Cloud Linux 2.1903 LTS 64位

  • 核心版本:4.19.91-27.4.al7.x86_64

  • vCPU:2 vCPU

  • 記憶體:8 GiB

  • 地區:華東2(上海)

  • 可用性區域:上海可用性區域B

  • 內網IP地址:192.168.1.249

使用流程

完整部署流程分為五個階段:

  1. 建立 CPFS 檔案系統 — 在目標地區和可用性區域建立檔案系統。

  2. 添加 POSIX 掛載點並加入仲裁節點安全性群組 — 建立掛載點,並將ECS執行個體加入仲裁節點安全性群組,確保用戶端可串連控制面。

  3. 安裝 CPFS-POSIX 用戶端 — 配置免密登入並運行遠程安裝指令碼。

  4. 掛載檔案系統 — 在ECS執行個體上執行掛載命令。

  5. 驗證掛載 — 確認檔案系統可正常訪問。

步驟一:建立檔案系統

  1. 登入CPFS控制台

  2. 概覽頁面的下方,單擊建立CPFS

  3. CPFS國際站(隨用隨付)頁面,按如下說明配置必要參數。其他參數請您根據實際業務需求選擇或選用預設配置。更多資訊,請參見建立檔案系統

    配置項

    說明

    地區

    在下拉式清單中,選擇華東2(上海)

    可用性區域

    選擇上海可用性區域B。與ECS執行個體同一可用性區域。

    類型

    選擇100 MB/s/TiB基準

    CPFS配置容量

    選擇檔案系統儲存容量。本樣本選擇容量為3600 GiB

    專用網路

    選擇已建立的VPC網路。

    虛擬交換器

    選擇VPC網路下建立的交換器。

  4. 單擊立即購買,根據頁面提示,完成購買。

步驟二:添加POSIX掛載點和添加管理節點安全性群組

  1. 在左側導覽列,選擇檔案系統 > 檔案系統列表,單擊剛建立的檔案系統名稱。

  2. 在檔案系統詳情頁面,單擊掛載使用頁簽。

  3. 添加 POSIX 用戶端掛載點。

    1. 單擊添加POSIX客戶端掛載點,配置以下必要參數。其他參數根據業務需求配置或保留預設值。

      參數

      說明

      交換器交換器

      選擇與ECS執行個體在同一VPC下的交換器。

    2. 單擊確定

  4. 擷取仲裁節點安全性群組資訊。

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

    2. 在該ECS執行個體詳情頁面,單擊安全性群組頁簽,記錄安全性群組資訊。

  5. 將目標ECS執行個體加入仲裁節點安全性群組。

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

    2. 單擊待掛載 CPFS 檔案系統的ECS執行個體 ID,進入執行個體詳情頁面。

    3. 單擊安全性群組頁簽,再單擊對話方塊的安全性群組下拉式清單中,選擇上一步記錄的仲裁節點安全性群組(<FSID>-<GENID>-qr-sg),單擊確定

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

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

  2. 在 CPFS-POSIX 用戶端安裝節點 ECS(cpfs-****-000001-qr-001)的操作列,單擊遠端連線,登入該ECS執行個體。串連方式,請參見串連執行個體

    第一個ECS執行個體的登入密碼,可在 NAS 控制台對應檔案系統的掛載使用頁面的用戶端管理節點地區查看。在用戶端管理節點地區的初始密碼列,查看並記錄對應 ECS 執行個體的初始密碼,用於遠端連線登入。

  3. 組態管理節點到目標ECS執行個體的免密登入。

    說明

    為多個ECS執行個體配置免密登入前,建議將所有目標ECS執行個體的登入密碼設定為相同密碼。否則,您需要為每個執行個體單獨建立 client.list 並重複執行步驟6~步驟8的操作。

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

      1. 建立 client.list 檔案。

        touch client.list
      2. 開啟 client.list 檔案,添加目標ECS執行個體的內網IP地址。

        192.168.1.249
        說明

        如需添加多個ECS執行個體,每個內網IP地址單獨佔一行。

      3. 儲存並退出。

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

      1. 建立 qr.list 檔案。

        touch qr.list
      2. 開啟 qr.list 檔案,添加仲裁節點IP地址。樣本如下:

        192.168.*.***
        192.168.*.***
        192.168.*.***

        仲裁節點IP地址可在控制台客戶端管理節點地區查看。

      3. 儲存並退出。

    3. 建立並配置 auto_ssh.sh 指令碼。

      1. 建立 auto_ssh.sh 檔案。

        touch auto_ssh.sh
      2. 開啟 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. 儲存並退出。

  4. 為 auto_ssh.sh 檔案添加執行許可權。

    chmod +x auto_ssh.sh
  5. 設定目標ECS執行個體的登入密碼變數。

    PASSWD='yourpassword'
    說明

    如果各ECS執行個體的登入密碼不同,需要為每個執行個體單獨建立 client.list 並重複執行步驟6~步驟8的操作。

  6. 配置仲裁節點免密登入。

    cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {}
  7. 為 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"
  8. 為 client.list 中的ECS執行個體遠程編譯核心擴充。

    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執行個體時,無需重複配置,直接使用鏡像建立執行個體即可。關於如何製作自訂鏡像,請參見自訂鏡像概述

步驟四:掛載CPFS檔案系統

  1. 執行以下命令,更新管理節點和目標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"
  2. 執行以下命令,將目標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
  3. 執行以下命令,確認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

步驟五:驗證掛載

掛載成功後,CPFS 檔案系統以普通目錄的形式掛載到ECS執行個體上,可直接進行檔案讀寫。

  1. 串連目標ECS執行個體。串連方式,請參見串連ECS執行個體

  2. 執行以下命令,確認掛載點已列出。

    df -h

    返回結果樣本如下:

    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 7.6G     0  7.6G   0% /dev
    tmpfs                    7.6G     0  7.6G   0% /dev/shm
    tmpfs                    7.6G  512K  7.6G   1% /run
    tmpfs                    7.6G     0  7.6G   0% /sys/fs/cgroup
    /dev/vda1                 40G  3.4G   37G   9% /
    tmpfs                    1.6G     0  1.6G   0% /run/user/0
    01a392bac3****-000001    3.6T  432M  3.6T   1% /cpfs/01a392bac3****-000001

    其中,*/cpfs/01a392bac3****-000001* 即為查詢到的掛載點。

  3. 執行以下命令,進入 CPFS 檔案系統目錄。

    cd <掛載點>

    此時,CPFS 檔案系統可作為普通目錄進行訪問和檔案操作。