RunPod存储怎么选:大模型下载与加载配置指南

说明如何按停止与删除边界区分 RunPod 的 container disk、volume disk 和 network volume,并为模型缓存、权重与备份配置目录,再验证 vLLM 服务入口。

做“大模型部署”时,RunPod 的存储类型说明 给出的边界很明确:container disk 随 Pod 启动创建、停止时清除;volume disk 的 /workspace 可跨停止和重启,但 Pod 终止时删除;network volume 独立于 Pod,删除 Pod 后仍保留数据;只有 volume disk 可加密,RunPod 也建议把关键数据备份到外部存储,因为它并非为长期云存储设计。临时缓存选 container disk,需跨停止保留选 volume disk,需脱离 Pod 生命周期保存模型文件选 network volume。

RunPod存储怎么选:创建前先看删除行为

以下操作边界见 RunPod 的 network volume 文档:

  • 创建:在控制台选择数据中心,填写名称,并以 GB 指定容量。
  • 挂载:Pod 只能在 Secure Cloud 使用 network volume;必须在创建 Pod 时挂载,之后不能分离。挂载后,它会替换 /workspace 中原有的 volume disk。
  • 路径与容量:Pod 从 /workspace 访问,Serverless worker 则从 /runpod-volume 访问。network volume 容量可以增加但不能缩小;超过 4 TB 需要联系支持。

还要注意,network volume 的保留与计费说明 明确提示:Pod 停止后存储费用仍会继续产生;如果账户余额无法覆盖这些费用,network volume 最终可能被终止,数据也无法恢复。因此,独立于 Pod 不等于无需备份。

把费用与备份纳入选择

部署当天应打开 RunPod Pods 计费说明,分别记录 GPU 计算、container disk、volume disk 和 network volume 的实际费用。官方说明中,Pod 计算和这两类实例磁盘按秒计费,network volume 按小时计费,数据流入和流出不收费;部署按需 Pod 前,账户余额还必须能够覆盖所选配置至少一小时的费用。

从自己的报价或账单填入实际项目,不使用的项目留空:

YOUR_DEPLOY_TOTAL = YOUR_COMPUTE_FEE + YOUR_CONTAINER_DISK_FEE + YOUR_VOLUME_DISK_FEE + YOUR_NETWORK_VOLUME_FEE

YOUR_NETWORK_STORAGE_FEE = YOUR_BILLED_NETWORK_VOLUME_HOURS × YOUR_NETWORK_VOLUME_HOURLY_RATE

停止 Pod 不代表停止存储计费,计算时应把仍保留 network volume 的时间计入。模型权重、检查点等关键内容还应同步到本地或专用云存储。

模型下载与加载:大模型部署的目录和启动顺序

先固定模型文件与缓存路径

RunPod 的 S3-compatible API 文档 说明,可以在不启动 Pod 的情况下管理 network volume 文件,但需要单独创建 S3 API key,不能使用普通 Runpod API key。--region 要填写数据中心 ID,--endpoint-url 要填写对应的数据中心入口;把占位值替换后,可以先用以下命令核对对象路径:

aws s3 ls \
  --region YOUR_DATACENTER \
  --endpoint-url https://s3api-YOUR_DATACENTER.runpod.io/ \
  s3://YOUR_NETWORK_VOLUME_ID/YOUR_REMOTE_DIR

同一文件在 Pod 中位于 /workspace/...,在 Serverless worker 中位于 /runpod-volume/...,通过 S3 API 则使用 s3://NETWORK_VOLUME_ID/...。不要混用这三个入口。

如果需要预先放入权重,再让 vLLM 加载本地目录,具体缓存目录键和本地模型路径参数应查所选模型下载器与当前 vLLM 文档,不要自行追加未经确认的 --download-dir。需要跨 Pod 停止保留的缓存应使用其文档支持的目录配置,并放在 /workspace 下;需要跨 Pod 删除保留的模型文件则放在 network volume。

安装、加载并在本机确认

vLLM Quickstart 列出的环境为 Linux、Python 3.10 到 3.13。其 uv 安装流程会创建 Python 3.12 虚拟环境,--torch-backend=auto 会根据已安装的 CUDA driver 选择 PyTorch index:

uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto

服务器默认监听 http://localhost:8000,可用 --host 和 --port 修改地址;一个 server process 同一时间承载一个模型。由于 RunPod 的端口暴露说明 要求服务绑定 0.0.0.0,不能只绑定 localhost,因此启动命令采用:

vllm serve Qwen/Qwen2.5-1.5B-Instruct --host 0.0.0.0 --port 8000

把模型名替换为你实际选用的模型。启动后,可在 Pod 内通过官方模型列表端点检查:

curl http://localhost:8000/v1/models

验证代理入口并识别连接问题

按照 RunPod 的 Expose ports 文档,在 Expose HTTP Ports (Max 10) 中加入 8000,HTTP 服务会通过以下代理地址访问:

https://[POD_ID]-[INTERNAL_PORT].proxy.runpod.net

代理后的服务是公开可访问的,应用必须自行实现身份认证。该代理经过 Cloudflare,单次连接超过 100 秒会被关闭并返回 524。如果入口无法连接,先检查服务是否监听 0.0.0.0、端口是否填写;如果出现 524,则检查应用能否在代理超时前返回响应。

这些步骤仅按正文链接的官方文档整理,未运行或测量;使用前请按当前版本复核。

资料来源