配色: 字号:
容错技术
2014-08-25 | 阅:  转:  |  分享 
  
容错技术



目录

[隐藏]

1容错技术概况

2正文

2.1自检技术

2.2冗余技术

3应用

4包含技术

5容错技术的历史

6容错技术的发展趋势

7容错技术研究

7.1参考文献

8参考书目



容错技术-容错技术概况

容错技术

定义:容错就是当由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行的一种技术。

容错FT(FaultTolerant)技术一般利用冗余硬件交叉检测操作结果。随着处理器速度的加快和价格的下跌而越来越多地转移到软件中。未来容错技术将完全在软件环境下完成,那时它和高可用性技术之间的差别也就随之消失了。局域网的核心设备是服务器。用户不断从文件服务器中大量存取数据,文件服务器集中管理系统共享资源。但是如果文件服务器或文件服务器的硬盘出现故障,数据就会丢失,所以,我们在这里讲解的容错技术是针对服务器、服务器硬盘和供电系统的。

容错技术-正文



保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。系统的故障可分为两类:一类是“致命的”,不可能自行修复,例如系统的主要部件全部损坏;另一类是局部的,可能被修复,例如部分元件失效、线路故障、偶然干扰引起的差错等。容错技术正是用于构造一种能够自动排除非致命性故障的系统,即容错系统。生物体是高度完善的容错系统。例如人脑的细胞总数为1010个,平均每小时死亡约1000个,一生中死亡约109个,但人的神经系统却能正常工作,而且思维能力不断提高,可靠性日益增大。20世纪50年代中期,J.von诺伊曼提出容错技术中的复合冗余方法。他应用概率论证明了,可以用不甚可靠的器件堆成一个可靠的具有相同功能的组件。同期又出现了莫尔-香农冗余方法。这些研究奠定了容错系统理论的基础。在容错技术中,提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错、全线容错等。

自检技术

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

冗余技术

容错技术

冗余可分为硬件冗余(增加硬件)、软件冗余(增加程序,如同时采用不同算法或不同人编制的程序)、时间冗余(如指令重复执行、程序重复执行)、信息冗余(如增加数据位)等。冗余技术中最常用的两种方法是重复线路和备份线路。重复线路指用多个相同品种和规格的元件或组件并联起来,当作一个元件或组件使用,只要有一个不出故障系统就能够正常工作。在并联工作时每一个组件的可靠性概率是互相独立的。备份线路与重复线路的差别是参加备份的组件并不接入系统,只有在处于工作状态的组件发生故障后才把输入和输出接到备份组件上来,同时切断故障组件的输入输出。系统具有自动发现故障的能力和自动转接的设备。若系统的某一组件发生故障使系统出现错误输出,该输出又使重复线路的共同输出产生错误,则并联方式反而降低可靠性。此时可采用备份线路或采用其他规则,例如复合冗余方法和莫尔-香农冗余方法,把组件组合起来,仍能有效地提高系统可靠性。用复合冗余方法构成的复合线路就是由包含多个谢弗门(输入端带有反相器的或门)的随机重复线路的串连。这种方法对可靠性的计算基于元件出错概率服从高斯分布的假定。莫尔-香农冗余方法则用另一种方式组合继电器,用组合概率的方法分析可靠性。两种方法都可以构成同样可靠的线路。当对系统可靠性要求并不十分高而元件可靠性又比较高时,莫尔-香农方法所用元件数比复合冗余方法少很多。当要求系统可靠性很高时,复合冗余方法又较优越。冗余方法提高可靠性的代价是增加了硬件费用。特别是复合冗余方法需要复合成千上万次,例如针对人脑神经系统的计算表明需要用66000个细胞复合代替一个细胞,才能保证不发生误差的间隔为10000年。随着大规模集成电路的发展,这种设计思想的实际应用已逐步成为可能。而大量采用重复电路和备份电路则早已成为提高可靠性的切实可行的有效方法。对于一定数量的备份元件,使系统可靠性最高的元件组合方式称为最优冗余结构。例如,当元件失效率与所受负荷成正比或有更强的依从关系时,把全部备份元件同时接入工作比当工作元件失效后再依次代换工作的方式可靠性高。[1]

容错技术-应用

