AWS EBS 快照恢复:从快照做新盘挂回 EC2
EBS 快照是 AWS 磁盘的后悔药。它的价值不在于「备份了」,而在于「出事时能拿回来」。但很多人第一次恢复时会踩坑:以为能在原盘上点一下回滚,或者以为快照可以直接挂载。实际上,EBS 快照的恢复姿势是快照 → 新卷 → 挂载/替换根卷,快照本身是只读的镜像,不能直接当磁盘用,也不能在原盘上原地回滚。
理解这条链路之后,恢复就变成了一道有标准答案的流程题。下面按「数据盘」和「根盘」两种情况拆开讲,最后补上跨区、费用和日常策略。
数据盘恢复:快照 → 新卷 → 挂载
数据盘(非根卷)恢复相对安全,因为系统还在跑,你只是把一块新盘接上去。
- 确认快照状态。在 EC2 控制台的「快照」页面找到目标快照,状态必须是
completed。如果还在pending,建卷会失败或拿到不完整数据。 - 在同一可用区(AZ)从快照创建卷。选中快照 → 创建卷,卷类型和容量可以按需调整(容量只能调大,不能小于快照原始大小)。关键点:AZ 必须和实例所在 AZ 一致,否则卷创建出来也挂不上。
- 把新卷挂到实例。在卷上点「附加卷」,选择目标实例,设备名填
/dev/xvdf一类未被占用的名称。注意不同虚拟化类型和操作系统对设备名的映射不同,NVMe 实例上/dev/xvdf可能显示为/dev/nvme1n1。 - 挂载前先
lsblk。这一步是保命操作。用lsblk看清哪块盘是新挂的、有没有文件系统、分区结构是什么。不要对已有数据的盘执行mkfs,格式化错盘是恢复场景里最常见、也最不可逆的事故。 - 挂载并验证。确认设备名后
mount到临时目录,检查文件是否完整,再决定是迁数据还是改fstab长期挂载。改fstab建议用 UUID 而不是设备名,避免重启后设备名漂移导致开不了机。
根盘恢复:系统挂了怎么办
根卷出问题、实例起不来时,恢复思路是「换一块根盘」,而不是修原盘。
- 停机。先停止实例(不是重启),让根卷可以安全卸载。
- 记录原根卷信息。记下原根卷的设备名、大小、AZ,方便对照。
- 卸下旧根卷。在实例的「存储」标签页找到根设备,分离它。建议先给旧根卷打个快照或至少记下卷 ID,别急着删。
- 从快照创建新卷。同样要求 AZ 与实例一致,卷大小不小于原根卷。
- 作为根卷挂上。把新卷附加到实例,设备名填原根卷的设备名(通常是
/dev/xvda或/dev/sda1)。 - 开机验证。启动实例,确认系统能正常引导、数据符合预期。如果引导失败,检查是否挂错了设备名或卷类型不兼容。
整个过程的前提是:快照必须是成功完成状态,且你清楚它对应的是哪块盘、哪个时间点。做之前确认这两点,比事后排查省事得多。
跨区与费用:两个容易忽略的点
快照在别的 Region? 跨区不能直接挂载。正确做法是先 Copy snapshot 把快照复制到目标 Region,再在目标 Region 从副本创建卷。复制是异步的,等状态变成 completed 再建模。
费用怎么算? 快照按占用的变更数据计费,不是「有快照就不花钱」。第一次全量、之后增量,但增量数据会一直累积,删除旧快照才能真正释放。无用快照会悄悄堆账单,建议定期清理过期快照。
日常策略仍按 3-2-1 备份原则 执行:至少 3 份数据、2 种介质、1 份异地。账号级备份再叠加 AMI,AMI 能连系统配置一起保住,恢复整机比单卷更快。
常见问题
AWS EBS 快照恢复需要注意什么?
操作前先确认账号属于AWS对应站点,并备份关键数据或记录当前配置。按本文步骤完成后做一次验证。需要账号可申请账号,续费见自助充值。
出错后如何快速回滚或止损?
优先恢复到变更前的快照、镜像或原规则;若涉及计费或销毁类操作,先停止继续变更,再按官方控制台状态与工单路径处理。不确定时不要反复点击高危按钮。
没有对应云账号时怎么开始?
可先通过申请账号开通国际云账号,再用自助充值完成额度准备。新账号建议先完成 MFA、访问密钥收敛与费用告警,再部署业务。