数据持久化存储与快照 | AI生成和翻译

Home 2026.06

问题: 使用附加的块存储卷创建快照,与对根磁盘进行快照相比,是否会更快?

回答:

实际上,这是一个需要权衡的微妙问题。让我详细说明:

块存储卷快照 vs Droplet 快照

  Droplet 快照 卷快照
捕获内容 整个根磁盘 仅该卷
创建速度 慢(全盘) 同样慢(相同机制)
恢复速度 快(CoW 惰性加载) 也快(CoW 惰性加载)
成本 $0.06/GB/月 $0.06/GB/月
重新附加到新 Droplet ❌ 不可以直接 ✅ 可以,分离/重新附加

所以快照创建速度大致相同——两者都经过相同的 CoW 块存储后端。

块存储卷在你工作流中的真正优势

真正的优势在于持久性和可重新附加性

Droplet 快照工作流(当前):
  销毁 droplet → 存储快照 → 创建新 droplet → 惰性加载

块存储卷工作流:
  销毁 droplet → 卷持续存在 → 创建新 droplet → 附加卷 → 完成

使用卷,两次会话之间完全不需要快照

# 会话结束
doctl compute droplet delete amd-gpu --force
# 卷仍然存在,数据完整,无需快照创建时间

# 下次会话
doctl compute droplet create amd-gpu \
  --image <base-image-id> \
  --size gpu-h100x80-1 \
  --region ... \
  --ssh-keys ...
  # 然后附加卷
doctl compute volume-action attach <volume-id> <new-droplet-id>

什么该放哪里

根磁盘(小容量、便宜的 droplet 快照):
  - 操作系统
  - conda/pip 环境
  - dotfiles、SSH 密钥、tmux 配置
  - 你的 CLI 工具(ww、zz、iclaw)

块存储卷(持久化,永不快照):
  - 模型权重(70B 模型、检查点)
  - 数据集
  - 训练输出
  - 包含大型制品文件的 Git 仓库

最优工作流建议

会话开始(总共约 2 分钟):
  1. 从小的根快照创建 droplet(快速,惰性 CoW)
  2. 附加持久卷(即时,仅需挂载)
  3. mount /dev/sda /mnt/data
  4. 所有模型/数据集立即可用

会话结束:
  1. 将新的模型检查点保存到卷
  2. 销毁 droplet(无需快照)
  3. 卷持续存在,按闲置容量计费约 $0.10/GB/月

成本实况

对于卷上 130GB 的模型权重:

130GB × $0.10/GB/月 = $13/月
vs
130GB 快照 × $0.06/GB/月 = $7.80/月

卷略贵一些,但可以省去每次会话 20+ 分钟的快照创建时间,并且对于大重量数据,无需等待加载即可即时附加。

总结

这本质上与 AWS 上云 ML 工作流的模式相同(EBS 卷用于数据集,AMI 快照仅用于基础环境)。


Back Donate