容错服务器技术vs双机冗余(1)


1980年,当Bill Fost先生苦思冥想在为新公司取个什么名字的时候,无意间看到了飞机外层层叠叠的云层,由此“Stratus”诞生了。但是Bill Fost没有想到,1990当他们注册北京办事处的时候,竟然可以使用“美国容错计算机公司”,这种用技术术语命名公司的现象,此后再也没有出现过。不知道国内有多少用户知道 “美国容错计算机公司”,进而了解容错技术,但是相信,这几年数量有限与很多技术领先型公司相类似,“酒香不怕巷子深”是其风格,市场上的低调在一定程度上制约了发展。

容错的含义比较宽泛,这种不确定性容易引发歧义,增加理解上的难度。从概念上来说,容错是指服务器对于错误的容纳能力,是应用过程中对于服务器稳定性追求的一个目标。为了这样一个目标,有几种技术上的实现方法,目前国内谈论最多的是三种:服务器群集技术、双机冗余服务器方案和单机容错技术。

实际上,服务器群集和双机冗余的技术比较类似,双机冗余是最简单的集群,是其一个特例,也可以把服务器集群技术视为双机冗余的延伸,可以理解为一种多机容错的方案。在一般的讨论之中,集群技术是为了解决计算性能不足的问题,通过多台服务器的集群计算,为高性能计算领域应用提供所需要的高性能。采用集群技术,通过多台服务器之间的负载均衡,可以解决服务器单点故障所引发的系统不稳定,提高系统的可靠性,因此集群具有更好的容错能力,但是在实际的应用中,集群技术多用于高性能计算。

单机容错技术以Stratus公司的ftServer、惠普公司的NonStop服务器和NEC公司的Express5800/ft为代表。这种技术具有比双机冗余方案更高的容错能力。据记者查阅有关技术资料,双机冗余系统的可靠性可以达到99.9%,也就是3个9的能力,而Stratus公司的方案,其可靠性可以达到5个9。在记者的采访中,惠普公司企业服务器产品经理陈武胜表示,其NonStop服务器作为目前惠普公司最高档的服务器,其可靠性可以达到7个9的水平。在记者看来,双机冗余与单机容错有很多的差异,绝不是3个9和5个9的区别。为了了解这些区别,记者分别采访了有关软硬件厂商,并结合实际的应用案例,帮助读者了解有关容错服务器的技术。
产品技术篇之一 “没有错误”的容错服务器技术

单机容错技术是我们为了区别双机冗余技术对Stratus等容错服务器的称谓,但是在我的采访中,有关服务器厂商都不愿意采用这个称谓,他们更愿意采用容错服务器,因为单机只是一个表现形式,并不能准确表达其技术的特征。IDC资询师将这种技术称之为“没有错误”的容错服务器技术。

容错与同步技术

美国容错公司技术顾问高峰在接受记者采访时表示,容错服务器的技术并不难理解,计算机自诞生之日起,其系统结构并没有发生任何改变,仍然是冯诺依曼教授所提出的由运算器(CA)、控制器(CC)、存储器M和输入/输出装置所组成,而容错服务器的思路就是把所有这些部件全部采用冗余硬件设计。两个部件共运行同一个任务,以此来提高系统的运行可靠性。

这种思路和方法在其他服务器产品中也有采用,据富士通公司首席技术官周一平介绍,富士通PRIMEQUEST服务器就采用了这种方法,该服务器采用英特尔安腾2处理器,富士通把很多大型机和 Unix小型机的技术进行了迁移。例如把处理器、内存和PCI总线进行冗余设计,使系统具有高的可靠性。

高峰表示,这种冗余硬件的设计并不难理解,但是最为困难的是如何保证计算和数据在硬件中的同步,这是Stratus核心的专利技术。在Stratus容错服务器中,它被称为同步(Lockstep)技术,在惠普的NonStop服务器中被称为锁步技术。

安腾还是x86

容错服务器另外一个需要关注的焦点是处理器。据陈武胜介绍,目前惠普的NonStop服务器分为两个系列:NonStop S和Integrity NonStop,其产品的差别在于所采用处理器芯片不同,NonStop S所采用的是MIPS芯片,是收购原美国天腾公司的产品,而Integrity NonStop所采用的是英特尔安腾2处理器。

