知识卡片

分裂大脑现象揭示容错机制本身在极端故障下可能反噬系统

普通读书笔记卡 · 1810.g

内容

Tandem的故障检测建立在某一时刻最多一个组件出故障的假设上,双重故障场景下彻底失灵:两条处理器总线同时失效,两个CPU都以为对方已挂,各自接管共享I/O设备并持续争夺磁盘控制权,结果磁盘数据被同时写坏。这类脑裂说明,为单一故障设计的容错机制遇到假设外的多重故障时,反而可能因两边都合理采取保护动作而制造比不处理更严重的破坏。

参考来源

- 位置:《架构之美》第8章《Guardian:一个容错操作系统环境》8.11.4节《分裂的大脑》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0194.xhtml) - 结论依据:原文明确"当只有一个组件出故障时这种方式工作得很好……但是,如果两个处理器间总线都出故障,那会发生什么呢?每个CPU都假定另一个已经出故障并接管I/O设备……通常导致在两个CPU之间共享的磁盘数据完全损坏"。 - 原始内容:当只有一个组件出故障时这种方式工作得很好,即使两个组件出故障,这种方式通常也工作得相当好。但是,如果两个处理器间总线都出故障,那会发生什么呢?每个CPU都假定另一个已经出故障并接管I/O设备……通常导致在两个CPU之间共享的磁盘数据完全损坏。