提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术;另一种是容错技术,即对某些无法避开的差错,使其影响减至最少的技术。但是,无论使用多么高明的避开错误技术,在理论上都无法证明程序的正确性,无法做到完美无缺和绝无错误,这就需要采用容错技术以使错误发生时不影响系统的特性,或使错误发生时对用户的影响限制在某些允许的范围内。
如何实现磁盘容错技术
这个不难,主要有两个办法
第一个方案:花钱,买个RAID卡,常用的有两种,一种是DAID1卡(适合两个磁盘之间传输数据)和DAID5(适合3个或以上的磁盘之间传输数据)均有极强的容错能力
1.RAID1卡特点,使传输数据的两个磁盘(主盘和镜像盘)的利用率降至50%,安全指数高,传输速度一般。现在很少有人用这种卡,比较难买,一个大概100多RMB,以前插在IDE插槽的,现在可以把它插在PCI插槽上
2.使用方法,插好后,具体步骤如下
1.开机按DEL键,进入BIOS
2.进入HighPoint 370 BIOS后选择“Create RAID”进行创建:
3.在“Array Mode”上点击回车,在RAID模式选择中选择第二项“Mirror(RAID 1)for Data Security(为数据源盘创建镜像)”。
4.接着是源盘的选择,我们再次提醒用户:务必小心,不要选错。
5.然后是目标盘的选择,也就是我们所说的镜像盘或备份盘。
6.然后开始创建。
7.创建完成以后BIOS会提示进行镜像的制作,这一过程相当漫长。
8.我们用了大约45分钟才完成60GB的镜像制作,至此RAID 1创建完成
9.主板可能发出警报,按下BSC即可
3.RAID5不太清楚,可能插上就能用吧
第二个方案,免费,下载一个RAID仿真软件,很麻烦,也不太可靠
什么是服务器的容错技术?
容错技术是一个大的概念,广义上说,就是系统对错误的容忍能力。以服务器为例,当服务器出现故障的时候,如何确保系统不中断。需要注意的是,导致系统中断的因素有很多,不仅仅是服务器的故障,软件错误,或者外界突发因素都可以导致系统故障。系统故障有两种情况,一个是系统瘫痪了,业务中断。这种故障容易察觉,此外,还有另外一种故障,就是受外界影响,服务器的计算结果产生错误,这种情况下,系统不会瘫痪,但会产生错误的计算结果,这种故障不容易察觉,但危害也更加巨大。即所谓可信计算的问题。
解决系统容错的问题,有两种主要的技术,一种容错服务器,另外一种是集群(或者双机)。都是为了避免服务器硬件故障对系统产生的影响。前者较之后者有更高的可靠性,或者更加经济。除了硬件错误之外,软件问题、病毒等问题,只有通过升级、打补丁来解决。
冗余 和 容错 的区别
冗余:
定义:指重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间。通常指通过多重备份来增加系统的可靠性
常见冗余系统配件有:
电源:高端服务器产品中普通采用双电源系统,这两个电源是负载均衡的,即在系统工作时它们都为系统提供电力,当一个电源出现故障时,另一个电源就承担所有的负载。有些服务器系统实现了DC的冗余,另一些服务器产品如 Micron公司的NetFRAME 9000实现了AC、DC的全冗余。
存储子系统:存储子系统是整个服务器系统中最容易发生故障的地方。以下几种方法可以实现该系统的冗余。
磁盘镜像:将相同的数据分别写入两个磁盘中:
磁盘双联:为镜像磁盘增加了一个I/O控制器,就形成了磁盘双联,使总线争用情况得到改善;
RAID:廉价冗余磁盘阵列(Redundant array of inexpensive disks)的缩写。顾名思义,它由几个磁盘组成,通过一个控制器协调运动机制使单个数据流依次写入这几个磁盘中。RAID3系统由5个磁盘构成,其中4 个磁盘存储数据,1个磁盘存储校验信息。如果一个磁盘发生故障,可以在线更换故障盘,并通过另3个磁盘和校验盘重新创建新盘上的数据。RAID5将校验信息分布在5个磁盘上,这样可更换任一磁盘,其余与RAID3相同。
I/O卡:对服务器来说,主要指网卡和硬盘控制卡的冗余。网卡冗余是在服务器中插上双网卡。冗余网卡技术原为大型机及中型机上的技术,现在也逐渐被PC服务器所拥有。PC服务器如 Micron公司的NetFRAME9200最多实现4个网卡的冗余,这4个网卡各承担25%的网络流量。康柏公司的所有 ProSignia/Proliant服务器都具有容错冗余双网卡。
PCI总线:代表Micron公司最高技术水平的产品NetFRAME 9200采用三重对等PCI技术,优化PCI总线的带宽,提升硬盘、网卡等高速设备的数据传输速度。
CPU:系统中主处理器并不会经常出现故障,但对称多处理器(SMP)能让多个CPU分担工作以提供某种程度的容错。
容错:
容错是用冗余的资源使计算机具有容忍故障的能力,即在产生故障的情况下,仍有能力将指定的算法继续完成。
容错的基本思想首先来自于硬件容错,1950-1970年,硬件容错在理论和应用上都有重大的发展,目前已成为一种成熟的技术并应用到实际系统中,如双CPU,双电源等,军事上出现了容错计算机;软件容错的基本思想是从硬件容错中引伸过来的,70年代中期开始认识到软件容错的潜在作用;数据容错的策略即数据备份;网络容错将硬件容错和软件容错两方面的技术融合在一起并有新的发展。
容错技术是指在一定程度上容忍故障的技术,也称为故障掩盖技术(fault masking)。采用容错技术的系统称容错系统。
容错主要依靠冗余设计来实现,它以增加资源的办法换取可靠性。由于资源的不同,冗余技术分为硬件冗余、软件冗余、时间冗余和信息冗余。
硬件冗余是通过硬件的重复使用来获得容错能力。
软件冗余的基本思想是用多个不同软件执行同一功能,利用软件设计差异来实现容错。
信息冗余是利用在数据中外加的一部分信息位来检测或纠正信息在运算或传输中的错误而达到容错。在通信和计算机系统中,常用的可靠性编码包括:奇偶校验码、循环冗余码CRC、汉明码等。
时间冗余是通过消耗时间资源来实现容错,其基本思想是重复运算以检测故障。按照重复运算是在指令级还是程序级分为指令复执程序复算。指令复执当指令执行的结果送到目的地址中,如果这时有错误恢复请求信号,则重新执行该指令。程序复算常用程序滚回技术。例如将机器运行的某一时刻称作检查点,此时检查系统运行的状态是否正确,不论正确与否,都将这一状态存储起来,一旦发现运行故障,就返回到最近一次正确的检查点重新运行。
冗余设计可以是元器件级的冗余设计,也可以是部件级的、分系统级的、或系统级的冗余设计。冗余要消耗资源,应当在可靠性与资源消耗之间进行权衡和折衷。
容错系统工作过程包括自动侦测、自动切换、自动恢复。
(1)自动侦测(Auto-Detect)
运行中自动地通过专用的冗余侦测线路和软件判断系统运行情况,检测冗余系统各冗余单元是否存在故障(包括硬件单元或软件单元),发现可能的错误和故障,进行判断与分析。确认主机出错后,启动后备系统。
侦测程序需要检查主机硬件(处理器与外设部件)、主机网络、操作系统、数据库、重要应用程序、外部存储子系统(如磁盘阵列)等。
为了保证侦测的正确性,防止错误判断,系统可以设置安全侦测时间、侦测时间间隔、侦测次数等安全系数,通过冗余通信连线,收集并记录这些数据,作出分析处理。
数据可信是切换的基础。
(2)自动切换(Auto-Switch)
当确认某一主机出错时,正常主机除了保证自身原来的任务继续运行外,将根据各种不同的容错后备模式,接管预先设定的后备作业程序,进行后续程序及服务。
系统的接管工作包括文件系统、数据库、系统环境(操作系统平台)、网络地址和应用程序等。
如果不能确定系统出错,容错监控中心通过与管理者交互,进行有效的处理,决定切换基础、条件、时延、断点。
(3)自动恢复(Auto-Recovery)
故障主机被替换后,进行故障隔离,离线进行故障修复。修复后通过冗余通信线与正常主机连线,继而将原来的工作程序和磁盘上的数据自动切换回修复完成的主机上。这个自动完成的恢复过程用户可以预先设置,也可以设置为半自动或不恢复。
例如网络容错。电话线作为数据专线的备份,服务器采用双机磁盘镜像、双网卡方式实现双网络备份。应用具有容错功能的网络设备,如3COM的交换机,CISCO的路由器,MOTORLA的调制解调器等都具有容错功能。
容错软件的定义
容错软件的定义:
1。对自身的错误的作用具有屏蔽作用
2。可以从错误状态恢复到正常状态
3。发生错误时,能完成预期的功能
4。在一定程度上具有容错能力
实现容错技术主要是冗余:
1。结构冗余
2。信息冗余
3。时间冗余
4。冗余附加技术
世纪80年代,第一代容错技术就开始进入商用领域。美国Stratus(容错公司)在Stratus独特的硬件级容错技术及VOS专有操作系统环境下,采用了Motorola M68000处理器。
1993年,Intel I860处理器在Stratus的硬件级容错体系结构中成功应用,在软件环境方面,还能满足业界对开放性要求的Unix操作系统FTX,即AT&T UNIX SVR4。
1996年,容错技术得到HP的支持,共同推出Stratus Continuum系列,将Stratus容错结构结合HP PA-RISC对称多处理技术。
进入21世纪以来,制造、中小企业、能源、交通等领域对服务器,特别是中低端IA服务器的需求激增,过去仅仅可以应用在RISC平台、HP-UX环境下的容错产品也面临着新的挑战。另一方面,企业越来越依赖信息系统来完成关键业务的应用,同时他们不可能配备更多的专业人员来进行专职维护。双机热备、集群服务器遇到难题。
如今:NEC通过与美国容错公司多年的合作,于2001年推出了业界第一台基于IA架构、支持Microsoft Win-dows Server 2000标准操作系统环境的容错服务器。NEC的Express5800/ft系列在Windows及Linux平台上的可靠性达到了99.999%,这种实时保护技术来源于STRATUS连续处理技术(Fundamentals of Continuous Pro-cessing Design),它包括:
1、LOCKSTEP 技术
LOCKSTEP技术使用相同的、冗余的硬件组件在同一时间内处理相同的指令。LOCKSTEP技术可以保持多个CPU、内存精确的同步,在正确的相同时钟周期内执行相同的指令。该技术保证能够发现任何错误,即使短暂的错误,系统也能在不间断处理和不损失数据的情况下恢复正常运行。
2、安全故障(FAILSAFE)软件
FAILSAFE 软件和LOCKSTEP技术运行一样,可防止很多软件错误和储运耗损。该软件在Windows 2000/2003环境下采用热插拔、内存镜像、负载均衡、多点终止失效、多通道I/O等方式,大大增强了系统连续运行的稳定性。
FAILSAFE可以管理和诊断特征捕获,分析和通报服务器的软件问题,从而允许个人在软件发生错误之前去纠正错误。FAILSAFE软件的下列功能增强了NEC Express5800/ft系统在Windows环境中的可靠性:保护短暂的硬件故障;通过增强的驱动程序预防软件失效;软件问题的捕获、分析及修正;内存数据的连续性维持;丰富的纠错功能可以解决各种不同的错误。为了避免物理撞击等意外故障,安全故障软件还提供了自动重启功能,能够将宕机前CPU与内存数据即时保存下来,最大限度地避免数据的意外丢失。
3、激活服务(ACTIVE SERVICE )
当然,假如容错服务器的硬件发生永久性故障,尽管系统能够正常运行,也必须及时更换硬件才能维持容错的冗余架构。容错服务器都配备了简易直观的图形界面来管理监测工具,(如NECExpress5800/ft提供了ESMPRO 管理软件),能够对服务器中硬件运行及故障状态进行适时监控。
未来
容错技术的应用已经开始从过去的证券、电信等领域进入基础行业,如制造、能源、物流、交通及有着"7×24"不间断运营需求的中小商业团体和政府。NEC为迎合互联网的高速增长,为容错服务器引入了最新的稳定、安全、可升级、功能强大的Linux版本。
容错的未来将会向更高的可用性、更卓越的可维护性发展。调查显示,越来越多的用户开始注重TCO(总拥有成本)而不是初期购买价格,更多的企业决定逐步放弃采用双机热备的方式来维护复杂的集群服务器,转而将目光瞄向具有容错技术的平台或容错服务器平台。
在中国市场,NEC 公司与神州数码的合作在一定程度上弥补了容错服务器在中国市场服务拓展领域的短板。这将引发国内各领域的容错技术与应用的井喷式发展。
转载请注明出处51数据库 » 软件容错技术 发展软件容错技术的目的是什么
Vip丶冷咖啡