TUNEPLANE_STORAGE_ROOT 提供默认布局,各用途可通过绝对路径覆盖到不同磁盘或挂载点。
API、worker 和 Node 必须使用一致配置。修改需要重启,不会自动移动已有文件。
配置独立目录
留空使用默认值。显式配置的目录必须预先存在且可访问,启动时不会创建缺失的覆盖目录。
还应配置宿主机服务的挂载依赖:空挂载点存在不代表外部文件系统已经挂载。
不同用途目录重叠或通过符号链接指向同一目录时会被拒绝。
运行目录保持以下结构:
checkpoints 的磁盘可承载 TUNEPLANE_RUNS_ROOT,但 checkpoint 仍属于完整运行目录。
目前没有仅移动 checkpoint 的独立配置,以保持恢复、配额统计和整次运行清理的一致性。
框架缓存
训练绑定使用容器私有的HF_HOME=/tmp/tuneplane-hf,同时将 HF_HUB_CACHE、
HF_DATASETS_CACHE 和 MODELSCOPE_CACHE 指向解析后的持久目录。
HF 令牌不能保存在共享缓存目录。HF Hub 缓存同时包含模型和原始数据集,不是模型注册表。
平台自己的 ModelScope 预取使用 TUNEPLANE_HUB_CACHE,与原生 SDK 独立。
框架显式指定的 cache_dir 和输出参数仍需正确配置。
共享缓存用于相互信任的任务。分离令牌并不会自动隔离已缓存的私有模型文件。
需要项目权限隔离的资料应使用受治理的只读输入。
Torch/Triton 编译缓存和 Ray 临时文件应由训练镜像或 recipe 分配到节点本地目录,
此次目录配置不会自动设置它们。
挂载关系
Docker Local 执行时,所有宿主机目录在 API 和 worker 容器中必须保持相同绝对路径。 Docker daemon 从宿主机解析 bind 源路径,不从 API 容器解析。 训练容器只获得获准的运行子目录、框架缓存和输入,不会获得整棵平台状态或作业包目录。 参见 Compose 安装。 Kubernetes 的默认根目录仍由TUNEPLANE_K8S_STORAGE_PVC 承载。
使用独立 PVC 时,设置目录,并将对应配置名映射到 PVC:
name、existingClaim 和 mountPath 的 storageLocations。
训练 Pod 继续使用按授权划分的 subPath 挂载。多节点共享写入要求 RWX。
Kubernetes 或 Slurm 改变默认根目录前缀时,根目录之外的覆盖路径保持原绝对路径。
受治理与外部存储
TUNEPLANE_VOLUME_ROOT 必须与 Storage Root 及所有覆盖目录分离。
已有模型、数据集和共享资料通过 Storage Connection 与
External Volume 注册。
任务仅在 $VOLUMES_DIR 获得授权的只读子目录;磁盘名为 shared 不代表自动授权。
PostgreSQL、节点凭据和遥测 spool 不应进入作业挂载。
S3 保存数据集版本、作业包和已发布产物的权威副本,文件系统缓存只是工作副本。
S3 API 存储不等于 POSIX 挂载;持久输出需经过已验证的框架上传或发布流程。
External Volume 的内容仍由外部系统拥有。
空间统计与水位
概览区分两类数字:- 平台统计文件:运行目录、Reflow、缓存、作业包、状态及默认根目录和缓存父目录下其他文件的逻辑字节数, 不等于磁盘分配块数,也不是保证能释放的空间。
- 文件系统容量:已挂载文件系统的已用、可用和总容量。 多个配置目录位于同一文件系统时只计一次,其中包含平台以外的文件。
TUNEPLANE_STORAGE_SCAN_INTERVAL_S 控制。
TUNEPLANE_DISK_WATERMARK_PCT 检查最紧张的文件系统,而不是平均值。
空闲运行盘不能掩盖已满的缓存盘。启用此门禁时,不可用的配置文件系统也会暂停新作业。
设为零关闭门禁。空间配额在两次扫描之间仍为最终一致。