系统可靠性和分析
系统故障类型
- 失效,故障,错误
- 表现形式:永久性,间歇性,瞬时性
- 逻辑级的故障模型:短路故障,开路故障,桥接故障
- 数据结构级的故障:独立差错,算数差错,单向差错
- 软件故障和软件差错:非法转移,误转移,死循环,空间溢出,数据执行,无理数据
- 系统级的故障模型
可靠性分析 - 可靠性指标
- 平均无故障时间(MTTF):1/y,y为失效率
- 平均故障修复时间(MTTR):1/y,y为修复率
- 平均故障间隔时间(MTBF):MTTR+MTTF
-系统可用性:MTTF/(NTTR+MTTF)*100%
可靠性和可用性
- 系统可靠性是系统在规定时间内和规定环境条件下,完成规定功能的能力下,无故障运行的概率
- 系统可用性是某个给定时间点上系统能够按照需求执行的概率
- 提高可靠性需要强调减少系统终端的次数,提高可用性需要强调减少从灾难中恢复的时间
可靠性分析 - 串联系统和并联系统
- 串联系统:只要有一个出错,整条出错,也就是计算为各个几率相乘
- 并联系统:当前所有的失效率相乘,然后1-这个值
可靠性分析 - 模冗余系统和混合系统
- 模冗余系统:由表决器来决定
- 混合系统:串并联相互结合,分成几个节点,每个节点按照各自的算法来算,后面再结合
系统容错 - 概念和分类
-
技术:容错计数,避错技术
-
容错技术
- 结构冗余(硬件冗余,软件冗余)
- 信息冗余(校验码)
- 时间冗余(重复多次进行相同的计算)
- 冗余附加(为实现上述冗余技术所需的资源和技术)
-
其他冗余分类
- 静态冗余(屏蔽冗余,被动冗余:模冗余系统)
- 动态冗余(主动冗余:备份系统,集群系统:故障检测,故障定位.故障恢复)
- 混合冗余
-
冗余系统
- 故障检测
- 故障屏蔽
- 故障限制
- 复执
- 故障诊断
- 系统重配置
- 系统恢复
- 前向恢复:使当前的计算继续下去,吧系统恢复成连贯的正确状态,弥补当前状态的不连贯情况,适用于可预见的已定义的错误
- 后向恢复:系统恢复到前一个正确状态,继续执行,屏蔽不可见的错误
- 系统重新启动
- 修复
- 系统重组合
-
软件容错 - N版本程序设计
- 与通常软件开发过程不同的是,N半本程序设计增加了三个新的阶段:相异成分规范评审,相异性确认.背对背测试
- N版本程序的同步,N版本程序之间的通信,表决算法(全等表决,非精确表决,Cosmetie表决),一致比较问题,数据相异性
- 恢复策略:前向恢复
-
恢复块方法
- 设计时应保证实现主块和后背块之间的独立性,避免相关错误的产生,使得主块和备份块的共性错误降到最低程度
- 必须保证验证测试程序的正确性
- 恢复策略:后向恢复,实时性查
-
防卫式程序设计
- 对于程序中存在的错误和不一致性,通过在程序总包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,
恢复到一个已知的正确状态中去(代码中的try,catch) - 实时策略:错误检测,破坏估计,错误恢复
- 对于程序中存在的错误和不一致性,通过在程序总包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,
系统容错 - 双机容错
- 双机热备模式(主系统,备用系统)
- 双机互备模式(同时提供不同的服务,心不跳则接管)
- 双机双工模式(同时提供相同的服务,集群的一种)
系统容错 - 集群技术
- 集群系统特性: 可伸缩性.高可用性,可管理性,高性价比,高透明性
- 高性能主机系统:伸缩困难,不高可用…
- 集群类型
- 高性能计算集群
- 负载均衡集群
- 高可用集群
- 负载均衡方法
- 基于特定软件的负载均衡
- 基于DNS的负载均衡
- 基于DAT的负载均衡
- 反向代理负载均衡
- 混合型负载均衡