• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

高可用性系统的设计(第一部分)

  2001年07月01日  

现在的各种电子系统复杂度越来越高,而对系统的可用性(availability)要求也越来越高。提高系统的可用性是每一个工程设计人员孜孜以求的目标,本文将主要讨论有关高可用性的硬件配置问题,软件问题将在下期介绍。

Chuck Hill

系统工程师

摩托罗拉计算机公司电信事业部

Chuck_hill@

在网络应用中我们经常听到这样的讲法: 24(小时)×7(天)不间断工作。但怎样才能实现真正的不间断工作呢?一个可用性差的网络可能仅仅因为电源的一个尖峰脉冲或电源失效而导致系统瘫痪,要实现真正的24×7的可用性必须采用一些保护措施。

在这里需要澄清两个概念:可用性和容错性。其实可用性和容错性并非一回事。容错性包含有两层含义:任务处理的可靠性和系统的可用性。在仅有可用性要求时,目前许多系统都采用容错电脑,如文件服务器或呼叫处理等。但对于电信网络的记费系统或银行业务就需要处理的可用性。而对于那些能够容忍少些数据的丢失、或数据传输受可用的端到端协议如TCP/IP的保护应用来说,处理的可用性就显得不那么重要。

容错平台的传统实现方法通常包括专用硬件和专用软件,这会导致高昂的成本和漫长的设计周期,对于竞争激烈的电信市场来说,这是不能接受的。

什么是高可用性?

可用性并不是一个模糊概念,实际上它能用数学方法来精确地表示。简单地讲,一个高可用性系统就是一个用户能随时使用的系统,例如当用户需要在早上8点到下午5点启用该系统时,该系统就应该在这段时间内保证良好的可用状态,其余的时间可以用来进行定期维修保养。可用性常被定义为实际的服务时间和要求的服务时间的比值,常用百分比表示。许多现代化系统需要一天24小时、一年365天连续不间断运转(有时也称为7×24或365×24)。一个可用性为99.9%的365×24系统一年的平均故障时间为8.76小时(525分钟),而要想让系统的中断时间在一年中只有3分钟的话,系统必须有99.999%的可用性。

可用性指标可以利用所有系统元件的统计模型计算出来,最简单的元件模型是二元的,即元件要么处于工作状态,要么处于非工作状态。可用性可以用失效率来计算,结果为平均无故障工作时间MTBF,也可以用故障修复时间来计算,结果为平均故障修复时间MTTR。将MTTR时间平均分摊到MTBF周期内可以计算出任意元件对平均故障的贡献。例如,有一个对系统运作至关重要的元件,它的MTBF时间为250,000小时,MTTR为1小时,则系统在一年中的不可用性时间为2.1分钟(等于60(分钟)×8760(小时/年)÷250,000(小时))。

通过最大化元件的可用性以及最小化故障修复时间可以获得99%到99.9%的系统可用性。要取得更高的可用性,需要采用冗余设计方法,因为对失效元件的备份能够确保系统连续地工作。通过计算从检测出失效元件到切换到备份元件的间隔时间可以进一步计算出这种冗余系统的可用性指标。

故障管理与故障检测范围已成为系统设计中的重要因素。一个用冗余技术设计的复杂系统需要用到统计学的方法来计算可用性。

快速建模技术

要粗略估计系统中每个元件对系统不可用性(unavailability)的影响,就可以采用快速的组合计算,这种计算会忽略故障覆盖因素。计算结果通常偏高,同时指出需进一步仔细研究的地方。忽略对不可用性影响很小的元件可以简化模型。

可靠性方框图(RBD)是用来进行快速组合式可用性计算的工具之一。图1是一个双板系统的RBD框图。从图上可以看出,两块板中只要有一块能工作,系统就能正常运行。图1所示的系统可以采用简单的数学分析法分析其不可用性,一块板的不可用性公式是:

l=故障率+1/MTBF<1/250,000

m=故障修复率+1/MTTR=l/4

不可用性=l÷(l+m)=1.5999E-05

故障率是MTBF的倒数,而故障修复率是MTTR的倒数。

在一个如RBD中所示的并行系统中,系统的不可用性为:

系统不可用性=(1.5999E-05)2=2.559E-10

利用RBD能方便快速地得出结果,但要对更加复杂的系统建模就无能为力了。

工具链

时域连续的马尔可夫(Markov)链除了其状态是根据概率因素而变化外,其它基本上类似于有限状态图。马尔可夫链能够实现更成熟的模型,图2是对双板系统的马尔可夫链分析,其中包含了与故障覆盖因数(图2括号中的C)。在图2中每个圆表示一个状态,直线箭头表示状态转换。在本模型中状态名用xBSy表示,其中x代表工作电路板的数量,y有两种取值,U代表系统处于工作状态,D代表系统停止运行。表1给出了每个状态的说明。

