跳转到主要内容
人工智能平台上的开发环境、训练任务和服务都会以 Pod 形式运行。本文介绍如何查看、告警、清理和迁移 Pod 临时存储数据,避免写满后导致负载被驱逐。
如果临时存储写满,Pod 可能被系统驱逐,导致训练失败、开发环境中断或服务实例异常。需要保留、复用或持续增长的数据,应写入已挂载的 Volume。

什么是临时存储

在 Kubernetes 中,Pod 临时存储是存储在节点上的运行时空间,用于临时保存 Pod 运行过程中产生的数据,例如 /tmp、/root、/usr 等目录下的文件。临时存储的生命周期与 Pod 保持一致:Pod 被删除、重建、迁移或驱逐时,与其关联的临时存储也会被释放。 因此,写入临时存储的数据不具备持久性。需要在任务结束后继续使用的数据,例如数据集、实验结果、Checkpoint、模型文件、业务日志和长期缓存,不应只保存在容器本地路径中。 使用临时存储的常见场景包括: 不同集群、实例规格和负载形态的临时存储额度可能不同。判断当前负载可用额度时,请以控制台详情页展示的用量、配额、使用率和状态为准。

查看当前用量

开发环境、训练任务、大模型推理服务和通用服务均支持在详情页查看 Pod 临时存储。进入对应对象详情页后,打开 存储 页签,重点关注已用量、配额、使用率和状态。 以下以训练任务为例: 训练任务存储页签 如果临时存储用量持续升高,先确认程序是否把日志、缓存、Checkpoint、中间文件或输出结果写入了容器本地路径。

配置磁盘告警

对于长时间运行的训练任务、开发环境或服务,建议配置磁盘告警,在临时存储或节点磁盘水位升高时及时收到通知。
  1. 在 告警 > 通知管理 中准备可用的通知目标或联系人组,并确认通知对象处于启用状态。详情请参见 管理告警通知目标。 没有启用的通知对象时,即使告警触发,平台也无法把告警发送给接收人。
  2. 在 告警 > 告警订阅 中创建告警订阅。详情请参见 创建告警订阅。 创建时展开 存储 分类。若要同时接收 Pod 临时存储和节点磁盘水位的严重、警告告警,请勾选以下告警项:
    • pod_disk_watermark-critical
    • pod_disk_watermark-warning
    • node_disk_watermark-critical
    • node_disk_watermark-warning
    告警订阅创建后,可在告警总览中查看告警记录和投递结果;通知消息中通常会包含对应负载的直达链接,便于快速进入详情页排查。

清理高占用路径

当控制台显示临时存储占用过高时,应先停止继续向本地路径写入数据,再判断哪些数据需要保留。需要保留的数据应迁移到已挂载的 Volume;确认可丢弃的数据再执行清理。 常见可检查路径如下: 如果 Pod 已经被驱逐,临时存储中的数据可能无法恢复。后续重新运行前,应先调整写入路径,避免同样的问题再次发生。

将缓存和输出写入 Volume

从源头避免临时存储写满,关键是把会持续增长、需要保留或需要复用的数据写入已挂载的 Volume,而不是容器本地目录。常见数据包括依赖缓存、模型缓存、训练 Checkpoint、任务输出、业务日志和大文件下载结果。 挂载路径通常形如 /volume/<resource-pool>。可以在启动命令、任务脚本或 ~/.bashrc 中显式配置常用工具的缓存目录: 示例:
各类工具都可以按类似思路处理。如果某个开发工具或智能体工具默认把配置和缓存写入 $HOME,应优先查看该工具是否支持通过环境变量改写目录。 以 Claude Code 为例,默认配置和缓存通常写入 $HOME。如需将后续写入的数据放到已挂载的 Volume,可通过 CLAUDE_CONFIG_DIR 指定配置目录:
配置这类路径时,建议注意以下事项:
  1. 使用绝对路径,不要使用相对路径。
  2. 在工具启动前设置环境变量,例如写入 ~/.bashrc 或启动命令;仅在工具配置文件中填写路径通常不会生效。
  3. 修改后重启对应工具或进程,使新路径生效。
  4. Claude Code 不支持通过 --config-dir 修改配置目录,应使用 CLAUDE_CONFIG_DIR。
  5. 环境变量通常只影响后续新写入的数据,不会自动迁移旧目录中的文件,也不会迁移程序本体、项目文件或其他工具的缓存。

判断是否因临时存储写满被驱逐

如果训练任务失败、开发环境中断或服务实例异常,可进入对应对象详情页查看 事件。如果事件中出现与驱逐、磁盘压力、临时存储不足相关的信息,通常说明负载可能受到临时存储或节点磁盘水位影响。 排查时建议同时查看: 确认问题与临时存储相关后,应先调整写入路径或清理可丢弃数据,再重新启动开发环境、重提训练任务或重新发布服务。

常见问题

在容器内执行 df -h / 时,看到的通常是所在节点或容器视角下的磁盘空间,不等同于当前 Pod 的临时存储配额。判断 Pod 临时存储是否接近上限时,应以控制台 存储 页签中,Pod 临时存储 的用量、配额和状态为准。
可以结合文件路径、文件修改时间和控制台用量变化判断。容器启动后新写入 /tmp、/root、/usr、$HOME 等本地路径的文件,更可能持续增加临时存储用量;镜像中自带的文件通常不需要作为清理重点。清理前请先确认文件是否仍被进程使用,是否需要迁移到 Volume。
不一定。Pod 被驱逐、重建或迁移后,临时存储中的数据可能已经被释放。需要保留、复用或持续增长的数据,例如代码、数据集、Checkpoint、模型文件、实验结果、缓存和长期日志,应在运行过程中写入 Volume,不要等到 Pod 异常后再尝试恢复。