Skip to content

AICoder 存储空间

AICoder 为您提供了灵活且持久化的存储环境。为了方便您管理代码和数据,AICoder 的存储空间主要分为两类:系统盘扩充存储

当您登录 AICoder Shell 时,欢迎语(Banner)会列出当前实例挂载的主要存储:

language-text
欢迎使用 AICoder Shell!
═══════════════════════════════════
PATH                类型    
/                   系统盘(上限10G)
/mnt/public         共享高性能存储
═══════════════════════════════════

系统盘:工作主目录

AICoder 的系统盘指的是容器的根目录 /

数据持久化

在 AICoder 中,根目录 / 采用了 OverlayFS 技术。这意味着,根目录下的所有子目录和文件默认都属于系统盘,且具备持久化能力。无论您是重启 AICoder 实例,还是关闭后重新连接,保存在系统盘中的数据(代码、配置、安装的软件库)都会被保留,不会丢失。

推荐存放路径

如果您使用 WinSCP、FileZilla 或 scp 命令上传文件至 AICoder 系统盘,建议将文件保存在以下目录:

  • /root:这是默认用户(root)的主目录(Home)。这是最推荐的存放位置。
  • /home:如果您习惯使用 /home 目录,这里也是安全的。
  • 自定义目录:您可以在根目录下创建任意文件夹(如 mkdir /my-project),它们同样会被持久化保存。

注意

系统盘通常有容量上限(例如 10GB)。它非常适合存放代码项目、配置文件和小型数据集,但不建议用于存放超大的预训练模型或海量数据集。

扩充存储:存放共享数据

扩充存储即租户购买的共享高性能存储,通常用于存放系统盘无法存放的大模型文件、Checkpoint 或大型数据集。一个共享高性能存储卷可被多处挂载,用于数据共享,AICoder 可挂载多个共享高性能存储卷。

挂载路径

扩充存储通常挂载在特定的目录下。在上面的示例中,一个共享高性能存储卷被挂载在 /mnt/public。这个挂载路径由租户在启动 AICoder 时指定。

开始下载或上传大文件前,先确认该路径确实属于共享存储:

language-shell
findmnt -T /mnt/public
df -h /mnt/public
test -w /mnt/public && echo shared-storage-ready

只有显示 shared-storage-ready,并且 findmnt 显示共享存储文件系统而不是 / 或 OverlayFS 时,才能继续写入。不要通过 mkdir -p /mnt/public 创建挂载点;这只会在系统盘中创建同名目录。df 在部分可用区不能反映存储卷配额,因此还需在控制台确认剩余配额。

您可以直接上传文件至 AICoder 挂载的共享高性能存储,这也是 AICoder 主要的功能场景之一。少量小文件可使用网页文件传输、WinSCP、FileZilla、scpsftp;大文件、大量文件或需要断点续传时,优先使用 rsync。相比使用开发机传输数据,AICoder 不会占用 GPU 资源。

注意

  • 只要文件存放在该挂载点对应的目录下,数据就会存储在扩充存储中,不占用系统盘空间。
  • 仅支持挂载 AICoder 当前可用区的共享高性能存储。不支持跨可用区挂载存储卷。需要把数据迁移到另一个可用区时,请在两个可用区分别挂载存储卷,并按照跨可用区传输共享高性能存储数据操作。

常见问题

开发机关机时,我可以通过 AICoder 访问开发机的文件吗,可以上传文件至开发机吗?

不能。AICoder 无法直接访问开发机的文件系统

AICoder 和开发机是两个独立的容器实例,彼此的文件系统相互隔离。无论开发机处于开机还是关机状态,AICoder 都无法直接访问开发机系统盘(如 /root 目录)中的文件。

如果您的开发机已挂载共享高性能存储卷,可以通过以下方式实现数据共享:

  1. 同一可用区启动 AICoder。
  2. 将开发机已挂载的那个共享高性能存储卷同样挂载到 AICoder
  3. 通过该共享存储卷读写文件,即可在两个实例间共享数据。

这样,即使开发机关机,您仍可通过 AICoder 上传文件到共享存储卷。开发机开机后,即可在挂载目录下直接使用这些文件。