
备份文件存在不代表可以恢复。损坏的归档、缺失的表、权限错误的目录,在真正需要的时候才会暴露出来。
校验分为三个层次。文件层比对归档大小和预期范围,计算校验值并与记录进行核对,确认传输和存储过程中没有损坏;结构层检查压缩包是否可以正常打开,目录树是否完整,数据库导出文件的首尾标记是否齐全;内容层抽样还原到独立环境中,核对表记录数、关键字段以及上传文件的数量。
定时执行很重要。将校验写入到备份任务之后的步骤中,如果失败就发出警报,防止问题堆积数周才被发觉;每个月至少要进行一次完整的恢复演练,记录下所用的时间和遇到的问题,逐渐缩短恢复的时间。
校验脚本本身也要简单一些。能够用一条命令完成检查的,才有可能长期坚持;而需要多步手工操作的流程,一般三周左右就会名存实亡。把校验的结果写在同一个账本里,和备份记录放在一起,异常的趋势一目了然。
失效判定要有明确的依据。归档体积突然减少一半、连续多次校验失败、还原之后核心表为空,这些情况都应该马上进行备份重建。即使副本数量很多,也无法代替一次有效的校验。
备份策略的可靠性取决于校验频率,不是取决于存储介质的价格。