I\'m interested in mathematics and Daoism. Welcome to talk about these subjects with me.
分类: 云计算
2014-02-01 15:01:10
容错的设计本意是保证在一定错误发生的情况下,系统仍然能够运行,正常发挥其功能.所容忍的错误一般有文件内容错误,文件丢失,整个磁盘丢失,某机器的网络断开等等.但是系统管理员在启动,运行系统的时候,有可能错误地填写了配置项,由于系统有容错功能,看起来好像没错误,就达不到预想的容错"能力".
比如Google公司在早期部署chubby服务的时候,有一次启动一个chubby cell(五台机器,互相备份) 的时候,错误得拼写了一个备份的名字.整个系统"表面上"是能正常运行,向外提供服务的.其中的四台正常的机器能够使用Paxos算法正常向前推进,那个拼错的名字的副本呢,一直处在"追赶"(catch-up)状态,从其它机器接受"日志".本来系统可以容许最多两个副本错误,这样呢,就只能一个副本再发生错误了.
容错系统的容错的"能力",在测试的时候特别注意要考虑类似问题.
参考文献
[1]Paxos Made Live- An Engineering Perspective