ECS 或 EGS 執行個體通過 VPC 掛載點訪問 CPFS 智算版檔案系統,適用於資料預先處理、資料移轉、小規模訓練等情境,支援同可用性區域和跨可用性區域訪問。
前提條件
掛載檔案系統
步驟一:安裝 kmod-fuse
ECS/EGS 通過 EFC(Elastic File Client)用戶端訪問 CPFS 智算版檔案系統,需先安裝增強版 fuse 核心模組。
Alibaba Cloud Linux 4
# 在機器上下載安裝最新的 fuse kmod rpm
sudo bash -c "yum install -y http://mirrors.cloud.aliyuncs.com/alinux/aiext/2.0/alinux-4/$(uname -m)/Packages/alinux-aiext-repo-2.0-2.0-1.alnx4.noarch.rpm"
sudo bash -c "yum install kmod-fuse-$(uname -r)"
# 卸載 fuse ctl(如有)
sudo umount /sys/fs/fuse/connections
# 卸載舊 fuse 模組
# 說明:若 rmmod fuse 提示模組不存在,可繼續執行後續步驟;若報 busy 錯誤,建議直接重啟機器解決,重啟後跳過 rmmod / modprobe,直接執行下方版本一致性校正即可。
sudo rmmod fuse
lsmod | grep fuse
# 載入新 fuse 模組
sudo modprobe fuse
# 驗證版本一致性,輸出"一致"則正確
diff -q <(cat /lib/modules/$(uname -r)/extra/fs/fuse/fuse.srcversion) <(cat /sys/module/fuse/srcversion) >/dev/null && echo "一致" || echo "不一致"Alibaba Cloud Linux 3
# 安裝 kmod-fuse
sudo bash -c "yum install -y http://mirrors.cloud.aliyuncs.com/alinux/aiext/0.5/alinux-3/$(uname -m)/Packages/alinux-aiext-repo-0.5-0.5-1.al8.noarch.rpm"
sudo bash -c "yum install -y kmod-fuse-$(uname -r)"
# 卸載 fuse ctl(如有)
sudo umount /sys/fs/fuse/connections
# 卸載舊 fuse 模組
# 說明:若 rmmod fuse 提示模組不存在,可繼續執行後續步驟;若報 busy 錯誤,建議直接重啟機器解決,重啟後跳過 rmmod / modprobe,直接執行下方版本一致性校正即可。
sudo rmmod fuse
lsmod | grep fuse
# 載入新 fuse 模組
sudo modprobe fuse
# 驗證版本一致性,輸出"一致"則正確
diff -q <(cat /lib/modules/$(uname -r)/extra/fs/fuse/fuse.srcversion) <(cat /sys/module/fuse/srcversion) >/dev/null && echo "一致" || echo "不一致"Ubuntu 24.04(x86_64)
# 添加 AIExt deb 源
echo "deb [trusted=yes] http://mirrors.cloud.aliyuncs.com/alinux/aiext/1.0/ubuntu-24.04/x86_64/ /" > /etc/apt/sources.list.d/aliyun-aiext.list
apt update
apt -y install ubuntu-aiext-repo
apt update
# 安裝 kmod-fuse
apt -y install kmod-fuse=$(uname -r)*
# 禁用 Ubuntu 核心內建 fuse 模組(確保後續載入 kmod-fuse 提供的 fuse)
cp /etc/default/grub /etc/default/grub.bak.$(date +%Y%m%d-%H%M%S)
sed -i 's#^\(GRUB_CMDLINE_LINUX=\".*\)\"#\1 initcall_blacklist=fuse_init\"#g' /etc/default/grub
update-grub
# 重啟使配置生效
reboot步驟二:安裝 EFC 用戶端
說明:請先完成步驟一,再安裝 EFC 用戶端。
EFC 用戶端版本有重大更新或缺陷修複時,需要對 ECS 中啟動並執行 EFC 進程進行升級。升級過程中不會產生 IO Error 或中斷,但會有秒級 IO 毛刺。目前升級需要登入到 ECS 機器上通過指令碼完成。
Alibaba Cloud Linux 3/4(x86_64)
# 擷取當前機器所在 region
region=$(curl -s http://100.100.100.200/latest/meta-data/region-id)
# 下載 EFC 用戶端 RPM 包
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/aliyun-alinas-utils-latest.al7.noarch.rpm"
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/alinas-efc-latest.x86_64.rpm"
# 安裝 RPM 包(兩個包有依賴關係,需一起安裝)
sudo yum install -y ./aliyun-alinas-utils-latest.al7.noarch.rpm ./alinas-efc-latest.x86_64.rpm
# 驗證安裝,應顯示 2 個包
rpm -qa | grep alinas說明:安裝過程中的 ERROR 和 WARNING 可以忽略,最後安裝成功即可。
Alibaba Cloud Linux 3/4(ARM/aarch64)
# 設定 region(替換為實際地區,如 cn-wulanchabu)
region=<YOUR-REGION>
# 下載 EFC 用戶端 RPM 包
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/alinas-efc-latest.aarch64.rpm"
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/aliyun-alinas-utils-latest.aarch64.rpm"
# 安裝 RPM 包
sudo yum install -y ./aliyun-alinas-utils-latest.aarch64.rpm ./alinas-efc-latest.aarch64.rpm
# 驗證安裝
rpm -qa | grep alinas
Ubuntu 24.04(x86_64)
# 設定 region(替換為實際地區,如 cn-wulanchabu)
region=<YOUR-REGION>
# 下載 EFC 用戶端 deb 包
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/alinas-efc-latest.amd64.deb"
wget "https://aliyun-alinas-eac-${region}.oss-${region}-internal.aliyuncs.com/aliyun-alinas-utils-latest.noarch.deb"
# 安裝 deb 包
sudo dpkg -i ./aliyun-alinas-utils-latest.noarch.deb ./alinas-efc-latest.amd64.deb
# 驗證安裝
apt list --installed | grep alinas
步驟三:掛載檔案系統
手動掛載
# 建立掛載目錄
sudo mkdir -p /mnt/cpfs
# 掛載檔案系統
sudo mount -t alinas -o efc,protocol=efc,net=tcp,fstype=cpfs <掛載點網域名稱>:/ /mnt/cpfs
# 驗證掛載
df -h | grep cpfs參數說明:
參數 | 說明 |
| 指定檔案系統類型 |
| 使用 EFC 用戶端,TCP 協議,CPFS 檔案系統類型 |
| VPC 掛載點網域名稱,在 CPFS 控制台的掛載使用頁簽查看 |
| 掛載檔案系統根目錄 |
| 本地掛載目錄,可自訂 |
配置開機自動掛載
將掛載配置寫入 /etc/fstab,實現開機自動掛載:
# 將以下內容追加到 /etc/fstab
# 替換 <掛載點網域名稱> 為實際的 VPC 掛載點網域名稱
# 替換 /mnt/cpfs 為實際的本地掛載目錄(目錄必須存在)
echo "<掛載點網域名稱>:/ /mnt/cpfs alinas _netdev,efc,protocol=efc,net=tcp,fstype=cpfs 0 0" | sudo tee -a /etc/fstab
# 驗證配置並掛載
sudo mount -a
df -h | grep cpfs_netdev 參數確保系統在網路就緒後再掛載檔案系統。步驟四:驗證訪問
掛載成功後,可在掛載目錄中進行檔案讀寫操作:
# 查看檔案清單
ls /mnt/cpfs
# 寫入測試檔案
echo "test" > /mnt/cpfs/test.txt
# 讀取測試檔案
cat /mnt/cpfs/test.txt卸載檔案系統
確認沒有進程正在訪問掛載目錄。
fuser -m /mnt/cpfs卸載檔案系統。
sudo umount /mnt/cpfs如果已配置開機自動掛載,需刪除
/etc/fstab中對應的掛載記錄,避免重啟後自動掛載。sudo vi /etc/fstab # 找到並刪除包含 CPFS 掛載點的行,例如:# <掛載點網域名稱>:/ /mnt/cpfs alinas _netdev,efc,protocol=efc,net=tcp,fstype=cpfs 0 0
跨可用性區域訪問
ECS/EGS 支援通過 VPC 掛載點跨可用性區域訪問 CPFS 智算版檔案系統。跨可用性區域訪問的操作步驟與同可用性區域一致,使用相同的 mount 命令。VPC 訪問效能規格(含同可用性區域與跨可用性區域差異),請參見產品規格。
常見問題
掛載失敗:mount command not found
EFC 用戶端未正確安裝。請參照步驟二重新安裝 EFC 用戶端。
掛載失敗:connection timed out
檢查以下配置:
ECS/EGS 執行個體是否與 VPC 掛載點在同一 VPC 內。
安全性群組規則是否允許 ECS/EGS 訪問 VPC 掛載點。
VPC掛載點狀態是否為可用。