备份不是复制:3-2-1 原则、验证与恢复演练
很多人所谓的备份,是同一块盘上的一个 copy 目录。盘坏了,主备一起没。
备份的核心指标不是「备份成功率」,而是「恢复时间」和「能不能恢复到某个时间点」。
先说结论
三份数据、两种介质、一份异地,并且每月做一次恢复演练。 没演练过的备份,只能算心理安慰。
- 本地快照 + 异地增量 + 离线/冷备各一份
- 用 borg/restic 做去重加密增量
- 定期校验(check --verify-data)
- 每月恢复一个文件或一个库到临时目录
- 记录恢复耗时,作为 RTO 依据
先把问题说清楚
rsync 适合镜像同步,但它是「当前状态」,误删会同步过去;borg/restic 有快照,可以回到历史版本。
加密备份要单独保存密钥:密钥丢了,备份等于没有。
具体怎么做
按顺序执行,每步都验证完再进下一步:
- 确定 RPO(能接受丢多少数据)与 RTO(多久能恢复)
- 选工具:文件级用 restic/borg,数据库用逻辑备份 + binlog/WAL
- 配置异地:对象存储或另一台机器,开启版本控制与对象锁
- 每月执行恢复演练:随机取一个时间点,恢复到临时目录校验
- 把演练结果记进文档:耗时、遇到的问题、修复动作
参数与成本对照
把关键数值摊开,方便判断该选哪条路:
| 方案 | 优点 | 局限 |
|---|---|---|
| rsync 镜像 | 简单、快 | 无历史版本,误删同步 |
| restic/borg | 去重、加密、快照 | 需要定期 prune |
| 数据库逻辑备份 | 可单表恢复 | 大库耗时长 |
| 快照(LVM/ZFS) | 秒级回滚 | 同机故障一起没 |

几个容易踩的坑
下面这些是最常见的错误做法:
- 只备份不校验:坏块静默损坏,恢复时才发现
- 备份与原件同盘同机
- 密钥与备份放一起
- 从不演练:真出事时手忙脚乱
最后补两句
把「恢复演练」写进日历,比把备份脚本写得更漂亮有用得多。
工具是手段,理解机制才是能力。命令记不住没关系,知道「该看什么」就够了。
评论 (3)
照着做了一遍,确实少走弯路。第二步最容易漏,建议顺手加个检查清单。
比「一键脚本」有用多了,知道为什么比知道怎么做重要。
补充一句:不同版本行为会变,动手前先确认自己的版本号。
发表评论