系统架构设计师学习笔记 第十七章 系统的可靠性分析与设计

步积关注
0.0472018.08.17 08:42:58字数 4,839阅读 654

第十七章 系统的可靠性分析与设计

17.1 可靠性概述

与可靠性相关的概念主要有:可靠度、可用度、可维度、平均无故障时间、平均故障修复时间及平均故障间隔时间等。

  1. 可靠度。系统的可靠度R(t)是指在t=0时系统正常的条件下,系统在时间区间[0,t]内能正常运行的概率
  2. 可用度。系统的可用度A(t)是指系统在时刻t可运行的概率
  3. 可维度。系统的可维度M(t)是系统失效后,在时间间隔内被修复的概率。
  4. 平均无故障时间,可靠度为R(t)的系统平均无故障时间MTTF定义为从t=0时到故障发生时系统的持续运行时间的期望值
  5. 平均故障修复时间。可用度为A(t)的系统平均故障修复时间MTTR可以用类似于求MTTF对的方法求得。
  6. 平均故障间隔时间。MTBF常常能与MTTF发生混淆,因为两次故障(失败)之间必然有修复香味,因此MTBF中应包含MTTR。对于可靠度服从指数分布的同,从任意时刻到达故障的期望时间都是相等的。
    系统架构设计师学习笔记 第十七章 系统的可靠性分析与设计 - 图1

    17.2 系统故障模型

    17.2.1 故障的来源以及表现

  7. 失效:硬件的物理改变

  8. 故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。
  9. 错误(差错):故障在程序或数据结构中的具体位置。错误与故障之间可能出现一定距离。故障或错误有如下几种表现形式:
  • 永久性:描述连续稳定的失效、故障或错误。在硬件中,永久性失效反应了不可恢复的物理改变。
  • 间歇性:描述那些由于不稳定的硬件或变化着的硬件或软件状态所引起的、仅仅偶然出现的故障或错误。
  • 瞬时性:描述那些由于暂时的环境条件引起的故障或错误。

一个故障可能是由物理失效、不适当的系统设计、环境影响或系统的操作员所引起。永久性失效会导致永久性故障。间歇性故障可能由不稳定、临界稳定或不正确的设计所引起。环境条件会造成瞬时性故障。所有这些故障都可能引起错误。不正确的设计和操作员失误会直接引起错误。由硬件的物理条件,不正确的硬件或软件设计,或不稳定但重复出现的环境条件所引起的故障可能是可检测的,并且可以通过替换或重新设计来修复;然而,由于暂时的环境条件所引起的故障是不能修复的,因为其硬件本身实际上并没有损坏。瞬时和间歇故障已经成为系统中的一个主要错误源。

17.2.2 几种常见的故障模型

1. 逻辑级的故障模型

固定型故障指电路中元器件的输入或输出等线的逻辑固定为0或固定为1。短路故障是指一个元件的输出线的逻辑值恒等于输入线的逻辑值;元件的开路故障是元件的输出线悬空,逻辑值可根据具体电路来决定。桥接故障是指两条不应相连的线连接在一起而发生的故障。

2. 数据结构级的故障

