数据安全是系统稳定的最后防线。再高可用的系统也必须有可靠的备份与恢复机制。
1. 备份的目标
- 防止误操作、系统崩溃、攻击导致数据丢失。
- 支持灾难恢复与回滚。
- 确保可验证的可恢复性。
2. 备份类型
- 全量备份:完整复制所有数据。适合周期性存档。
- 增量备份:仅备份上次全量后的新增或修改部分。节省空间。
- 差异备份:备份自上次全量以来的所有变化。介于两者之间。
3. 备份方案设计
-
数据库层备份:
- MySQL:
mysqldump、xtrabackup。 - PostgreSQL:
pg_dump、流复制快照。
- MySQL:
-
文件层备份:
- 对上传文件或日志目录定期打包归档。
- 支持版本化与生命周期管理。
-
对象存储备份:
- 使用云存储(OSS、S3)存放冷数据。
- 冗余跨区域存储。
4. 恢复机制
-
定期进行恢复演练,验证可用性。
-
建立备份校验(hash 校验、防篡改签名)。
-
灾难恢复计划(RPO/RTO 指标):
- RPO:允许丢失的最大时间窗口。
- RTO:系统可恢复的最大时长。
5. 实践建议
- 保留多版本备份,周期至少7天。
- 异地冗余存储,不与生产同机房。
- 对敏感备份加密存储。
结论:备份是成本最低的保险。未验证恢复能力的备份等于无备份。