快照是什么
快照记录云盘在某个时点的数据状态,用于数据回滚、创建新云盘以及制作自定义镜像。主流实现是增量快照:首次是全量,之后只保存相对上一份快照的变化数据块,因此恢复某一份快照时依赖它与前序快照组成的链。
基本信息
| 类型 | 增量快照:基于上一份快照记录变化数据块 |
|---|---|
| 用途 | 数据回滚、创建云盘、制作自定义镜像、跨地域复制 |
| 绑定关系 | 快照与地域绑定;跨地域使用需复制到目标地域 |
| 一致性 | 默认崩溃一致性;应用一致性需先冻结写入或暂停服务 |
| 计费 | 按快照容量计费,独立于云盘是否存在 |
| 生命周期 | 容量只增不减是常见结果,需要自动快照策略配合保留规则 |
典型使用场景
- 变更前兜底:升级内核、改分区、批量改配置前先打一份快照
- 数据误删找回:误删文件或误格式化后,用快照创建新盘再挂载取回数据
- 制作自定义镜像:以系统盘快照为基础导出镜像,用于标准化环境
- 灾备演练:把快照复制到另一地域,验证异地可恢复性
- 批量环境复制:用同一快照创建多块云盘,快速铺开测试环境
创建与回滚思路
创建与回滚思路
aliyun ecs CreateSnapshot --DiskId d-bp1xxxxxxxx --SnapshotName before-upgrade # 变更前打点
aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --DiskId d-bp1xxxxxxxx # 查看该盘快照列表
# 回滚思路:快照不能直接覆盖原盘,通常是用快照创建一块新云盘,
# 挂载到实例取回数据,或在确认无误后再决定如何替换原盘
aliyun ecs CreateDisk --RegionId cn-hangzhou --ZoneId cn-hangzhou-b --Size 100 --SnapshotId s-bp1xxxxxxxx
tccli cbs CreateSnapshot --DiskId disk-xxxxxxxx --SnapshotName before-change快照与备份的区别
| 对比项 | 快照 | 备份(广义) |
|---|---|---|
| 存放位置 | 默认与源盘同地域,可选择性复制到其他地域 | 至少一份在异地或独立存储 |
| 粒度 | 整盘时点状态 | 文件级、库级或整机级均可 |
| 用途 | 快速回滚与派生新盘 | 满足恢复点目标与合规留存 |
| 风险 | 地域级故障时同地域快照不可用 | 多副本存放,单点故障影响小 |
打快照前最好先停下写入或使用文件系统冻结:运行中的数据库直接打快照得到的是崩溃一致性状态,恢复后可能需要做日志重放甚至无法启动。业务库建议用逻辑备份或数据库自带工具配合。
自动快照策略容易造成费用隐性增长:只设创建周期不设保留份数,快照会一直堆积。策略至少包含保留数量或保留天数,并定期清理已废弃云盘的残留快照。