排除723GB静态MongoDB集合的rsync备份能否长期用于恢复?
问题解答
排除目标集合文件的可行性
可行,但必须满足两个核心前提:
- 该集合的实际业务数据从未发生任何变更(包括插入、更新、删除操作,以及索引重建、集合元数据修改等操作)
- 你已经完成过一次包含该723GB
.wt文件的完整备份,且备份文件完整可用
WiredTiger存储引擎会定期执行checkpoint、日志合并等操作,这些操作会修改集合文件的元数据块,导致rsync判定文件更新并重新传输。但如果集合数据本身无变更,这些元数据层面的修改不会破坏初始备份文件的完整性,后续同步时排除该文件不会影响备份的有效性。
1年后能否使用该备份恢复服务器
只要满足上述前提,1年后依然可以正常恢复:
- 恢复时,将备份服务器上的所有文件(包括首次完整备份的目标
.wt文件)复制回目标服务器的/data/db目录 - 确保恢复使用的MongoDB版本与备份时的版本一致(或为兼容的小版本升级)
- 启动MongoDB服务后,WiredTiger会自动校验文件完整性,处理元数据层面的差异,最终可正常加载该集合的所有数据
额外注意事项
- 必须保留首次完整备份的副本,不能因为后续同步排除了该文件就删除初始备份中的目标
.wt文件 - 定期验证备份可用性:每隔数月用备份文件搭建测试环境,启动MongoDB并检查目标集合的数据是否完整可访问
- 若后续该集合发生任何数据变更,需立即从rsync排除列表中移除该文件,重新执行完整同步
内容的提问来源于stack exchange,提问作者Stas Navarici
相关产品推荐
相关产品推荐

