服务器容错技术深度解析

相对于PC来说,服务器拥有更高的可用性和可靠性。随着信息化的不断深入和关键业务平台的IT信息化进程的推进,使得服务器面临着有史以来最沉重的压力,尤其是在ISP、NCP、金融、电信、证券、能源、科研等行业和部门的应用需求,对服务器不断提出挑战。

这种挑战其实本质上就是7*24全天候稳定运行。如何确保在突发情况下服务器能够正常运转,并确保故障出现的时候不会带来业务的中断运行,成为了服务器容错技术的重中之重。

“容错”,顾名思义是服务器对于系统运行中产生的错误、故障的容纳、纠错能力,它是企业级应用中对于服务器稳定性追求的目标。人们俗称的99.999%就是对于服务器系统高稳定性诉求的直观体现。容错服务器能够允许出现一定的错误(故障),这些服务器通常都具备有自动修复和支持冗余的功能模块。当错误或者故障出现的时候,这些出错的部件可以得到及时的修复或者切换,从而确保服务器不间断运行。在目前,服务器的容错技术主要集中在服务器集群、双机冗余备份、单机容错技术三种。

服务器容错技术并不是近几年才出现,早在上世纪八十年代的时候就已经出现并得到应用。容错其实是来自国外(Fault Tolerant)的意译,该词最早来自当时著名的Stratus公司。在上世纪八十年代第一代容错技术开始进入商用领域。当时主要被应用在金融、电信、证券、航空等行业领域。

随后,服务器容错技术得到进一步发展,并先后经历了二代I860、三代HP PA-RISC、四代IA架构容错技术发展。目前谈论的服务器容错技术其实更主要的是针对单台服务器而言。这种方式相比其他方式成本较低、容错能力较高、可满足大多数用户的需求。接下来,我们会重点谈谈单机和双机(冗余)容错技术。

前面我们讲过,服务器容错技术主要由服务器集群、双机热备份和单机容错技术。在这三种服务器容错技术中,它们呈由低到高的级别递进,也就是单机容错技术级别最高,而集群技术的容错技术级别最低。

双机热备份技术是一种系统级的容错技术,也就是采用软硬一体的方式来实现容错。一般它们是在两台服务器之外额外增添一个共享磁盘阵列,或者两台服务器中的RAID阵列,并通过相应的双机热备份软件共同实现。

双机热备容错技术,主要是“双保险”的机制来确保其中任何一台服务器出现故障,及时由另外一台机器切换并保证业务的连续运行。不过,由于这种方式往往需要借助另外一台服务器时刻处于后备状态,对于硬件设施的投入和计算资源的利用来说,存在一定的浪费。

相比之下,单机容错技术则主要是通过部件冗余的方式来实现。这种单机容错技术的容错能力比服务器集群、双机热备的容错能力都要高。

容错服务器通常对CPU、内存、磁盘和网卡甚至电源实现冗余备份,在任何部件出现问题的时候都不会造成系统宕机和数据丢失。目前很多基于工业标准的x86服务器都能实现这种冗余容错机制,而且是以更具成本优势的方式来实现。

容错服务器是通过硬件部件的冗余设计和同步技术,确保故障带来的影响降至最低。目前容错服务器主要围绕处理器来展开,就目前来说,很多服务器厂商都有自己的容错服务器。

比如惠普就提供有专门面向关键业务容错技术的NonStop(包括NonStop S和Integrity NonStop)系列服务器,该系列服务器就是根据处理器的不同而被划分成两大类,也就是采用MIPS的NonStop S和采用英特尔安腾芯片的Integrity NonStop服务器。

Integrity NonStop具有很多新的设计,其产品家族分为入门级、中高端和最高端服务器。去年惠普还拓展了安腾服务器家族,推出了适用于异构环境的NS2100、NS2200。

另外还有两家比较著名的容错服务器厂商,包括NEC和Express5800/ft服务器和Stratus的ftServer服务器。后者在容错服务器技术领域拥有较为成熟的经验,前后开发出基于Motorola M68000、Intel I860芯片、HP PARISC等不同处理器,以及VOS专有操作系统的服务器产品。后来噶公司逐渐采用了基于Linux、Windows等通用平台代替专用的VOS操作系统,以降低容错服务器的应用成本。

NEC通过对Stratus进行投资控股,也获得并采用了与其类似的容错服务器的开发和推广策略。在容错技术领域,NEC早在2001年就推出了首个基于IA架构的容错服务器。其Express5800/ft系列在Windows及Linux平台上的可靠性达到了99.999%,这种实时保护技术来源于STRATUS连续处理技术(Fundamentals of Continuous Pro-cessingDesign)。

目前,容错技术从原来的电信、证券、金融等传统关键应用行业逐渐过渡到基础性行业,比如制造业、能源、物流、交通等等。此外,容错服务器还将更多地会注重TCO总体拥有成本,而且将有更多的用户会放弃传统的双机热备的方式来维护复杂的集群服务器,转而采用具有容错技术的服务器平台。