服务公告

服务公告 > 技术教程 > 有状态数据的备份分层:配置、数据库与文件

有状态数据的备份分层:配置、数据库与文件

发布时间:2026-07-24 13:16
## 为什么要分层 把所有数据塞进同一个备份任务,是最常见的备份设计错误:配置文件几兆却最关键,数据库几十 GB 且时刻在变,上传的文件可能以 TB 计且基本只增不改。三类数据的备份频率、工具与保留策略完全不同,分层设计才能让每一类都得到合适的保护而不互相拖累。 ## 配置层 系统与服务配置体量小、恢复价值极高,最适合纳入版本管理:初始导入后每次变更自动提交,历史可回溯,差异可对比。巡检脚本定期检查工作区是否干净,配置漂移一目了然。配合前文所述的基线导出,配置层可以做到分钟级恢复。 ## 数据库层 数据库不能用文件复制思路处理,运行中的库直接拷贝数据目录有一致性风险。正确工具是逻辑导出或物理备份方案:逻辑导出适合中小库,恢复即导入,链路简单;物理备份适合大库,速度快但要配合恢复演练。频率上交易类库要做到每日全量加更频繁的增量,导出文件压缩后再传输,落盘即记校验和。 ``` mysqldump --single-transaction --quick dbname | zstd > db-$(date +%F).sql.zst pg_dump -Fc dbname > dbname-$(date +%F).dump ``` ## 文件层与优先级 文件层按变化特征处理:上传类数据增量同步为主,归档类数据按月打包冷存。恢复优先级决定演练顺序:先保证配置与数据库能恢复,业务就能在临时环境跑起来;大文件层最后到位。顺云云服务器的备份至少留一份在机器之外,快照加异地副本的组合,才能覆盖机器级与机房级两类故障。 再补一层容易被忽略的维度:备份的元数据。每份备份的生成时间、来源机器、版本号、恢复步骤,四项信息与备份文件同等重要,缺了元数据的备份在半年后就是一堆看不懂的文件。恢复步骤建议做成可执行的脚本而非文档段落,脚本随备份体系一起版本化。演练时的实际耗时也要记录,它是容量与窗口规划的原始数据。