医疗行业用户谈关键业务基础设施

对于一个信息系统,特别是关键业务系统而言,可靠性非常重要。有数据统计显示,金融信息系统每小时的停机代价是250万美元,制造业最少也要2.8万美元。这还仅仅是2000年的统计结果,如今企业对信息系统的依赖程度更高,停机所造成的损失也就更大。

在信息技术日新月异的今天,医疗机构越来越依赖信息系统来开展业务,对于门诊、临床等关键业务应用而言,提供7×24×365连续运营至关重要。目前大多数医院所采用双机热备、集群服务器在可靠性方面存在着不小的安全隐患,加之不少医院专业人员有限,在这种情况下,具有更高安全级别的容错服务器解决方案更加备受关注。

在功能定位上,x86被定位于通用服务器,安腾被定位在关键业务应用服务器。如果进一步细分,x86又可分为单路、双路和多路服务器,对应英特尔的处理器是3000、5000和7000系列,此外,还有一个特殊的6000系列,它是7000系列在双路应用的延伸。其中,采用5000系列处理器的双路服务器是市场的主流,应用在大多数的应用场合,其价格也比较便宜,在万元左右。与之相比,采用7000系列处理器的多路服务器,价格要高出很多,被定位在高端应用,对可靠性有很高的要求的应用场合。目前,除了金融行业用户核心业务之外,越来越多用户开始选择x86服务器承担各种关键应用,其中高端的多路服务器成为了用户的选择。

图片 1 

容错是指服务器对于错误的容纳能力,是应用过程中对于服务器稳定性追求的一个目标。为了这样一个目标,服务器集群技术、双机冗余服务器方案和单机容错技术这三种实现方法都在被使用。但集群技术、双机冗余服务器方案由于依赖于软件的特性,其设计更为复杂,并且维护成本较高,而容错服务器的思路就是把所有运算器CA)、控制器CC)、存储器M和输入/输出装置这些部件全部采用冗余硬件设计。两个部件共运行同一个任务,以此来提高系统的运行可靠性。这种冗余硬件的设计并不难,但是最为困难的是如何保证计算和数据在硬件中的同步Lockstep),这是美国容错技术有限公司Stratus)的核心专利技术,也是其驰骋容错技术领域30年不败的关键。 

为了进一步提升可靠性,采用两台相同型号、配置的多路服务器构建集群方案成为了普遍的一种选择。双机集群是一种由集群软件控制的软件冗余方案,但其中的一台设备出现故障的时候,由另外一台设备接替故障硬件工作,以期达到提高可靠性的目的。但在实际工作中,双机集群对管理要求比较高,即使切换成功,也还是需要一定的故障恢复时间,期间会导致业务中断,如果切换失败,所需要的故障恢复时间将更长,因此对于一些关键业务需求而言,双机集群方案不能够满足高可靠性的要求。

 
 对信息系统可靠性产生影响的因素有很多,有人为因素、过程处理和技术因素。其中,人的因素可以通过培训、认证来提高管理水平,减少因为经验缺乏导致的错误。对于处理过程中的偶然错误,这就需要系统具有足够的技术能力。

7×24小时不间断,stratus可以保证

与之相比,容错方案是一个理想的方案。它是一种硬件冗余的技术,借助独特的锁步技术,从体系结构上对系统进行保护。容错不仅能够做到服务器级别的容错,还可以实现对内存、I/O数据的容错。在双机集群方案中,如果一台服务器突发故障宕机,那么这台服务器设备中内存的数据,以及I/O中等待读写的数据,是没有办法进行同步保护的,只能够借助数据库数据回滚等软件技术进行重建,虽然不会给交易带来损失,但业务恢复、重建是需要时间的,这也是双机集群不能够保持业务连续的原因。

图片 2 

美国stratus容错公司生产的容错服务器在一些关键性领域里应用非常广泛,例如:电信、机场、银行、冶金行业、安全、医院HIS系统、公安、电力行业、大的零售业等一切要求高可用性的行业。 