故障在数据结构上的表现成为差错。常见的差错如下。

  • 独立差错:一个故障的影响表现为使一个二进制位发生改变。
  • 算数差错:一个故障的影响表现为使一个数据的值增加或减少2i(i=0,1,2,3….)
  • 单向差错:一个故障的影响表现为使一个二进制向量中的某些位朝一个方向(0或1)改变。

    3. 软件故障和软件差错

    软件故障是指软件设计过程中造成的与设计说明不一致的情况,在数据结构或程序数据中的表现称为软件差错。常见的软件差错有以下几种:

  • 非法转移:程序执行了说明中不存在的转移

  • 误转移:程序执行了尽管说明中存在,但依据当前控制数据不应进行的转移。
  • 死循环:程序执行时间超过了规定界限。
  • 空间溢出:程序使用的空间超过了规定界限。
  • 数据执行:指令计数器指向数据单元。
  • 无理数据:程序输出的数据不合理。

    4. 系统级的故障模型

    故障在系统级上的表现成为功能错误,即系统输出与系统设计说明的不一致。如果系统输出无故障保护机构,则故障在系统级上的表现就会造成系统失效。

    17.3 系统配置方法

    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。

    17.3.1 单机容错技术

    是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。系统的故障可分为两类:一类是“致命的”,不可能自行修复;另一类是局部的,可能被修复。容错技术正是用于构造一种能够自动排除非致命性故障的系统,即容错系统。
    在单机容错技术中,提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错等。

    1. 自检技术

    自检是指系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的不见。自检需采用诊断技术,常用专门程序实现,属于程序设计的范围。容错系统的实现要求系统必须具有重复部件或备份部件,或具有不止一个完成某种功能的通道,因此自检技术长配合冗余技术使用。计算机的容错系统一把都需要应用自检技术。

    2. 冗余技术

    可分为硬件冗余、软件冗余、时间冗余、信息冗余等。冗余技术中最常用的两种方法是重复线路和备份线路。重复线路指用多个相同品种和规格的元件或构件并联起来,当做一个元件或构件使用,只要有一个不出故障,系统就能够正常工作。在并联工作时每一个构件的可靠性概率是互相独立的。备份线路与重复线路的差别是参加备份的构件并不接入系统,只有在处于工作状态的构件发生故障后才把输入和输出接到备份构件上来,同时切断故障构建的输入、输出。

    17.3.2 双机热备份技术

    是一种挼硬件结合的较高容错应用方案。该方案是由连哪个台服务器系统和一个外接共享磁盘矩阵列柜和响应的双机热备份软件组成。其中呢的外接共享磁盘矩阵列柜也可以没有,而是在各自的服务器中采取RAID(独立冗余磁盘阵列)卡。
    在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备份主动替代主机工作,保证网络服务不间断。
    双机热备份系统采用“心跳”方法保证系统与备用系统的联系。所谓“心跳”,指的是主、从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。一旦“心跳”信号表示主机系统发生故障,或者备用系统无法收到主机系统的“心跳”信号,则系统的高可用管理软件认为主机系统发生故障,立即将系统资源转移到备份系统上,备用系统替代主机工作,已保证系统正常运行和网络服务不间断。
    双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即,双机热备模式、双机互备模式和双机互工模式。
    双机热备模式即目前通常所说的active/standby方式,active服务器处于工作状态;而standby服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入(通常各服务器采用RAID磁盘阵列卡),保证数据的即时同步。当active服务器出现故障时,通过软件侦测或手工方式将standby机器激活,保证应用在短时间内完全恢复正常使用。
    双机互备模式,是两个相对独立的应用在两台机器上同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。
    双机双工模式是集群的一种形式,两台服务器均处于活动状态,同时运行相同的应用,以保证整体系统的性能,也实现了负载均衡和互为备份,通常使用磁盘柜存储技术。

    17.3.3 服务器集群技术

    集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。大多数情况下,集群中所有计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户使用
    集群必须可以协调管理各分离的构件出现的错误和故障,并可透明的向集群中加入构件。一个集群包含多台(至少两台)共享数据存储空间的服务器。其中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在各自的本地储存空间上。
    集群内各节点服务器通过一个内部局域网相互通信,当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一个节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被被另一台服务器接管。当以上的任一故障发生时,客户都能很快连接到其他应用服务器上。

    17.4 系统可靠性模型

    17.4.1 时间模型

    可靠性增长模型,基于这样一个假设:一个软件的中的故障数据在t=0时是常数,随着故障被纠正,故障数目逐渐减少。

    17.4.2 故障植入模型

    是一个面向错误数的数学模型,目的是以程序的错误数作为衡量可靠性的标准,基本假设如下:
  1. 程序中的固有错误数是一个未知的常数。
  2. 程序中的人为错误数按均匀分布随机植入
  3. 程序中的固有错误数和人为错误被检测到的概率相同。
  4. 检测到的错误立即改正

    17.4.3 数据模型

    对于一个预先确定的输入环境,软件的可靠度定义为在n次连续运行软件中软件完成指定任务的概率。

    17.5 系统内的可靠性分析和可靠度计算

    17.5.1 组合模型

    是计算机容错系统可靠性能最长用哪个的方法。一个系统只要满足一下条件,就可以用组合模型来计算其可靠性。做如下假设:

  5. 系统只有两种状态:运行状态和失效状态

  6. 系统可以划分成若干个不重叠的部件,每个部件也只有两种状态:运行状态和失效状态
  7. 部件的失效是独立的
  8. 系统失效当且仅当系统中的剩余资源不满足系统运行的最低资源要求(系统的状态只依赖于部件的状态)时。
  9. 已知每个部件的可靠性,可靠性指可用度或可靠度等概率参数。