1BSU和1BSD分别代表系统是正常运行和停止运行状态。如果系统中断运行,这些状态会表明需要维修的板数目。状态间的转换比率呈指数式分布,每个箭头旁都标识了相应的比率(基于l、u、c)。例如呈指数式分布的2BSU与1BSU状态转换比率是2lc(板的失效率乘以失效板被备份板替换的概率),而2BSU与1BSD之间的状态转换比率为2l×(1-c),它是板的失效率乘以失效板未经备份板替换的概率。

在决定2BSU状态是转换为1BSU还是1BSD时存在竞争。在故障覆盖较大的情况下(c=0.9),2BSU状态大多会转换为1BSU,但并不是一定的,在某些情况下2BSU会转换为1BSD。

同样的,因为修复率u大于板的失效率l,源于1BSU状态的转换大部分会回到2BSU。在极少数情况下,第2块板会在第1块板修复前出现故障,这时就会转换成0BSD状态。

系统采用马尔可夫链分析时,系统的可用性指标用链处于任意工作状态的时间来测量,在本例中就是2BSU或1BSU状态。相应的非可用性指标(1减去可用性指标)用链处于停止状态的时间来测量,本例中是1BSD或0BSD。

Sharpe类建模工具可实现这些测量。上述双板系统的1A Sharpe模型的不可用性为3.200102E-06,相应的可用性就是1.0-3.200102E-06=0.9999968。

对于相对较小的模型来说,用Markov链模型效果很好,但大一些的模型会产生难于处理的较大状态空间。例如,双板系统模型包含4种状态,如果再增加一块板就会产生另外2种状态(3BSU和2BSD),状态总数达到6个。可以想像一下系统中有10块或12块板时的情况,此时必须使用更加先进的建模工具。

冗余配置

在系统的架构中可以采用很多的冗余设计技术。N冗余系统(2N、3N、5N等)采用了被隔离为多个独立故障区域的多套相同资源,它可以是元件级的冗余(如磁盘和电源),也可以是整个系统级的(如冗余文件服务器),而最简单的形式就是2N冗余方式。

N+m冗余是为一组资源准备了若干备份(如以太网集线器上的空余端口),最简单的形式是N+1冗余,这种冗余方式同样可以是单独的系统元件级,或整个系统级的。

对系统设计来说冗余方案的选择至关重要。2N冗余系统方案会对系统中所有的关键资源进行备份,备用资源会根据运行中的资源情况随时进行更新,当故障发生时,整个出现故障的资源退出工作状态,备用资源取而代之。

2N冗余方案的显著优点是故障管理简单,切换时间短。但由于每个资源都要有备份,因此成本高,当系统的I/O连接数量巨大时连接性能就难以保障。

电话系统即是一个很好的例子,该系统可能用到许多T1/E1连接,对所有线路接口板进行备份将大大增加成本,采用多T1/E1线路或要求用户租用大量备用线路同样也代价高昂。对于I/O数量比较多的这类应用,N+1冗余方案将有更好的性价比。在N+1冗余方式下,主要设备出现故障之前,由于备用设备的实际用途不确定而不能正确地配置,因此会增加故障管理的复杂性,并延长切换时间。

管理过程

N冗余系统与N+1冗余系统在故障管理方面的差别很大,在N+1系统中的故障管理要占用系统CPU时间,因此系统CPU必须具备用于故障管理的富余的处理能力。通常故障管理过程可以被分为以下几个步骤:检测、定位、隔离、恢复、报告、维修和复原。下面将概述这些处理阶段的含义,并就2N和N+1系统的故障管理展开讨论,不管是系统中的硬件还是软件,这些概念都是适用的。

检测是一个发现问题的过程。检测定义为从出现故障到系统检测出故障的过程。系统中所有硬件和软件都有故障检测的责任。为了满足99.999%的可用性目标要求,每个元件必须有足够的故障检测能力,否则这种元件就不适合用于高可用性的系统中。

定位是指缩小故障范围直至找到失效元件的过程,该过程很大程度上依赖于故障区域的定义。

隔离就是让系统中已发生故障的部分停止工作。确定被隔离区域的分界点必须以该区域能中断与系统的所有互连为前提。

恢复是指利用备用资源让系统恢复运行的过程,同时还要恢复系统中受失效元件影响的所有其它部分。恢复过程是系统中断过程的最后阶段,一旦系统重新开始提供正常服务,剩下的过程将不会直接影响系统的正常运行。

系统产生的报告是用来通知外界所发生的故障,这是修复过程的第一步。维修过程与可用性无直接关系。统计概率表明,在失效元件修复过程中备份元件也有可能出现故障,这种情况会导致整个系统瘫痪。虽然出现这种情况的概率非常小,但这种情况影响严重,故在可用性计算等式中仍要考虑到。因此即使在冗余系统中也要尽量缩短维修时间。

