容错服务器同集群技术的比较-海得控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容错服务器同集群技术的比较
上海海得控制系统股份有限公司系统事业部
¾技术原理:
Stratus的容错服务器所采用专利的硬件Lockstep(锁步)技术,系统保持多CPU/内存单元在精确的同步状态——同一时钟周期执行相同的指令。
Lockstep能够确保包括瞬时错误在内的任何错误都不会影响到系统运行,系统可以在任何CPU/内存单元,或IO单元发生错误的情况下不丢失动态数据或状态,也不需产生中断进行错误处理。
因此容错服务器避免了一主一备的双机集群所产生的故障切换和恢复时间,以及该过程中和动态数据的丢失。
集群的这种切换由于是建立在软件的基础上,随着数据库越来越大,应用的复杂性,切换时间可以从几分钟甚至几十分钟,切换时间内的实时数据将随之无法重新采集,对外服务停止。
¾系统结构:
容错服务器采用的是部件级别的冗余,即主机内部有冗余的CPU部件和I/O部件,同时CPU部件和I/O部件交叉通讯(如图),用部件冗余的方式消除了系统内部包括CPU,内存、I/O控制设备以及硬盘(RAID1)甚至底板的单点故障。
而集群方案仅仅是系统级别(即服务器级别)的冗余,而且严格意义上必须配置两个镜像的外置磁盘阵列柜,才能真正意义从物理结构上消除系统和存储的单点故障,但整个系统依然在连接两台服务器的心跳线上存在切换的单点故障。
另外,这种物理上的系统级别冗余还必须依靠脚本程序的设计和集群的实施水平,容错服务器也避免了这种无法确定的人为因素。
¾系统可靠性:
容错的可靠性级别完全符合业界对容错服务器99.999%可靠性指标的要求,这种服务器可靠性指标要求系统包括操作系统之内的年平均计划外停机时间必须小于5分钟,而Stratus多年来的实测证明, Windows平台下的容错服务器甚至达到99.9997%的可靠性,平均每年非计划外的停机时间小于3分钟。
这种实测数据包括了操作系统和其他软件的因素,从某种程度上说明,Windows平台的容错服务器的可靠性甚至超过了任何UNIX操作系统平台下的服务器。
而且从业界对集群技术的可靠性指标分析来讲,集群的可靠性指标通常只能达到99.9%--99.99%,即集群只能保证系统的每年平均计划外停机时间在8小时到53分钟,而且无法对单个集群系统进行可靠性预测。
¾数据可靠性(内存动态数据):
同集群技术相比,容错服务器简化了整个系统的结构,在数据容量要求不高的情况下(400*3GB 以内),避免了使用集群技术所必须的外置式共享存储柜,减少了系统的故障点。
而且容错服务器在数据存储的设计上完全采用安全性最高的RAID 1镜像保护,在设计上只在数据写入硬盘之后,系统才认为完成一次真正的写操作,保证数据的完整性和安全性。
而采用具有高容量缓存的硬RAID的技术,一旦RAID卡出现故障,没有写入硬盘、驻留在缓存中的数据存在丢失的可能。
容错服务器独特的冗余硬
件结构不但保证磁盘静态数据的完整性,而且保证内存数据的完整性。
从而保证数据的完整一致性。
而集群一旦出现主机故障,其CPU、内存、缓存中的所有动态数据将无法复制到备机中,只能通过重新计算甚至花费大量时间来恢复。
Stratus采用ftMemory功能能保存系统崩溃和重启动前指定区域的内存数据,保证动态数据的完整性。
¾故障容忍范围:
计算机故障可以分为永久故障和瞬间故障,容错服务器无论对永久故障还是瞬间故障,都能利用内置的逻辑比较线路和原理,自动采取自我检测、故障定位和故障自动隔离来消除故障,而不停止对外的服务。
普通服务器没有容忍故障的功能,无论是永久故障还是瞬间故障都会对其造成致命的崩溃,而采用集群的方式,也只能治标不治本,它是放弃了对故障的避免设计,而采取故障后恢复的设计。
¾单软件映像:
容错服务器虽然是部件级冗余,系统内部有双重或者三重的冗余部件,但从软件角度上来看,它是单软件映像的,也就是说任何单机上开发的软件可以无缝移植到容错服务器上,而不需要进行任何代码修改和二次开发。
对用户来讲,容错服务器就如同在单机上配置一样简单,用户开发管理非常方便,只需要把在单机上经过开发和测试的软件,移植到容错服务器上就可以。
这种单软件映像,避免了集群系统上对软件做任何修改必须在两台服务器上作升级,也可能必须对集群软件进行脚本程序的重新编译,更重要的是必须经过多次不同模拟故障情况下的双机切换测试,而且这种故障模拟又是非常困难和难以周全的。
因此,容错服务器单软件映像不但节省了系统的软件购买成本,而且相比集群技术,大大降低了软件开发、升级所需要的无法估计的高成本。
容错服务器的单软件映像,不但简化系统的软件,提高软件的稳定性,而且使得系统的安装调试的时间大大降低,可以保证系统按时在最短的时间内投产;而一旦系统正常运行投入生产后,容错服务器又可以大大减少系统在软件升级或开发上所造成的计划停机时间。
¾操作系统可靠性:
Stratus ftServer利用其独特的冗余结构和容错技术,改进和完善了Windows操作系统的可靠性和稳定性,包括驱动程序的强化,在线转存功能,所有部件热插拔驱动功能,快速重启动功能等等。
¾热插拔功能:
容错计算机的重要部件是双份甚至三份冗余,并且是全双工同步运行,而且模块化设计。
这使得容错计算机的所有部件均具备热插拔的功能,从而轻易实现容错计算机的在线恢复和在线升级等操作。
换言之,我们对比普通服务器(即使在集群系统内的服务器也只是普通服务器),它们内部能够支持热插拔的部件只可能是冗余电源,硬盘,冗余风扇,有些可以在某些特定操作下对I/O板卡进行热插拔和热更换。
但容错服务器的容错技术,保证系统任何部件出现故障,均可以在线热插拔和热更换:CPU、内存、电源、风扇、硬盘、I/O设备控制卡、网卡、主板上任何元器件甚至底板本身,均可在线更换和升级,而且一旦更换或增加完毕,操作系统会自动加载这些部件板,而所有这些操作对用户是完全透明的,用户完全可以通过更换模块来简单操作并且不需要经过专门的技术培训。
值得特别提出的是,这种热插拔及在线升档是在运行系统的连续运行状态下进行的,对在用系统无任何影响。
而集群结构的服务器通常在出现任何电源、风扇和硬盘以外的任何形式的硬件故障均需将应用短期中断或者进行把系统和应用从主机向备机切换,中断时间的长短视系统规模及结构的复
杂程度而定,可能从十几秒到几小时不等。
而且一旦出现切换(大部分会导致发生切换),当故障机器修复后,集群技术设计原理又会使系统进行第二次切换----系统又必须从备机切换回到修复的主机上,这时所谓服务器的这些有限部件的热插拔功能并不能体现对系统任何益处。
容错服务器硬件冗余的优势
1、可维护性:
Stratus的容错系统将系统部件的区分为三种类型。
客户可更换单元(CRU),分销商可更换单元(DRU)以及Stratus现场可更换单元(FRU)。
这三种部件分别依掌握的技术而定。
一台Stratus容错系统中大部分为CRU。
如CPU/MEM,IO,DISK,网卡,电源等。
绝大多数部件都有相对应的指示灯来明确提示用户当前工作状态。
对有故障提示的部件,用户可在线自行更换的部件。
而这些部件更换后的恢复也非常简单,多为自动加载(如CPU/MEM,IO),或少数仅需要简单的鼠标操作就能完成(如指定磁盘镜像)。
容错服务器的这种联机更换和恢复功能,不但确保了系统的最大运行时间,也为用户带来了最好的系统可维护性。
系统核心硬件的冗余能提高硬件系统的可靠性:
系统的可用性指标,即非计划停机时间是系统首要的价值所在。
关键部件和关键时刻尽可能减少非计划停机时间往往是可靠性设计的重要设计原则。
世界上30大著名银行企业中,有25家使用的是容错服务器。
随着容错推出支持windows操作系统的机器之后,越来越多的客户开始选择容错服务器。
像秦岭终南山隧道这样亚洲第一、世界第二的大型隧道监控,并且运行效果非常好。
2、软件冗余的不完备性:
由于系统冗余涉及到系统的各类服务,如:通讯、采集等一系列的功能切换和处理。
目前,尚无法证明或有完善的检测机制来保证软件切换的绝对成功。
不论是集群还是容错都是为防止意外而设置的,而关键时刻的切换不成功将会导致巨大的损失。
在2006年7月,上海银联的后台集群系统切换失败,使得当天全上海的银联系统陷入瘫痪7个小时,当天的交易损失非常巨大;同时,上海的复兴路隧道,采用的是集群方式,但由于软件编制的不完善,切换常常不成功,对业主的使用及维护造成了很大的麻烦及损失。
由于切换机制往往在发生故障时才起作用,而故障的状态不仅仅涉及到工程应用软件,而且包含了操作系统、数据库软件、b/s 结构等一系列的问题和实时数据的同步。
由于软件系统(驱动、数据库、操作系统、应用软件、软件架构)的运行状态的随时变化和不确定性,因此,软件切换的成功与否也是不确定
的。
3、简化系统软件的复杂性:
软件系统的故障往往来源于其复杂性。
由于设备的故障切换会导致通讯、数据库、应用软件、数据采集等系统的切换。
由于软件故障的状态是不可模拟的,软件切换本身会要求系统中各类软件支持切换,和不同要求运行同步。
同时,无法进行系统切换检测。
而采用硬件容错机制后,软件的复杂性会降低,有利于系统运行稳定性的提高。
4、软件故障(bug)的处理和bug 造成的死机:
软件本的缺陷,意味着系统的隐患。
软件无论装在一台或两台设备上,这种故障均有可能发生。
软件子系统切换的时间较长,根据子系统大小,一般会在30s以上,但没有办法检测原因(集群结构:死机设备重新切换时内存的动态数据全部丢失)。
而容错服务器在发生同样的情况时,其重新启动的时间也是30s 左右,却可以采用ftMemory功能能保存系统崩溃和重启动前指定区域的内存数据,保证动态数据的完整性保留原来的内存数据。
同时,可以做到故障的追溯。
5、关于维护成本和后期服务:
容错服务器的使用使得系统冗余摒弃了对软件冗余的依赖性,最终用户对集成商的依赖也越来越少。
使得后期的沟通、维护成本大为减少。
由于其更高的可靠性,使得其使用寿命比集群方式更长,节省了后期的硬件开支。
同时,容错服务器的销量在中国逐年快速增长,其在外高桥的保税仓库设有充足的备品备件,并有专门的服务合作伙伴及团队。
是7*24小时的响应服务。