快照是什么
快照是云盘在某一时刻的块级数据副本:第一份是全量,之后按变化块做增量,恢复时按链条合并。它主要用于误删误改后的数据回滚、创建新盘以及作为自定义镜像的来源,是云上数据安全最基础的一层防线。
基本信息
| 定义 | 云盘某时刻的数据副本,按数据块记录变化 |
|---|---|
| 原理 | 首份全量,后续增量;回滚时按链合并,删除中间快照会影响依赖关系 |
| 用途 | 误删误改回滚、创建新盘、制作自定义镜像 |
| 三厂名称 | 快照(阿里云、腾讯云)/ 云硬盘快照(华为云) |
| 费用 | 按快照实际占用容量计费,单价通常低于云盘 |
典型使用场景
- 变更前的兜底:升级内核、改数据库参数、批量改配置前先打一份快照
- 误删恢复:误删文件或误执行清库脚本后,用快照回滚到操作前的状态
- 批量部署环境:把装好环境的系统盘做成快照再生成镜像,用来批量开机器
- 数据迁移:用快照创建出新盘挂到目标实例,做离线数据搬迁
- 跨地域容灾:开启快照跨地域复制,地域级故障时能在另一个地域恢复
- 合规留档:保留周期性恢复点,满足审计对数据可恢复性的要求
自动快照策略示例
| 周期 | 保留 | 作用 |
|---|---|---|
| 每日 1 份 | 保留 7 天 | 覆盖一周内的误操作窗口 |
| 每周 1 份 | 保留 4 周 | 应对较晚才发现的逻辑错误 |
| 每月 1 份 | 保留 6 个月 | 合规与审计留档 |
| 跨地域复制 | 按需配置 | 地域级故障时的恢复来源 |
创建与核对快照
创建与核对快照
aliyun ecs CreateSnapshot --DiskId d-xxxx --SnapshotName before-upgrade # 变更前打点
aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --DiskId d-xxxx # 查看快照列表
aliyun ecs ApplyAutoSnapshotPolicy --AutoSnapshotPolicyId sp-xxxx --DiskIds '["d-xxxx"]'
# 关键盘同时挂自动策略与手工打点,恢复点才不依赖运气快照不等于数据库一致备份:打快照时数据库仍在写入,恢复出来的文件可能处于崩溃一致状态,重要数据要配合数据库自身的备份工具使用。
只创建快照从不做恢复演练,等于把恢复点当摆设;至少每季度验证一次回滚流程与耗时,确认数据真的能起来。
快照之间存在依赖:删除基础快照会影响增量链条,精简历史快照前先确认依赖关系与可回滚的时间点。
策略设计要点
- 按数据重要性分级:核心数据库盘保留更密的恢复点,普通系统盘降低频率控制成本
- 覆盖全部盘:只给系统盘打快照而漏掉数据盘,是恢复时最常见的空白点
- 恢复点与实际业务节奏对齐:发布、批量任务、定时脚本之前各留一个点更方便回退
- 把恢复流程写进文档并定期演练,明确由谁执行、预期耗时多久、如何验证数据正确
- 重要数据额外做跨地域复制或导出到对象存储,避免恢复点与故障同处一地
快照恢复是整盘覆盖式的:回滚会把盘上的数据整体带回那个时间点,之后写入的内容全部丢失。只丢个别文件时,应把快照创建成新盘再单独取回文件。