回滚是有明确损失的动作
快照回滚把卷恢复到打点时刻的状态,打点之后写入的数据会全部消失。因此回滚不是撤销上一步,而是一次带明确数据损失的恢复操作:必须确认打点之后的数据确实不可用或不需要保留,并且在动手前对当前状态补打一份快照作为退路。回滚范围如果涉及一致性组,应当整组执行,因为只回滚部分卷会再次造成卷间时间点错位。
前置检查
| 恢复目标 | 明确回到哪个时间点,并确认该快照状态可用 |
|---|---|
| 损失范围 | 列出打点之后写入的数据及其业务影响 |
| 保险快照 | 回滚前对当前状态再打一份,保留退回路径 |
| 依赖确认 | 确认一致性组内其他卷是否需要同步回滚 |
| 写入停止 | 回滚期间必须停止写入,避免产生新的不一致 |
| 回滚后验证 | 数据完整性、应用可用性与业务功能逐项确认 |
典型使用场景
- 误删除或误批量修改后,需要快速回到操作之前的稳定状态
- 升级或变更失败,业务无法在修复路径上继续,只能退回变更前
- 日志或数据文件逻辑损坏,需要回到损坏发生前的时间点
- 演练中验证回退能力,确认快照可用且流程可执行
- 回滚前评估数据损失,把可放弃的变更范围与业务方确认
- 回滚后判断是否需要二次恢复,例如从备份补齐较早数据
回滚步骤要点
| 步骤 | 动作 | 关键判据 |
|---|---|---|
| 确认目标 | 核对快照标识、时间点与所属一致性组 | 快照可读且时间点符合预期 |
| 评估损失 | 列出自打点之后的变更及业务影响 | 业务方书面确认可以放弃 |
| 生成保险点 | 对当前状态补打一份快照 | 保险点生成成功且状态可读 |
| 停止写入 | 停止应用与主机侧写入路径 | 确认无残留写入进入待回滚卷 |
| 执行回滚 | 按一致性组范围统一执行 | 组内所有卷处于同一时间点 |
| 验证恢复 | 数据校验、应用启动、业务功能确认 | 全部通过后再开放访问 |
回滚操作顺序
回滚操作顺序
# 一、确认目标快照标识与时间点,核对可用状态与所属一致性组
# 二、评估数据损失范围,由业务方确认打点之后的变更可以放弃
# 三、对当前状态再打一份快照作为保险,保留可退回的路径
# 四、停止应用与主机写入,确认没有残留写入进入待回滚的卷
# 五、按一致性组范围执行回滚,确保组内卷回到同一时间点
# 六、回滚后做数据校验、启动应用并逐项确认业务功能
# 七、记录回滚前后状态与验证结论,保险快照按策略保留一段时间回滚会永久丢弃打点之后的数据,属于不可逆操作。执行前务必补打一份当前状态的快照作为保险,并确认业务方知晓且接受数据损失范围。回滚范围涉及一致性组时必须整组执行,只回滚其中部分卷会重新造成卷间时间点错位,后续可能触发长时间崩溃恢复。