灵骏裸金属支持通过 VSC 通道访问CPFS智算版(next-gen)。
已使用线上架构 CPFS 的存量客户,需要先联系 CPFS 技术团队完成升级,再按照本文操作。
准备工作
挂载前,请完成以下准备工作。
创建文件系统。
需要先创建一个 CPFS智算版(next-gen)文件系统。具体操作,请参见创建文件系统。
确认HPNZone 一致性。
灵骏计算资源和CPFS 文件系统必须处于同一个HPNZone(高性能网络区域)才能通过VSC 高速通道挂载。
查询灵骏节点 HPNZone:前往 灵骏智能计算 > 节点管理,在节点详情页的“网络信息”区域查看“HPNZone”字段。
查询CPFS 文件系统 HPNZone:前往 文件存储 CPFS > 文件系统列表,在文件系统详情页的“基本信息”区域查看“HPNZone”字段。 确保二者完全一致。
确认CPFS 文件系统规格。
挂载所用的CPFS 文件系统规格需为“多租bmcpfs”(包含400MB/s/TiB或大容量规格)。您可以在 文件存储 CPFS 控制台的文件系统详情页确认规格。
开启高性能存储访问。
对于存量未挂载过 CPFS 的灵骏集群,需要开启存储加速功能。
操作路径:在 灵骏控制台 > 集群管理 > 目标集群 > 高级配置 页签中,找到“存储加速”选项,并勾选“支持高性能文件存储访问”或“开启高速挂载”。
请根据您控制台界面的实际选项名称进行勾选。
使用VSC OpenAPI与Hostpath挂载
此方式不依赖 Kubernetes,通过直接调用 API和在节点上执行脚本,将CPFS文件系统以 Hostpath 形式挂载到物理机上,此方法普适性最强,但步骤较多,操作较复杂。
建议您使用容器挂载CPFS智算版(next-gen),详细可参见在 ACK 中挂载文件系统。
前置条件
已创建灵骏集群分组,并开启“支持高性能文件存储访问”功能。
已与售前确认灵骏计算和 CPFS 位于同一集群编号。
使用 Alibaba Cloud Linux 3 或 Ubuntu 24.02,其他操作系统暂不支持。
已与售前确认 CPFS 为多租 bmcpfs,规格为 400 MB/s/TiB 或大容量规格。
对于存量未挂载过 CPFS 的灵骏集群,需联系灵骏技术支持开通“支持高性能文件存储访问”功能。
节点机型需支持 CPFS,计算与存储之间不能跨存算亲和域访问。如果创建分组时没有高性能文件存储访问选项,先联系阿里云确认机型是否已加白。
若灵骏单租集群上部署了PAI 套件,使用 CPFS 前需要联系PAI 技术支持修改相关配置。
检查内核版本
确认 Alibaba Cloud Linux 3 的内核版本不低于 5.10.134-13。执行以下命令查看内核版本。
uname -r风险说明
在 ACK Pro 或 Kubernetes 环境中,CSI 插件可自动管理 CPFS 的挂载和卸载生命周期。采用本方式时,您需要自行完成计算集群扩缩容、节点维修等变更涉及的 CPFS 运维操作。阿里云无法代替您调用相关 OpenAPI 或在计算节点上执行本地命令。遗漏操作可能导致计算任务无法访问文件系统,或因挂载记录残留而无法退订 CPFS,造成资损。
CPFS 的挂载和卸载分别包含两个阶段,各操作的作用如下。
操作 | 作用 |
Attach | 通道加白,允许 CPFS 与后端存储集群建立 I/O 通路。此操作为异步操作,需要轮询状态确认成功。 |
Mount | 在操作系统上挂载 CPFS 文件系统。 |
Umount | 在操作系统上卸载 CPFS 文件系统。 |
Detach | 移除通道白名单,关闭 I/O 通路。此操作为异步操作,需要轮询状态确认成功。 |
挂载时按 Attach → Mount 的顺序执行,卸载时按 Umount → Detach 的顺序执行。挂载和卸载都必须完成各自的两个阶段,并在每个相关节点上按顺序执行。
前置条件风险
节点机型、存算亲和域、操作系统和高性能文件存储访问功能需满足前置条件,否则挂载会失败或不可用。控制台未显示高性能文件存储访问选项时,需先联系阿里云确认机型是否已加白。
灵骏节点默认没有 VSC 设备,包括首次挂载第一个 CPFS 文件系统,也必须先创建 VSC,再执行 Attach。创建和查询操作参见步骤1:在灵骏节点安装EFC 客户端并挂载。
扩容/运维遗漏风险
灵骏集群不会默认挂载 CPFS 文件系统,HostPath 挂载也不会自动传递到新节点。新扩容节点默认没有 VSC 设备,需要逐一完成 VSC 创建、Attach、Mount 和自动挂载配置。任一节点漏执行,或在挂载完成前就调度计算任务,都会导致任务无法访问文件系统并失败。操作参见日常运维。
普通维修上线后,即使 Attach 记录保留,能否自动恢复挂载仍依赖 /etc/fstab 配置。配置缺失或不正确时,需要手动挂载,或恢复配置后重新挂载。恢复操作参见日常运维。
节点重装与集群变更风险
HostPath 挂载依赖系统盘上的 /etc/fstab 实现开机自动挂载。节点重装、更换操作系统或本地盘转云盘前,必须备份该文件。
不经过集群缩容的普通节点维修会保留 VSC Attach 记录,无需重新 Attach。涉及缩容再扩容的变更,例如本地盘集群升级为云盘集群、云盘集群更换操作系统重装,不会保留 VSC Attach 记录。此类变更后,需要重新创建 VSC、Attach 文件系统、恢复自动挂载配置并执行挂载,否则文件系统不可访问。具体操作参见日常运维。
并发操作风险
Attach/Detach OpenAPI 调用应由唯一的系统统一管理。多个业务系统同时操作可能导致文件系统被误卸载,造成该节点上所有业务都无法访问文件系统。
挂载/卸载操作风险
发起 Attach 后,必须查询并确认状态变为
Attached,再执行 Mount。如果状态超过 10 分钟仍为Attaching,或变为Failed,需要先 Detach 再重试。查询和重试操作参见步骤1:在灵骏节点安装EFC 客户端并挂载。卸载前必须确保文件系统没有被节点上的业务访问,否则可能造成数据损坏或丢失。无法
umount时可使用-lf参数强制卸载,但会使已有挂载失效,影响仍在访问 CPFS 的业务。具体操作参见日常运维。
文件系统无法删除风险
删除文件系统前,灵骏集群所有节点都不能残留该文件系统的 Attach 信息,包括 OpenAPI 和 InnerAPI 两种渠道的挂载记录,否则删除会失败并可能造成资损。常见的残留来源如下。
缩容顺序错误:先移除节点、再解除文件系统关联,可能残留 Attach 记录并导致文件系统无法删除。必须先卸载并解除该节点上所有通过 OpenAPI 挂载的文件系统,再执行集群缩容。
挂载残留:删除前还需确认文件系统未被任何 HostPath 容器或物理机使用,所有相关节点均已卸载,且
/etc/fstab不再自动挂载该文件系统。检查和清理操作参见删除文件系统。
准备工作
确认操作系统版本。登录您的灵骏节点,执行
uname -r检查内核版本。目前仅支持以下操作系统:Alibaba Cloud Linux 3 (内核版本要求
5.10.134-13及以上)Ubuntu 24.02
准备RAM 用户及权限。使用主账号可略过此步骤,但为降低AccessKey 权限暴露的风险,强烈建议使用RAM 用户进行OpenAPI 操作。
登录RAM 控制台,创建自定义权限策略。策略内容如下:
{ "Version": "1", "Statement": [ { "Action": [ "nas:AttachVscToFilesystems", "nas:DetachVscFromFilesystems", "nas:DescribeFilesystemsVscAttachInfo", "eflo:ListVscs", "eflo:CreateVsc", "eflo:DeleteVsc" ], "Resource": [ "acs:ecs:*:*:vsc/*", "acs:eflo:*:*:vsc/*", "acs:nas:*:*:filesystem/*" ], "Effect": "Allow" } ] }创建一个RAM 用户,并授予该自定义策略。
为该RAM 用户创建AccessKey,用于后续的API调用。
步骤1:在灵骏节点安装EFC 客户端并挂载
此操作需要在每一个需要挂载文件系统的灵骏节点上执行。您可以使用云助手进行批量操作。
下载与安装EFC 客户端。
重要EFC 客户端版本有重大更新或缺陷修复时,需要对 ECS 中运行的 EFC 进程进行升级。升级过程中不会产生 IO Error 或中断,但会有秒级 IO 毛刺。
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 alinasUbuntu 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创建本地挂载目录。
请根据实际需求修改挂载目录路径。
mkdir -p /mnt/cpfs配置FSTAB自动挂载。
echo "cpfs-xxxx-xxxx.cn-wulanchabu.cpfs.aliyuncs.com:/ /your/fs/mount/dir alinas _netdev,efc,protocol=efc,net=vsc,fstype=cpfs 0 0" >> /etc/fstab重要参数说明:
cpfs-xxxx-xxxx.cn-wulanchabu.cpfs.aliyuncs.com:替换为实际的CPFS 文件系统挂载点地址/mnt/cpfs:替换为实际的本地挂载目录net=vsc:必须配置,指定使用 VSC 高速访问通道fstype=cpfs:指定文件系统类型为CPFS
执行挂载。
mount -a检查挂载是否成功。
df -h | grep cpfs成功后应显示CPFS 文件系统已挂载到指定目录。
步骤2:调用 API关联VSC与文件系统
此步骤的目的是为灵骏节点和CPFS 文件系统之间建立一个名为 VSC 的高速网络通道。
获取VSC设备ID
对于新节点(首次挂载):
调用灵骏 OpenAPI
CreateVsc,传入灵骏节点 ID,创建一个VSC设备,并记录返回的VscId。循环调用
ListVscs,传入节点ID,检查VSC设备状态(Status字段),直至其变为 Normal。若超过10分钟状态未变为Normal,则视为异常,请调用DeleteVsc接口删除后重试。
对于已有节点(已挂载过其他CPFS):
调用灵骏 OpenAPI
ListVscs,传入节点ID,获取VscType为 Primary 的VSC设备ID,并确保其状态为 Normal。
关联VSC设备到文件系统
调用NAS OpenAPI
AttachVscToFilesystems,传入上一步获取的VscId以及CPFS 文件系统的ID。循环调用
DescribeFilesystemsVscAttachInfo,传入VscId和文件系统ID,检查文件系统的Attach状态(Status字段),直至其从 Attaching 变为 Attached。若状态长时间未变更或变为Failed,则视为异常,请调用DetachVscFromFilesystems接口分离后重试。
日常运维
使用Hostpath 方式挂载后,集群的扩缩容和节点维修需要进行相应的手动操作。
卸载文件系统
文件系统卸载是灵骏节点级别的操作,具体步骤如下:
确保文件系统不被节点上的业务访问,避免造成数据损坏或者丢失。
登录需要卸载文件系统的灵骏节点或使用云助手umount 文件系统:
umount /your/fs/mount/dir,确保umount成功,若无法umount,可尝试增加强制umount参数-lf,强制 umount 会导致已有挂载失效,会影响正在访问 CPFS 的业务。调用灵骏 OpenAPI 查询Vsc列表,传入灵骏节点 ID,获取VscType为
Primary的VSC设备ID,并确保该设备的状态Status为Normal。调用 NAS OpenAPI取消VSC设备关联到文件系统,传入上一步获取的 VscId 以及智算 CPFS 文件系统的id。
集群扩容:新扩容的节点需要完整执行本方式下的步骤1和步骤2,才能挂载并访问文件系统。
集群缩容:在每个待缩容的节点上执行上述文件系统卸载操作后,再发起节点缩容任务,确保节点正常下线。
节点维修:灵骏节点下线维修不需要执行DetachVscFromFilesystems操作,正常维修完成后上线的节点不需要重新执行挂载步骤即可继续使用之前Attach 的智算 CPFS 文件系统
常见问题
VSC设备状态长时间处于非Normal状态怎么办?
如果VSC设备创建后超过10分钟状态仍未变为Normal,请调用DeleteVsc接口删除该设备后重试创建。如果问题持续存在,请联系灵骏技术支持。
文件系统Attach状态长时间处于Attaching怎么办?
如果文件系统Attach状态超过10分钟仍为Attaching或变为Failed,请调用DetachVscFromFilesystems接口分离文件系统后重试Attach操作。如果问题持续存在,请联系CPFS 技术支持。