基于惰性水合的快速快照至液滴 | AI生成和翻译

Home 2026.06

问题: 为什么从一个130GB的GPU快照创建droplet如此之快,即使创建快照本身需要20多分钟?

答案:

为什么快照创建很慢

当你创建一个快照时,DigitalOcean需要:

  1. 静止/冻结磁盘状态
  2. 读取你droplet磁盘上的每一个已用块(130GB的实际数据)
  3. 压缩并去重
  4. 传输并存储到他们的对象存储(类似S3)

这是一个完整的磁盘读取+网络传输+压缩流程。130GB需要20多分钟是合理的。

为什么从快照创建droplet很快

这是关键——DigitalOcean使用写时复制(CoW)懒加载,而不是完全恢复:

快照(存储在对象存储中)
         │
         ▼
新Droplet启动 ──► 仅立即复制元数据+启动块
                     其余块按需获取(在访问时)

Droplet立即启动,作为一个薄克隆。块会按需从快照存储中懒加载,当你的工作负载访问它们时。这与以下技术相同:

这对你的实际意义

t=0s    Droplet创建,获得IP,SSH可访问  ← 即时
t=30s   你SSH登录,运行nvidia-smi / rocm-smi     ← 工作
t=60s   你开始加载一个70B模型             ← 首次访问,块被获取
t=??    块在后台完全加载       ← 对你透明

当你第一次访问尚未加载的数据时(加载大模型、读取数据集),你可能会注意到磁盘读取稍慢——这就是懒加载发生的过程。之后,它会被缓存在droplet的本地SSD上。

类比

可以这样理解:

对你工作流程的实际影响

既然你正在使用MI300X并可能加载大模型:

# 创建droplet后,你可以选择预热磁盘
# 以避免实际工作中的懒加载延迟
dd if=/dev/vda of=/dev/null bs=4M status=progress

或者让它自然加载——DigitalOcean无论如何都会在后台进行。当你执行apt update、设置tmux并准备好环境时,大多数关键块已经是本地状态了。

这就是为什么快照→droplet是你每小时约2美元的GPU会话的正确工作流程:用完后销毁,几秒内恢复,仅按活跃计算付费。


Back Donate