一、本章要点
系统可靠性是系统在规定的时间内及规定的环境下完成规定功能的能力,也就是系统无故障运行的概率。
1)信息系统综合知识。包括可靠性设计(容错技术、避错技术)、可靠性指标与评估、系统配置方法(双份、双重、热备份、容错、集群)。
2)系统架构设计案例分析和论文。包括系统的故障模型和可靠性模型、系统的可靠性分析和可靠度计算、提高系统可靠性的措施、系统的故障对策、系统的备份与恢复。
二、系统故障模型
1)系统故障是指由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。
2)错误(差错)是指故障在程序或数据结构中的具体位置。
3)故障或错误有如下几种表现形式:永久性、间歇性、瞬时性。
4)4个级别的故障模型:
(1)逻辑级的故障模型。逻辑级的故障有固定型故障、短路故障、开路故障和桥接故障。
(2)数据结构级的故障。故障在数据结构上的表现称为差错:独立差错、算术差错和单向差错。
(3)软件故障和软件差错。软件故障只与设计有关:非法转移、误转移、死循环、空间溢出、数据执行和非法数据。
(4)系统级的故障模型。系统输出与系统设计说明的不一致。
三、系统可靠性模型
1、时间模型
一个软件中的故障数目在t=0时是常数,随着故障被纠正,故障数目减少。一段时间的调试后剩余故障的数目可由下式来估计:
2、故障植入模型
1)以程序的错误数作为衡量可靠性的标准。
2)基本假设如下:
(1)程序中的固有错误数是一个未知的常数。
(2)程序中的人为错误数按均匀分布随机植入。
(3)程序中的固有错误数和人为错误被检测到的概率相同。
(4)检测到的错误立即改正。
两步查错法:
3、数据模型
对于一个预先确定的输入环境,软件的可靠度定义为在n次连续运行中软件完成指定任务的概率。
四、可靠性指标与评估
1、可靠性指标
2、可靠性计算
五、可靠性设计
1)提高计算机可靠性的技术可分为避错技术和容错技术。
2)避错是预防和避免系统在运行中出错,软件测试就是一种避错技术。
3)容错是指系统在其某一组件故障存在的情况下不失效,仍然能够正常工作的特性,一般通过冗余组件设计来实现。
1、冗余技术
1)结构冗余。
(1)静态冗余。通过表决和比较来屏蔽系统中出现的错误。
(2)动态冗余。主要方式是多模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用模块来顶替它。
(3)混合冗余。兼有静态和动态冗余的长处。
2)信息冗余。除实现正常功能所需信息外,添加一些信息保证运行结果正确性,如纠错码。
3)时间冗余。使用附加一定时间的方法来完成系统功能。一重复执行指令或程序来消除瞬时错误。
4)冗余附加技术。实现上述冗余技术的所需资源和技术。
2、软件容错
1)恢复块方法,一种动态的故障屏蔽技术,采用后向恢复策略。
2)N版本程序设计,一种静态的故障屏蔽技术,采用向前恢复的策略。
3)防卫式程序设计,一种不采用任何传统的容错技术就能实现软件容错的方法,基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得错误发生时程序能恢复到正确状态中去。实现策略包括:错误检测、破坏估计和错误恢复。
3、集群技术
集群(Cluster)是由两台以上节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故障恢复能力。
1)集群的分类:高性能计算科学集群、负载均衡集群和高可用性集群。
2)集群的硬件配置:镜像服务器双机、双机与磁盘阵列柜和光纤通道双机双控集群系统。