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挂载点状态是否为可用。