谷歌云磁盘快照恢复:新建磁盘再挂回实例
谷歌云(GCP)的磁盘快照恢复逻辑和 AWS 类似:快照本身不能直接“挂”回实例,必须先由快照新建一块磁盘,再决定是把它当数据盘附加,还是替换成启动盘。GCP 控制台里没有“原地时光倒流”的按钮,恢复一定是一个“新建资源 + 切换引用”的过程。理解这一点,后面每一步都会顺很多。
整体思路:快照 → 新磁盘 → 换启动盘/附加
无论恢复哪种盘,第一步都一样:从快照创建磁盘。区别只在第二步——数据盘走“附加”,启动盘走“替换”。
| 场景 | 第一步 | 第二步 | 是否需停机 |
|---|---|---|---|
| 数据盘恢复 | 快照建新磁盘(同区) | 附加到 VM 后挂载 | 通常不需要 |
| 启动盘恢复 | 快照建新磁盘(同区) | 停 VM,换启动盘,开机 | 需要短暂停机 |
两个关键约束先记住:新磁盘要和目标实例在同一个区域(zone),跨区不能直接附加;快照是增量存储,但恢复出来的磁盘是完整盘,容量按快照创建时的盘大小来。
数据盘:建盘、附加、挂载
数据盘恢复最安全,因为不动系统盘,实例可以一直开着。
- 进入“计算引擎 → 快照”,找到目标快照,点“创建磁盘”。
- 磁盘类型、大小按需选择(大小不能小于快照原始容量),区域选成和实例同一个 zone。
- 创建完成后,进入“计算引擎 → 磁盘”,选中新盘,点“附加到实例”,挂到目标 VM 上。
- SSH 进实例,用
lsblk确认新盘设备名(一般是sdb、nvme1n1这类)。 - 如果盘上已有文件系统,直接挂载即可:
sudo mount /dev/sdb1 /mnt/data。 - 确认数据无误后,再决定是否写入
/etc/fstab做开机自动挂载。
这里有一条铁律:不要对有数据的盘执行格式化。 很多人习惯性 mkfs,一敲下去数据就没了。只有当这块盘确实是全新空盘、你打算从零建文件系统时,才用格式化。
启动盘:停 VM、换盘、开机
启动盘恢复会替换系统盘,所以必须停机。
- 先由快照创建一块新磁盘,同样放在实例所在 zone。
- 停止目标 VM(
gcloud compute instances stop或控制台“停止”)。 - 编辑实例,把“启动磁盘”替换为刚建好的那块盘;原启动盘建议先保留,别急着删。
- 启动实例,观察串口输出(控制台“串口日志”或
gcloud compute instances get-serial-port-output),确认 systemd 正常拉起、没有卡在 fsck 或内核报错。 - 能进系统后,用浏览器 SSH 验证登录是否正常,参考浏览器 SSH。
- 确认业务恢复后,再考虑删除旧启动盘释放配额。
如果开机后 SSH 连不上,先看串口日志而不是反复重启——日志里通常直接写着是磁盘挂载失败还是网络没起来。
恢复之后:把备份策略补上
能恢复不代表不用防。定期快照 + 异地副本才是长久做法,具体节奏和保留策略见备份策略。快照是增量的,但盘大、保留久一样堆钱,过期策略一定要写清楚,否则账单会悄悄涨。
常见问题
谷歌云磁盘快照恢复需要注意什么?
操作前先确认账号属于国际云对应站点,并备份关键数据或记录当前配置。按本文步骤完成后做一次验证。需要账号可申请账号,续费见自助充值。
出错后如何快速回滚或止损?
优先恢复到变更前的快照、镜像或原规则;若涉及计费或销毁类操作,先停止继续变更,再按官方控制台状态与工单路径处理。不确定时不要反复点击高危按钮。
没有对应云账号时怎么开始?
可先通过申请账号开通国际云账号,再用自助充值完成额度准备。新账号建议先完成 MFA、访问密钥收敛与费用告警,再部署业务。