知识卡片
精确到字节的状态编码是自动恢复的地基
内容
系统能不能被自动、可靠地恢复到”正常状态”,取决于”正常状态”本身有没有被完整、精确地编码下来——不只是代码版本,还包括监听端口、启动脚本、固件设置、内存里加载的配置这些容易被忽视的细节。把每台机器上每个文件的预期内容和加密校验和都记录成一份可比对的清单后,无论偏差是宇宙射线翻转的一个比特、误操作,还是攻击者悄悄改的配置,处理方式都收敛成”发现偏差、报告偏差、修复偏差”同一套流程,不需要为每种成因单独设计排查逻辑。
参考来源
- 位置:《Google系统架构解密:构建安全可靠的系统》第9章《面向恢复性的设计》9.2.5节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_080.html`)
- 结论依据:原文说明每台机器持续监控本地文件系统、维护每个文件名称和加密校验和的映射,与预期软件包比对发现偏差,并列举宇宙射线位翻转、组件发布误改文件、未授权修改三种不同成因都能被同一套偏差修复流程处理。
- 原始内容:每台机器持续监控其本地文件系统,维护一个映射,其中包含文件系统中每个文件的名称和加密校验和……当我们发现预期和当前状态间出现偏差时,将该信息附加到偏差列表中……借助捕获机器状态的策略,可以将各种恢复方法统一到一个进程中。