在训练任务中使用云存储
更新时间:2026-04-30
在百舸异构计算平台提交分布式训练任务时,您可以通过存储挂载的方式将云存储(BOS、CFS、PFS、RapidFS)挂载到训练容器中,从而方便地在训练过程中直接读写存储中的数据。本文为您介绍如何在百舸训练任务中进行 BOS、CFS 、 PFS 、Rapidfs的存储配置与挂载使用。
前置条件
- 登录百舸异构计算平台 AIHC 控制台。
- 已创建资源池和队列。
-
已准备对应的云存储实例:
- PFS:已创建 PFS 实例和挂载服务,并将挂载服务绑定到资源池。请参考创建 PFS和创建挂载服务。
- CFS:已创建 CFS 文件系统,并已获取 CFS 挂载地址。请参考创建文件系统。
- BOS:已创建 BOS 存储桶。请参考创建存储桶。
- Rapidfs:已创建 Rapidfs 实例 & 数据源,详见:创建 Rapidfs 实例
使用 PFS 存储
并行文件存储 PFS 是百舸平台训练任务的推荐存储方案,提供最高性能的文件访问能力。
步骤一:确保 PFS 实例已关联资源池
- 登录百舸异构计算平台 AIHC 控制台。
- 在左侧导航栏单击资源池,进入资源池列表页面。
- 点击目标资源池名称,进入资源池详情页。
- 在存储挂载区域,确认已关联目标 PFS 实例的挂载服务。若未关联,请参考创建挂载服务完成绑定。
步骤二:在训练任务中挂载 PFS
- 进入分布式训练页面,点击创建任务,进入任务创建页面。
- 完成基础信息和环境信息配置后,在资源配置区域找到存储挂载配置项。
- 点击添加存储挂载,配置 PFS 存储挂载:
| 参数名称 | 说明 |
|---|---|
| 存储类型 | 选择 PFS。 |
| PFS 实例 | 从下拉框中选择已被集群绑定的 PFS 实例。 |
| 源路径 | PFS 中的源目录路径。需要确保填写的源路径在 PFS 中存在,不建议以根目录 / 挂载。 |
| 目标路径(容器内挂载路径) | 训练容器内的挂载路径,执行命令中的数据路径需与此路径对应。推荐配置在 /mnt/pfs/ 目录下。 |
| 读写权限 | 选择读写或只读。若勾选"只读",将无法在挂载路径下创建和修改文件。 |
PFS 挂载配置示例:
| 参数 | 示例值 |
|---|---|
| 存储类型 | PFS |
| PFS 实例 | pfs-aihc-training |
| 源路径 | /training_data |
| 目标路径 | /mnt/pfs |
| 读写权限 | 读写 |
使用 BOS 存储
对象存储 BOS 适合海量数据的长期存储和分发,在百舸训练任务中支持通过挂载方式访问 BOS 数据。BOS 存储的挂载,基于bosfs2.0
在训练任务中挂载 BOS
- 进入分布式训练页面,点击创建任务,进入任务创建页面。
- 完成基础信息和环境信息配置后,在资源配置区域找到存储挂载配置项。
- 点击添加存储挂载,配置 BOS 存储挂载:
| 参数名称 | 说明 |
|---|---|
| 存储类型 | 选择 BOS。 |
| BOS 存储桶 | 选择需要挂载的 BOS 存储桶。 |
| 源路径 | BOS 存储桶中的源路径,即需要挂载的对象前缀。 |
| 目标路径(容器内挂载路径) | 训练容器内的挂载路径,推荐配置在 /mnt/bos/ 目录下。 |
| 读写权限 | 选择读写或只读。公共数据集建议设置为只读。 |
BOS 挂载使用限制
- 文件读取限制:新写入的文件必须在文件关闭后才会完全上传到BOS。如果是读取一个正在顺序写入、尚未关闭的文件,可能导致报错。(支持随机写的小文件不受限制)
- 重命名目录相关请求不保证原子性,再正在mv的目录下创建文件,可能导致文件还在原始目录下
- 多个客户端访问同一个或多个挂载点时, 数据一致性由使用侧维护, 可能出现多端数据不一致情况。
详见:bosfs2.0
使用 CFS 存储
文件存储 CFS 提供 POSIX 兼容的文件访问接口,支持多读多写,适合需要文件共享但性能要求不如 PFS 的场景。
| 参数名称 | 说明 |
|---|---|
| 存储类型 | 选择 CFS。 |
| CFS 挂载点 | 选择已创建的 CFS 文件系统的挂载点地址(CFS Server)。 |
| 源路径 | CFS 文件系统中的源目录路径。 |
| 目标路径(容器内挂载路径) | 训练容器内的挂载路径,推荐配置在 /mnt/cfs/ 目录下。 |
| 读写权限 | 选择读写或只读。 |
使用 Rapidfs 存储
| 参数名称 | 说明 |
|---|---|
| 存储类型 | 选择 Rapidfs。 |
| Rapidfs 实例 | 选择需要挂载的 Rapidfs 实例。 |
| 数据源 | 选择 Rapidfs 实例的数据源。 |
| 目标路径(容器内挂载路径) | 训练容器内的挂载路径,推荐配置在 /mnt/bos/ 目录下。 |
使用限制:
- 通过 Rapidfs读写文件时,避免对单个文件的边读边写操作,性能影响比较大
- 通过 Rapidfs 写入的文件,只能在文件flush后才能被读取
- 多个客户端写入同一个文件时,只会有一个成功,其他会失败
评价此篇文章
