冗余:定义:指重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间。通常指通过多重备份来增加系统的可靠性。常见冗余系统配件有:
1、电源:高端服务器产品中普通采用双电源系统,这两个电源是负载均衡的,即在系统工作时它们都为系统提供电力,当一个电源出现故障时,另一个电源就承担所有的负载。有些服务器系统实现了DC的冗余,另一些服务器产品如 Micron公司的NetFRAME 9000实现了AC、DC的全冗余。
2、存储子系统:存储子系统是整个服务器系统中最容易发生故障的地方。以下几种方法可以实现该系统的冗余。
3、磁盘镜像:将相同的数据分别写入两个磁盘中。
4、磁盘双联:为镜像磁盘增加了一个I/O控制器,就形成了磁盘双联,使总线争用情况得到改善。
5、RAID:廉价冗余磁盘阵列(Redundant array of inexpensive disks)的缩写。顾名思义,它由几个磁盘组成,通过一个控制器协调运动机制使单个数据流依次写入这几个磁盘中。RAID3系统由5个磁盘构成,其中4 个磁盘存储数据,1个磁盘存储校验信息。如果一个磁盘发生故障,可以在线更换故障盘,并通过另3个磁盘和校验盘重新创建新盘上的数据。RAID5将校验信息分布在5个磁盘上,这样可更换任一磁盘,其余与RAID3相同。
6、I/O卡:对服务器来说,主要指网卡和硬盘控制卡的冗余。网卡冗余是在服务器中插上双网卡。冗余网卡技术原为大型机及中型机上的技术,现在也逐渐被PC服务器所拥有。PC服务器如 Micron公司的NetFRAME9200最多实现4个网卡的冗余,这4个网卡各承担25%的网络流量。康柏公司的所有 ProSignia/Proliant服务器都具有容错冗余双网卡。
7、PCI总线:代表Micron公司最高技术水平的产品NetFRAME 9200采用三重对等PCI技术,优化PCI总线的带宽,提升硬盘、网卡等高速设备的数据传输速度。
8、CPU:系统中主处理器并不会经常出现故障,但对称多处理器(SMP)能让多个CPU分担工作以提供某种程度的容错。 容错:定义:容错是用冗余的资源使计算机具有容忍故障的能力,即在产生故障的情况下,仍有能力将指定的算法继续完成。容错的基本思想首先来自于硬件容错,1950-1970年,硬件容错在理论和应用上都有重大的发展,目前已成为一种成熟的技术并应用到实际系统中,如双CPU,双电源等,军事上出现了容错计算机;软件容错的基本思想是从硬件容错中引伸过来的,70年代中期开始认识到软件容错的潜在作用;数据容错的策略即数据备份;网络容错将硬件容错和软件容错两方面的技术融合在一起并有新的发展。容错技术是指在一定程度上容忍故障的技术,也称为故障掩盖技术(fault masking)。采用容错技术的系统称容错系统。
容错系统:容错系统工作过程包括自动侦测、自动切换、自动恢复。(1)自动侦测(Auto-Detect)
1、运行中自动地通过专用的冗余侦测线路和软件判断系统运行情况,检测冗余系统各冗余单元是否存在故障(包括硬件单元或软件单元),发现可能的错误和故障,进行判断与分析。确认主机出错后,启动后备系统。
2、侦测程序需要检查主机硬件(处理器与外设部件)、主机网络、操作系统、数据库、重要应用程序、外部存储子系统(如磁盘阵列)等。
3、为了保证侦测的正确性,防止错误判断,系统可以设置安全侦测时间、侦测时间间隔、侦测次数等安全系数,通过冗余通信连线,收集并记录这些数据,作出分析处理。
4、数据可信是切换的基础。(2)自动切换(Auto-Switch)
1、当确认某一主机出错时,正常主机除了保证自身原来的任务继续运行外,将根据各种不同的容错后备模式,接管预先
2、定的后备作业程序,进行后续程序及服务。系统的接管工作包括文件系统、数据库、系统环境(操作系统平台)、网络地址和应用程序等。
3、如果不能确定系统出错,容错监控中心通过与管理者交互,进行有效的处理,决定切换基础、条件、时延、断点。(3)自动恢复(Auto-Recovery)
1、故障主机被替换后,进行故障隔离,离线进行故障修复。修复后通过冗余通信线与正常主机连线,继而将原来的工作程序和磁盘上的数据自动切换回修复完成的主机上。这个自动完成的恢复过程用户可以预先设置,也可以设置为半自动或不恢复。
2、例如网络容错。电话线作为数据专线的备份,服务器采用双机磁盘镜像、双网卡方式实现双网络备份。应用具有容错功能的网络设备,如3COM的交换机,CISCO的路由器,MOTORLA的调
3、制解调器等都具有容错功能。
容错主要依靠冗余设计来实现,它以增加资源的办法换取可靠性。冗余技术:由于资源的不同,冗余技术分为硬件冗余、软件冗余、时间冗余和信息冗余。1、硬件冗余是通过硬件的重复使用来获得容错能力。
2、软件冗余的基本思想是用多个不同软件执行同一功能,利用软件设计差异来实现容错。
3、信息冗余是利用在数据中外加的一部分信息位来检测或纠正信息在运算或传输中的错误而达到容错。在通信和计算机系统中,常用的可靠性编码包括:奇偶校验码、循环冗余码CRC、汉明码等。
4、时间冗余是通过消耗时间资源来实现容错,其基本思想是重复运算以检测故障。按照重复运算是在指令级还是程序级分为指令复执程序复算。指令复执当指令执行的结果送到目的地址中,如果这时有错误恢复请求信号,则重新执行该指令。程序复算常用程序滚回技术。例如将机器运行的某一时刻称作检查点,此时检查系统运行的状态是否正确,不论正确与否,都将这一状态存储起来,一旦发现运行故障,就返回到最近一次正确的检查点重新运行。冗余设计可以是元器件级的冗余设计,也可以是部件级的、分系统级的、或系统级的冗余设计。冗余要消耗资源,应当在可靠性与资源消耗之间进行权衡和折衷。