云服务器快照备份怎么用?从创建到回滚的完整操作
云服务器快照是云盘在某个时间点的完整数据副本,备份对象是整块系统盘或数据盘,不是单个文件或数据库。
它适合系统升级前留退路、误删整盘数据后恢复、批量部署相同环境。
如果你的需求只是找回某个被误删的文件,快照反而不如对象存储或文件备份灵活。
先分清快照和普通备份的边界
快照按云盘创建,恢复时只能整盘回滚或把快照做成一块新云盘。
它不负责文件级检索,也不等于数据库逻辑备份。
数据库场景建议同时保留 mysqldump 或数据库自带的逻辑备份,因为快照回滚会把整盘数据退回到创建时刻,可能连带丢掉之后写入的其他业务数据。
创建快照前要确认三件事:云盘挂载在哪台实例上、快照容量是否足够、业务能否接受创建期间的一定额外 I/O 开销。
多数云厂商的快照是增量存储,第一次全量、后续只记录变化块,但具体计费方式以控制台说明为准。
在控制台创建快照的步骤
不同云厂商的菜单名称略有差异,通用路径是进入云服务器控制台,找到实例对应的云盘或存储页,选择目标云盘后点击创建快照。
以常见流程为例:
- 登录云控制台,进入云服务器实例列表,找到目标实例。
- 进入实例详情中的云盘或存储标签,确认系统盘和数据盘的盘符与挂载点。
- 选中要备份的云盘,点击创建快照,填写快照名称,名称建议带日期和用途,例如
web-sys-20250601。 - 提交后等待快照状态从创建中变为可用。快照完成前不要对同一云盘做回滚操作。
如果控制台支持一致性快照组,多块云盘有业务关联时可以一起创建,减少盘间时间差。
单盘业务按普通快照处理即可。
用快照恢复数据的两种方式
快照做好后,恢复方式取决于你要覆盖现有云盘还是先验证内容。
方式一:回滚云盘。 在快照列表选择目标快照,点击回滚。
回滚前建议先给当前云盘再打一个快照,防止回滚后发现选错时间点无法撤回。
回滚通常要求实例停机或云盘卸载,具体以控制台提示为准。
回滚完成后重新挂载并启动实例。
方式二:用快照创建新云盘。 在快照页面选择创建云盘,生成一块新盘后挂载到实例上,挂载点例如 /mnt/restore,再检查文件是否完整。
这种方式不影响原盘,适合先验证快照内容再决定是否替换。
Linux 下挂载后可用 lsblk 和 df -h 确认新盘是否识别。
验证快照是否真正可用
快照状态显示可用不代表数据一定符合预期。
恢复后至少检查三项:系统盘能否正常启动、关键服务进程是否运行、业务数据目录的文件数量和修改时间是否合理。
数据盘可以用 mount 挂载后抽查目录,确认没有出现空目录或文件截断。
如果回滚系统盘后服务启动失败,先看实例控制台输出和系统日志,常见原因是回滚点早于某些配置变更,或数据盘未按原挂载点挂载。
此时不要反复回滚,先保留现场再排查。
容易踩坑的几个地方
快照创建不是实时的,创建期间的新写入可能不在该快照内,重要变更前应提前创建。
删除云盘前先确认快照是否保留,部分厂商删除实例时快照策略需要单独设置。
快照本身也占用存储费用,长期保留大量历史快照会增加成本,建议按日、周、月保留有限份数并定期清理。
另外,快照不能替代异地备份。
如果云盘所在区域整体故障,同区域快照可能同样不可用。
对恢复时间要求高的业务,应把关键数据定期复制到对象存储或其他区域。
常见疑问
快照创建后能马上回滚吗?
不能,要等快照状态变为可用,创建中的快照不完整。
回滚会丢失数据吗?
会,回滚会把云盘恢复到快照时刻,之后写入的数据不在该快照内,所以回滚前先给当前状态再打一个快照。
快照能只恢复一个文件吗?
多数控制台不提供文件级挂载,需要先用快照创建新云盘,挂载后手动复制文件。
系统盘和数据盘要分别创建快照吗?
是,快照按云盘创建,有业务关联的多块盘建议使用一致性快照组或尽量同时创建。