容错技术

容错技术已获得广泛应用,常用于对可靠性要求高的系统,特别是用于危及人身安全的关键部位。在这些部位大多采用双重冗余,也有采用三重、四重甚至五重冗余的。现代的大型复杂系统常常是容错能力很强的系统。例如苏联“联盟”ΤМ型载人飞船使用了三重冗余的主电气系统以及双重冗余的气动液压管路和生命保障系统。容错技术在计算机中应用得最早和最广泛。50年代初捷克斯洛伐克制造了世界上第一台容错计算机SAPO。60年代美国开始大力研制用于控制航天器发射和飞行的容错计算机。

容错技术-包含技术

1、双重文件分配表和目录表技术硬盘上的文件分配表和目录表存放着文件在硬盘上的位置和文件大小等信息,如果它们出现故障,数据就会丢失或误存到其他文件中。通过提供两份同样的文件分配表和目录表,把它们存放在不同的位置,一旦某份出现故障,系统将做出提示,从而达到容错的目的。2、快速磁盘检修技术这种方法是在把数据写入硬盘后,马上从硬盘中把刚写入的数据读出来与内存中的原始数据进行比较。如果出现错误,则利用在硬盘内开设的一个被称为“热定位重定区”的区,将硬盘坏区记录下来,并将已确定的在坏区中的数据用原始数据写入热定位重定区上。3、磁盘镜像技术磁盘镜像是在同一存储通道上装有成对的两个磁盘驱动器,分别驱动原盘和副盘,两个盘串行交替工作,当原盘发生故障时,副盘仍旧正常工作,从而保证了数据的正确性。4、双工磁盘技术它是在网络系统上建立起两套同样的且同步工作的文件服务器,如果其中一个出现故障,另一个将立即自动投入系统,接替发生故障的文件服务器的全部工作。5、网络操作系统具有完备的事务跟踪系统这是针对数据库和多用户软件的需要而设计的,用以保证数据库和多用户应用软件在全部处理工作还没有结束时或工作站或服务器发生突然损坏的情况下,能够保持数据的一致。其工作方式是:对指定的事务(操作)要么一次完成,要么什么操作也不进行。6、UPS监控系统UPS监控系统用于监控网络设备的供电系统,以防止供电系统电压波动或中断。

在工作中,我们选取的容错技术应根据实际情况而定(如资金,规模等)。

容错技术-容错技术的历史

容错技术

上世纪80年代,第一代容错技术就开始进入商用领域。美国Stratus(容错公司)在Stratus独特的硬件级容错技术及VOS专有操作系统环境下,采用了MotorolaM68000处理器。1993年,英特尔I860处理器在Stratus的硬件级容错体系结构中成功应用,在软件环境方面,还能满足业界对开放性要求的Unix操作系统FTX,即AT&TUNIXSVR4。1996年,容错技术得到HP的支持,共同推出StratusContinuum系列,将Stratus容错结构结合HPPA-RISC对称多处理技术。进入21世纪以来,制造、中小企业、能源、交通等领域对服务器,特别是中低端IA服务器的需求激增,过去仅仅可以应用在RISC平台、HP-UX环境下的容错产品也面临着新的挑战。另一方面,企业越来越依赖信息系统来完成关键业务的应用,同时他们不可能配备更多的专业人员来进行专职维护。双机热备、集群服务器遇到难题。如今:NEC通过与美国容错公司多年的合作,于2001年推出了业界第一台基于IA架构、支持MicrosoftWin-dowsServer2000标准操作系统环境的容错服务器。NEC的Express5800/ft系列在Windows及Linux平台上的可靠性达到了99.999%,这种实时保护技术来源于STRATUS连续处理技术(FundamentalsofContinuousPro-cessingDesign),它包括:1、LOCKSTEP技术LOCKSTEP技术使用相同的、冗余的硬件组件在同一时间内处理相同的指令。LOCKSTEP技术可以保持多个CPU、内存精确的同步,在正确的相同时钟周期内执行相同的指令。该技术保证能够发现任何错误,即使短暂的错误,系统也能在不间断处理和不损失数据的情况下恢复正常运行。2、安全故障(FailSafe)软件FAILSAFE软件和LOCKSTEP技术运行一样,可防止很多软件错误和储运耗损。该软件在Windows2000/2003环境下采用热插拔、内存镜像、负载均衡、多点终止失效、多通道I/O等方式,大大增强了系统连续运行的稳定性。