组合模型的目标就是根据各部件的可靠性来计算系统的可靠度,基本思想如下:

1. 枚举所有系统状态

2. 计算每个系统状态的概率

3. 可靠性计算

17.5.2 马尔柯夫模型

两个核心概念是状态和状态转移。系统的状态表示了在任何瞬间用以描述该系统所必须知道的一切。

17.6 提高系统可靠性的措施

防止故障造成系统失效的两种技术是故障掩蔽技术和系统重组技术,故障掩蔽技术是指防止故障造成差错的各种技术,系统重组技术是防止差错导致系统失效的各种技术。故障掩蔽技术和系统重组技术是达到容错的两种基本途径。而他们又是建立在资源冗余的基础上的。资源冗余有硬件冗余、信息冗余、时间冗余和软件冗余4种形式。

17.6.1 硬件冗余

最常用的是三模冗余TMR,三个相同的模块接收三个相同的输入,产生的结果送至多数表决器。表决器的输出取决于三个输入的多数,若有一个故障模块,则另两个正常模块的输出可将故障模块的输出掩蔽,从而不再表决器输出产生差错。

17.6.2 信息冗余

是指通过在数据中附加冗余的信息以达到故障检测、故障掩蔽或容错的目的。

1. 海明校验码

基本的海明纠错码能纠正一位错。原理是基于重叠奇偶校验的概念:将原始数据位分成若干个重叠的组,每一组设一位奇偶校验位。由于位间有重叠,因此每位原始数据从属于多余一个组。而且每位原始数据的从属关系是不一样的,纠错时,根据哪些组的奇偶校验位出错,就可以唯一的确定是哪一位数据出错,将该位取反就完成了纠错。

2. 循环冗余校验码

17.7 备份与恢复

系统的数据备份就是在系统其它地方创建数据与程序的电子复制,为重建系统中被破坏的或不正确的数据提供条件,备份最常用的技术是数据转储和建立日志文件等。
数据转储可分为静态转储和动态转储。静态转储是指系统中无事务时进行的转储操作,动态转储是指转储操作和用户操作并发进行,而且转储工作不会影响事务的运行,但它不能保证副本中的数据正确有效。
建立日志文件是指把所有事务对系统的修改活动都登记下来。若发生了故障,对于静态转储,可以在重装后备系统之后,利用日志文件进行回复,避免重新运行事务;对于动态转储,可以把转储得到的副本和转储期间的日志文件结合起来进行故障恢复,使系统恢复正常工作状态。
备份通常分为联机备份和脱机备份两种方式。
脱机备份也叫冷备份,是一种静态转储技术,备份系统所有的物理文件和初始化文件。优点是在恢复过程中步骤最少,比热备份快并且出错机会少,定期的脱机备份加上一组好的重做日志可以把系统的数据恢复到有任何一个时间点上。
联机备份也叫热备份,是一种动态转储技术,由于只备份所需的文件,因而被看做是部分备份。在系统运行时执行。优点是可以实现完全的时间点恢复,同时由于数据库一直处于打开状态,减少了系统对物理资源的要求,改善了数据的执行;但联机备份比较复杂,需要对系统的核心有比较深刻的认识,对备份策略进行反复的测试,才能最终确定他的正确性和可用性。

3人点赞

日记本

更多精彩内容,就在简书APP