维修实际上是失效元件的替换过程,这一过程一般是人工实现的。维修过程之所以划分成这些阶段,有两大理由:首先,维修步骤通常是最花时间的阶段;其次,这是整个过程的关键,任何失误都将导致整个系统的中断。

最后,经修复后的元件被再次集成到系统中。一旦失效硬件或软件被替换后,修复的元件要么作为新的备用元件使用,要么去分担一些系统负载。

这些阶段的划分多少带有些片面性,但它们能为系统结构的差异性描述提供很好的参考。

组件的故障管理

在一个2N或组件系统中将可能发生故障的部分定义为故障区,采用这种方式的故障管理在一定程度上得到简化。主要的步骤包括故障检测、定位、隔离、恢复、维修等,详细描述如下:

  • 故障检测相当关键。一个系统检测故障的能力由系统故障检测范围来确定。该范围没有包括的任何可能故障都给定一个概率值,并记为严重故障因素。

  • 隐含定位。任何被检测到的故障通常是在故障节点内部自行检测到的,因而其定位就在该故障区域内。

  • 隔离和恢复在本质上是同一步骤。用备份代替故障节点,将故障节点隔离,同时系统恢复正常工作。

组件系统本质上是从故障检测转变为故障恢复,因为定位和隔离为系统结构的固有部分,检测和隔离恢复在系统内自动完成。而故障恢复处理的复杂程度与系统运行的特定应用是相关的。

系统恢复以后的处理是离线处理过程。修理人员可以将整个节点内的器件全部代换,或者进一步诊断从而找出节点内部的坏元件予以代换。这个诊断过程是在一个完整的离线系统上进行。一个基于节点的系统在这个过程中相对不易发生失误。

高强度的故障管理

在一个具有2N配置的系统中,成本是个重要问题,器件为N+1备份。这需要一个具有复杂处理过程的高强度故障管理。

在这些系统中,故障检测总是一样的。它通过系统中的每一部分来实现,而且越快越好。通过在线诊断来实现故障定位。这种诊断不能影响系统的正常运行,要保证系统尽可能多的部件正常运行,以防止整个系统的瘫痪。

在一个运行中的系统实现故障定位很复杂。不可能总是能精确地实现故障定位,通常的定位准确度为95%。

隔离是很关键的步骤。系统的架构要允许对单个可置换单元(FRU)隔离。在一个N+1系统里,存在的失效元件不能影响恢复后的系统保持正常运行。

有两个因素使系统恢复复杂化,第一个是采用节点方式。每个节点有精确的定位,这掩盖了系统的复杂性。在N+1系统中器件存在依赖关系。当一个器件经核实为损坏器件,任何与该器件相关的其它器件也要加以恢复。这种拓扑管理成为恢复系统的一个关键的步骤。

N+1系统恢复的另外一个难点是将故障封闭在一定范围内。一个损坏器件可能让其它的器件表现为损坏状态,故障器件经识别后,所有其它的错误状态也要加以纠正。

系统故障报告内容取决于不同的应用。如果系统采用FRU,则要输出一个详细恢复处理方法的指导。报告内容对于维修很关键,技术人员在对运行中的系统进行修复时,正确定位需要替换的FRU很重要。对于这样的系统,技术人员的错误操作也可能导致服务的中断。清晰的报告机制可以减少造成这种错误的可能。

对运行中的系统进行维修要求某种形式的“热拔插”。系统必须能支持这种操作。另外这些FRU之间在结构上相互不能影响,处理一个器件处理时不要移动其它的器件。

高可用性相关规范

第一个提出系统可用性问题的组织之一是外围器件接口(PCI)特别兴趣小组(SIG)。它提出在许多应用中PCI 器件的“热拔插”标准。这种热拔插功能允许对工作中的系统进行维修或重配置而无需从系统上取下来。

智能平台管理接口(IPMI)提供一个对系统器件进行管理和检测的标准化结构。系统管理是故障管理程序的一个重要部分。

另一个从事高可用性系统研究的组织是PCI工业计算机生产商组织(PICMG)。CPCI规格包括热拔插规范和IPMI系统管理的实例,另外一个关于PCI冗余的规范也在制定中。CPCI比PCI的维修更方便。

PCI和CPCI的形状因子为实现高可用性提供了一些基本的特性,采用这些形状因子的一些基本的结构,实现高可用性系统就变成向系统提供足够的冗余度并提供用于故障管理的必要软件。故障管理软件与硬件结构一样重要,软件部分将在下一期讨论。

作者介绍:

Chuck Hill是摩托罗拉计算机公司电信事业部的系统工程师,在容错和高可用性系统开发方面有六年的经验,他还参与PICMG协会热热拔插分会和冗余系统分会的工作。


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

2025中国智能制造发展论坛报名邀请函
2025中国智能制造发展论坛报名邀请函

6月4日,2025中国智能制造发展论坛聚焦“数智创新赋能产业升级”与“绿色低碳构建可持续生态”双核议题,汇聚政府机构、全

在线会议
热门标签

社区