陈武胜表示,除了处理器的差别之外,新的Integrity NonStop具有很多新的设计,例如采用3部件的冗余设计,此外系统总线也有很大改进,因此其可靠性才能够达到7个9的水平。他指出,目前安腾2芯片已经内置了Lockstep同步技术,在芯片级提供了系统容错设计的能力。而此前处理器芯片不具备这样的能力,就需要通过外部结构设计来解决同步的问题。据了解,Integrity NonStop可以进一步分为NS1000、NS14000和NS16000,分为入门级、中高端和最高端服务器产品,其中最高端的NS16000服务器,其每个服务器的节点采用2~16个安腾2处理器。这些处理器节点通过惠普公司独特的ServerNet进行连接,可以提供多达4080个处理器计算能力。

在Stratus公司的产品中,更加强调容错的能力。据高峰介绍, ftServer已经是该公司第四代产品系列,此前先后经历过Motorola M68000、Intel I860芯片、HP PARISC等不同处理器,以及VOS专有操作系统等阶段。目前第四代产品采用基于x86结构的Intel 处理器,其W系列最高的6600可以实现基于容错的4路双核处理器的计算。高峰表示,Stratus将会在今年发布基于8路的容错服务器产品。

高峰表示,容错服务器选择哪种处理器的关键还是要根据应用的需求。安腾处理器采用了全新的64位计算架构,需要配合主机级的NonStop操作系统。与之相比,x86架构应用比较普遍,用户软件无须要进行二次开发。Stratus公司之所以采用Linux、Windows等通用的平台代替专用的VOS操作系统,就是为了降低容错服务器的应用成本。

“无解”的软件故障

容错服务器通过硬件部件的冗余设计,以及同步技术的保证,可以有效解决因为硬件原因所造成的系统故障,但是并不能解决软件故障。

高峰表示,虽然在理论上存在着两个相同部件同时损坏的情况,但是随着硬件水平的提高,这种概率是比较低的。高峰表示,容错硬件的设计一方面可以防止硬件的单点故障,同时也可以防止硬件所造成的计算错误,并对此做出校正。从技术的角度来看,所有软件在硬件看来就是0和1,但是在某些情况下,硬件会产生不稳定,造成非0非1的中间状态,就会产生计算的错误,这种错误并不一定导致系统宕机,其错误不易被察觉。

在容错服务器中,由于采用冗余部件同时运行同一应用任务,这样当两个系统产生不一样计算结果的时候,系统就会察觉,并通过技术手段对于计算错误进行校验,从而提高应用的准确性。但是如果是软件本身的问题,无论是操作系统还是应用软件,那么容错服务器没有办法对于这种错误进行修整。因为对于容错服务器而言,硬件所能够辨别的就是0和1,至于0和1所蕴含的软件逻辑,硬件无从辨别。高峰表示,软件的问题只能够通过软件的方法加以解决。有些用户对此存在一些误解,认为容错服务器不会宕机,实际上容错服务器只能够解决硬件的故障。

关于容错服务器应用,记者也采访了NEC技术经理黄后生,他表示,选择容错服务器的意义在于为关键业务应用提供可靠的硬件平台。黄后生表示,用户为追求系统可靠性,往往会选择小型机,但这会增加成本,同时也对企业的技术人员提出了比较高的要求。但是选择容错服务器没有这样的要求,可以使用他们比较熟悉的Windows平台或者Linux平台。

黄后生表示,目前NEC的Express5800/ft服务器在原理上与Stratus非常类似,两家公司在技术上有着战略合作,共同开发有关容错服务器的相关技术。目前NEC是Stratus公司的投资股东,持有 Stratus公司部分股票。在全球服务器市场上,NEC位列前5强,具有丰富应用和推广的经验,以及雄厚的市场推广能力。在技术支持和服务方面,NEC 已经建立了非常好的渠道,这些优势都有助于容错服务器在中国的应用和推广。


相关内容