FAILSAFE可以管理和诊断特征捕获,分析和通报服务器的软件问题,从而允许个人在软件发生错误之前去纠正错误。FAILSAFE软件的下列功能增强了NECExpress5800/ft系统在Windows环境中的可靠性:保护短暂的硬件故障;通过增强的驱动程序预防软件失效;软件问题的捕获、分析及修正;内存数据的连续性维持;丰富的纠错功能可以解决各种不同的错误。为了避免物理撞击等意外故障,安全故障软件还提供了自动重启功能,能够将宕机前CPU与内存数据即时保存下来,最大限度地避免数据的意外丢失。3、激活服务(ACTIVESERVICE)当然,假如容错服务器的硬件发生永久性故障,尽管系统能够正常运行,也必须及时更换硬件才能维持容错的冗余架构。容错服务器都配备了简易直观的图形界面来管理监测工具,(如NECExpress5800/ft提供了ESMPRO管理软件),能够对服务器中硬件运行及故障状态进行适时监控。

容错技术-容错技术的发展趋势

容错技术的应用已经开始从过去的证券、电信等领域进入基础行业,如制造、能源、物流、交通及有着"7×24"不间断运营需求的中小商业团体和政府。NEC为迎合互联网的高速增长,为容错服务器引入了最新的稳定、安全、可升级、功能强大的Linux版本。

容错的未来将会向更高的可用性、更卓越的可维护性发展。调查显示,越来越多的用户开始注重TCO(总拥有成本)而不是初期购买价格,更多的企业决定逐步放弃采用双机热备的方式来维护复杂的集群服务器,转而将目光瞄向具有容错技术的平台或容错服务器平台。

在中国市场,NEC公司与神州数码的合作在一定程度上弥补了容错服务器在中国市场服务拓展领域的短板。这将引发国内各领域的容错技术与应用的井喷式发展。[2]

容错技术-容错技术研究

