存储概述
本文概述了 AIStudio 的存储服务能力。
本地存储
AIStudio 的开发机、任务、推理服务均提供本地存储。
服务 | 容量 | 持久化 | 说明 |
---|---|---|---|
开发机 | 50 GiB | 是 | root 文件系统(/tmp 路径例外,关机时清除) |
任务 | 50 GiB | 否 | 任务 Worker 的 root 文件系统 |
推理 | 50 GiB | 否 | 推理服务实例的 root 文件系统 |
您可以使用 df -h /
命令查看 rootfs 的用量信息。
共享高性能存储
共享高性能存储为持久化存储,可让您轻松地与租户下所有成员共享文件,在开发机、推理和任务等服务中均可挂载使用,便于在大数据量情况下高效地协作和复用数据。
- 高性能:文件存储性能可达每单位 30k IOPS,上限 1 亿文件(以 10TB 为单位)。
- 易于使用:在开发机、推理和任务中均可使用,提供默认挂载点。
- 随时访问:通过免费的 AICoder 即可读写共享存储,无需占用显卡资源
- 安全可靠:共享高性能存储采用多副本机制,确保数据安全可靠。
NOTE
共享高性能存储为收费产品。如已购买,将自动挂载到容器中的 /mnt/public
下。如需购买,请联系无问芯穹商务,或移步购买存储资源。
云盘
云盘是基于分布式块存储的持久化存储,暂支持按量付费型开发机。
- 免费容量:使用弹性资源创建的开发机均可享用 20GiB 免费云盘存储空间(暂仅支持 A100 机型)。
- 易于扩容:创建开发机时在线购买扩容容量,最高可购买 1TB。
- 价格更优:扩容容量低至 0.007 元/GiB/日。
- 安全可靠:基于分布式块存储技术,高可靠、高可用、高性能
NOTE
云盘为非共享存储,仅限单台开发机挂载使用,仅可在开发机运行时访问该机云盘。云盘暂仅支持使用弹性资源创建的 A100 机型开发机。
共享内存
AIStudio 的开发机、任务(Worker)均挂载了基于 Linux 虚拟内存的 /dev/shm
,用于存放多次读写的临时数据,这些数据需要快速访问且在系统重启后不需要保留。在创建开发机或任务时,可以看到**共享内存(shm)**配置项。默认为资源规格内存容量的一半,暂不支持修改。
一般情况下,建议避免手动写入数据到 /dev/shm
。推荐由专门的库、框架或应用程序自行管理,例如 Pytorch 的 Dataloader 在多进程加载数据时会使用 /dev/shm
。
Filesystem Size Used Avail Use% Mounted on
overlay 50G 36M 50G 1% /
tmpfs 64M 0 64M 0% /dev
gpfs 60T 53T 7.5T 88% /mnt/public
tmpfs 56G 0 56G 0% /dev/shm
...
TIP
如果使用开发机的 Docker 功能,开发机内启动的 Docker 容器也挂载了 /dev/shm
,但默认大小为 64MB
,支持通过 --shm-size
选项调整。详见 Docker 功能。
常见问题
存储服务的文件数量有限制吗?
文件数量对应文件系统的 inode 数量,每个文件或目录都会占用一个 inode。软链接同样会占用一个 inode。
- 对于 AIStudio 的开发机、任务、推理服务的本地存储,建议使用
df -i /
监控 inode 使用情况。 - 对于云盘,建议使用
df -i /datadisk
监控 inode 使用情况。 - 对于共享高性能存储,暂无法直接获取 inode 使用情况。参考限制为每 10TB 存储空间上限 1 亿个文件。如遇到疑似 inode 耗尽问题,请联系无问芯穹。
WARNING
如果您的使用场景对 inode 数量有较高要求,建议提前咨询无问芯穹技术支持。
共享高性能存储可以在所有服务中使用吗?
是的,可以在开发机、推理服务、任务、AICoder 中使用,默认挂载在 /mnt/public
目录下。
其中 AICoder 为免费提供的 CPU 实例,使用 AICoder 读写共享文件存储数据,可避免占用 GPU 资源。
任务 Worker 和推理服务实例的系统盘数据会保存吗?
不会,任务和推理服务的 50 GiB 本地存储不支持持久化,重启后数据会丢失。
开发机的本地存储支持扩容吗?
开发机的 rootfs 文件系统容量固定为 50 GiB,不支持扩容。
云盘支持所有开发机类型吗?
目前仅支持使用弹性资源创建的 A100 机型开发机。
云盘可以在多个开发机间共享吗?
不可以,云盘为非共享存储,仅限单台开发机挂载使用。
/dev/shm 大小可以调整吗?
开发机、任务 Worker、推理实例的 /dev/shm
默认为当前使用的算力规格内存的一半,暂不支持修改。
开发机启用 Docker 容器功能后,在开发机内启动的容器默认仅有 64M 大小的 /dev/shm
,可在 docker run
命令中添加 --shm-size
调整共享内存大小。该修改仅适用于开发机内部启动的容器。
/dev/shm 的数据会保存吗?
不会,/dev/shm 是基于内存的临时文件系统,系统重启后数据会丢失。
哪种存储适合存放团队共享的数据?
目前共享高性能存储支持服务共享访问,且提供高性能访问(30k IOPS)。
如何在不同服务间共享数据?
可以使用共享高性能存储(/mnt/public
),它支持在开发机、任务和推理服务间共享数据。