与之相比,容错技术可以确保处理器、内存、I/O数据,做到每个处理器时钟周期保持严格同步,因此,当单一功能部件突发故障时,业务不会因此而中断。这种情况下,虽然失去了容错,但系统不会中断,业务不会受影响。当更换故障部件时,系统恢复容错工作状态。但用户不采用容错服务器方案,其中性能瓶颈是一个普遍关注的话题。当前容错服务器产品主要是基于双路服务器,较之多路似乎存在性能瓶颈。

 
在技术因素方面,导致系统失效的原因也有很多,例如硬件故障,设备驱动、操作系统和应用软件的故障。其中,随着硬件制造工艺水平的提升,可靠性大大提高,与之相比,软件故障的影响因素更为突出一些。那么在这种情况下,提高系统硬件的可靠性还有没有意义?

而现实是,双机应用仍然是现在的主流,凡涉及关键业务应用的领域,双机冗余都是一个重要的解决方案。但是双机冗余服务器方案不能够解决软件的故障。在实际运行过程中,有些时候数据库莫名其妙打不开了,在这种情况下,只有重新安装数据库,没有其他好的办法,而这不仅可能造成数据的丢失,也会在时间上无法满足医院的要求,这对医院是致命而不可接受的。

容错服务器厂商可以提供多路服务器解决方案吗?答案是肯定的。美国容错技术有限技术顾问高峰表示,多路服务器容错并不存在技术上的障碍。历史上,美国容错就曾经提供了多路RISC处理器的方案;目前之所以没有考虑x86多路服务器容错方案,主要是价格的考虑,用户往往很难承受。高峰表示,目前双路8核处理器,其性能相对于原来16路处理器的性能,可以满足用户的绝大部分需求。从用户实践看,容错方案并不存在所谓性能的瓶颈。这也是美国容错没有提供多路服务器容错的原因。他表示,不提供多路不是技术的原因,而是基于市场策略的选择,换句话说,没有提供多路容错的必要。

答案是显而易见的,特别对于关键业务系统,很多用户采用集群的方式来提升可靠性。集群的方式是通过双机或者更多的机器,借助集群软件来提升系统的可靠性。但其中一台机器设备发生故障时,由另外一台设备来接替故障设备的工作。最理想的状况,是无缝切换,但在实际工作中往往做不到,有各种原因会导致系统切换不成功。此外,有时候也会导致在不该切换时候的误切换,这都会降低系统的可靠性。

图片 3
上海中医药大学附属曙光医院信息中心刘珉

高峰表示,用户对性能的担心,有时不是真的来自性能,而是来自对可靠性的考虑。从产品角度,多路服务器较之双路的确具有更高可靠性,这也是用户青睐多路服务器的原因。然而容错方案的可靠性不是依靠产品本身的可靠性,而是从系统的角度,依靠体系架构来解决问题。从目前技术水平看,两台双路服务器,相同功能部件同时发生故障的概率是非常低的,因此,容错服务器完全可以满足用户对可靠性的要求。

较之集群,容错具有更高的可靠性级别。容错系统从整体上可视为一台机器,由两套独立硬件系统构成,受时钟锁步系统控制,在相同指令周期内执行同一条指令参见图)。

在医院,7×24小时的不间断运行是对硬件与系统的考验,尤其是在关键业务上。上海中医药大学附属曙光医院曾使用stratus容错服务器很多年,信息中心刘珉主任说:对医院而言,信息主管最关心的是系统的安全稳定以及数据的准确性,在容错服务器中,由于采用冗余部件同时运行同一应用任务,这样当两个系统产生不一样计算结果时,系统就会察觉,并通过技术手段对于计算错误进行校验,从而提高应用的准确性。stratus容错服务器在我院使用的8年中,从未出现过停顿15分钟以上的故障,确实能够满足我们在关键业务上的需求。

除了容错之外,实际上,容错方案更是提供了可信计算。高峰表示,通常情况下,处理器计算不会出现问题。但作为电子器件,难免会受到各种因素的干扰,难免会产生高低电平的判断错误,计算机是依靠高低电平来判断“0”或者“1”,一旦出现错误,这种错误是不易察觉的。也就是说,计算机也会犯错误。对于容错而言,它是借助“锁步技术”,对两台设备计算结果进行比对,只有一致才被认可,因此可以有效避免意外错误的发生,这是容错方案特有的性能。对于容错系统的用户而言,可信计算可算是一种增值服务,是对用户高可靠性的一种额外奖赏。