容错系统的概念

作者:bookee 来源:希赛博客 http://www.csai.cn 2006年5月26日

 

  容错是用冗余的资源使计算机具有容忍故障的能力,即在产生故障的情况下,仍有能力将指定的算法继续完成。

  容错的基本思想首先来自于硬件容错,1950-1970年,硬件容错在理论和应用上都有重大的发展,目前已成为一种成熟的技术并应用到实际系统中,如双CPU,双电源等,军事上出现了容错计算机;软件容错的基本思想是从硬件容错中引伸过来的,70年代中期开始认识到软件容错的潜在作用;数据容错的策略即数据备份;网络容错将硬件容错和软件容错两方面的技术融合在一起并有新的发展。

  容错技术是指在一定程度上容忍故障的技术,也称为故障掩盖技术(fault masking)。采用容错技术的系统称容错系统。

  容错主要依靠冗余设计来实现,它以增加资源的办法换取可靠性。由于资源的不同,冗余技术分为硬件冗余、软件冗余、时间冗余和信息冗余。

  硬件冗余是通过硬件的重复使用来获得容错能力。

  软件冗余的基本思想是用多个不同软件执行同一功能,利用软件设计差异来实现容错。

  信息冗余是利用在数据中外加的一部分信息位来检测或纠正信息在运算或传输中的错误而达到容错。在通信和计算机系统中,常用的可靠性编码包括:奇偶校验码、循环冗余码CRC、汉明码等。

  时间冗余是通过消耗时间资源来实现容错,其基本思想是重复运算以检测故障。按照重复运算是在指令级还是程序级分为指令复执程序复算。指令复执当指令执行的结果送到目的地址中,如果这时有错误恢复请求信号,则重新执行该指令。程序复算常用程序滚回技术。例如将机器运行的某一时刻称作检查点,此时检查系统运行的状态是否正确,不论正确与否,都将这一状态存储起来,一旦发现运行故障,就返回到最近一次正确的检查点重新运行。

  冗余设计可以是元器件级的冗余设计,也可以是部件级的、分系统级的、或系统级的冗余设计。冗余要消耗资源,应当在可靠性与资源消耗之间进行权衡和折衷。

  容错系统工作过程包括自动侦测、自动切换、自动恢复。

(1)自动侦测(Auto-Detect)

  运行中自动地通过专用的冗余侦测线路和软件判断系统运行情况,检测冗余系统各冗余单元是否存在故障(包括硬件单元或软件单元),发现可能的错误和故障,进行判断与分析。确认主机出错后,启动后备系统。

  侦测程序需要检查主机硬件(处理器与外设部件)、主机网络、操作系统、数据库、重要应用程序、外部存储子系统(如磁盘阵列)等。

  为了保证侦测的正确性,防止错误判断,系统可以设置安全侦测时间、侦测时间间隔、侦测次数等安全系数,通过冗余通信连线,收集并记录这些数据,作出分析处理。

  数据可信是切换的基础。

(2)自动切换(Auto-Switch)

  当确认某一主机出错时,正常主机除了保证自身原来的任务继续运行外,将根据各种不同的容错后备模式,接管预先设定的后备作业程序,进行后续程序及服务。

  系统的接管工作包括文件系统、数据库、系统环境(操作系统平台)、网络地址和应用程序等。

  如果不能确定系统出错,容错监控中心通过与管理者交互,进行有效的处理,决定切换基础、条件、时延、断点。

(3)自动恢复(Auto-Recovery)

  故障主机被替换后,进行故障隔离,离线进行故障修复。修复后通过冗余通信线与正常主机连线,继而将原来的工作程序和磁盘上的数据自动切换回修复完成的主机上。这个自动完成的恢复过程用户可以预先设置,也可以设置为半自动或不恢复。

  例如网络容错。电话线作为数据专线的备份,服务器采用双机磁盘镜像、双网卡方式实现双网络备份。应用具有容错功能的网络设备,如3COM的交换机,CISCO的路由器,MOTORLA的调制解调器等都具有容错功能。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值