随着现代工业技术的发展和计算机的普及,工业设备运行的安全性和可靠性越来越引起人们的重视,为了保证其安全、高效和可靠地运行,必须采用与之相适应的管理模式,容错技术为计算机系统提供了这样的能力:当计算机内部出现故障的情况下,计算机系统仍能正确工作。计算机容错技术是计算机系统可靠性提高的重要手段。当系统内部有故障存在时,通过容错技术消除故障的影响,使系统最终仍能给出正确的结果。按照时间划分,故障可分为以下三种:永久性故障、间歇性故障和偶然性故障。永久故障是永远持续下去直至修复为止的故障。对硬件来说,永久性故障意味着不可逆的物理变异。对软件来说,这类故障也就是一个不可以自动恢复的错误状态。间歇性故障是短暂的,但却是断续的,它既有偶然性,又有不定期的重复性。如一个处于临界状态的电路输出时好时坏,而一个虚焊点就会引起这样的故障。偶然性故障出现是短暂的,且可能是非重复性的。常常由于环境的变换、电源方面的干扰、元器件性能的波动、软件的随机变换、电磁干扰等因素而引起。这样的故障有可能仅出现一次,或很长时间出现一次,但却可能造成数据错误,甚至系统瘫痪。针对不同故障应采取不同的容错方法。容错技术能自动适时地检测并诊断出系统的故障,然后采取对故障的控制或处理的对策略。按照系统的失效响应阶段,可以把各种容错技术分成三种:故障检查、静态冗余、动态冗余。故障检测并不提供对故障的容忍,而是发生故障时给出一个警告。故障检测广泛应用于微型机和小型机之类的小系统中,其中一些已体现了简单的联机检测机理。严格地说,故障检测不是容错,它尽管检测了故障,但是不能容忍这些故障,不给出故障警告。动态冗余用于纠错码存储器或具有固定配置(即线路器件之间的逻辑连接保持不变)的多数表决冗余计算机之类的系统中。根据不同情况,一个容错系统可经历以下阶段:(1)故障检测:大多数失效最终导致产生逻辑故障。有许多方法可用来检测逻辑故障,如奇偶校验、一致性校验和协议违章都可以用来检测故障。故障检测技术有两个主要的类别,即脱机检测和联机检测,在脱机检测情况下,进行检测时设备不能进行有用的工作;联机检测提供了实时检测能力,因为联机检测与有用的工作同时执行。联机检测技术包括奇偶校验和冗余校验;(2)故障限制:当故障出现时,希望限制其影响范围。故障限制是把故障效应的传播限制到一个区域内,从而防止污染其他区域;(3)故障屏蔽:故障屏蔽技术把失效效应掩盖了起来,从某种意义上说,是冗余信息战胜了错误信息,多数表决冗余设计就属于故障屏蔽;(4)重试:在许多场合,对一个操作系统的第二次试验可能是成功的,对不引起物理破坏的瞬间故障尤其如此;(5)诊断:对故障检测技术没有提供有关故障位置、性质的信息进行诊断;(6)重组:当检测出一个故障并判明是永久性故障时,重组系统的器件替换失效的器件或把失效的器件与系统的其他部分隔离开来,也可使用冗余系统,确保系统能力不降低;(7)恢复:经检测和重组后,必须消除错误效应。通常,系统会回到故障检测前处理过程的某一点,并从这一点重新开始操作。这种恢复形式通常要后备文件、校验点和应用记录方法;(8)重启动:如果一个错误破坏的信息太多,或者系统没有设计恢复功能,那么恢复就不可能实现。仅当系统未受任何破坏时,才能进行“热”重启,并从故障检测点恢复所有的操作。“热”重启相当于系统需要完全重新加载;(9)修复:即把诊断为故障的器件还原下来,修复也可以是联机进行的或者脱机进行的;(10)重构:对元件进行物理替换之后,把修复的模块重新加入到该系统中去。对联机修复来说,实现重构不中断系统的工作。随着计算机硬件和网路的快速发展,容错计算机的系统开销逐渐降低,且纠错速度快。而软件方法实现的容错,对硬件不会提过高的要求。同时系统灵活,资源利用比较合理。更正检测、诊断将会采取人工智能的处理途径,以专家系统的各种智能工具来支持故障检测和诊断。利用专家的知识,借助推理机构,迅速而准确地提供诊断结果。系统的动态重构、故障恢复功能及神经元芯片等将被用到容错技术中来,都将在智能化的支持下得以实现。同时对电路内部的自检、自重构研究,可以解决电路本身及子系统的可靠性问题,将会出现容错的VLS1芯片及可直接支持系统容错设计的可容错设计芯片,为系统设计者提供一个具有透明性的容错设计元器件。进入到芯片内部的容错技术的研究将成为容错研究的一大分支。随着网路时代的到来,对于一个成功的电子商务系统来说,必须响应在线客户的需求并遵守服务的那个协议(SLA),同时保护客户的隐私及电子商务系统安全正常运营。对于客户要求的响应程度及安全保护措施是一个基于Internet的电子商务系统成功的必要条件,容错服务器就成为网络时代电子商务运营商首要选择。未来的智能化家庭都将拥有一个家庭数据中心,可提供全天候的服务,包括家庭安全、防盗和防煤气泄漏以及各种家用电器的控制,这个家庭数据中心也只有采用容错计算机才能担当。今后容错技术将同时在软件和硬件上得到发展,将会出现初级的容错软件的设计方法,应用软件方面的容错设计将会产生一些实用的工具,同时产生一个通用操作系统和硬件相结合的容错方法,走软硬结合的道路。系统容错设计将在分布式系统、CSCW等方面出现新的容错设计方法。

容错技术研究

参考文献

[1]胡谋.计算机容错技术[M].北京:中国铁道出版社.[2]杨孝宗.容错计算技术的提出和发展[J].电子和信息化.[3]刘云龙,陈俊亮.基于数据流分析的软件容错策略[J].软件学报.[4]FlaviuChristian,UnderstandingFault-TolerantDistributedSystems[J].CommunicantionsofACM.[3]

容错技术-参考书目



容错技术

钱学森、宋健著:《工程控制论》,科学出版社,北京,1983。



献花(0)
+1
(本文系s_sonia首藏)