容错与第少年老成作业无关,云总计会让容错走开啊

高可靠性总是与关键业务联系在一起。据统计,金融系统宕机所造成的损失为平均为1000万美元。因此,关键业务应用总是要求系统7×24小时不中断运行。对可靠性的要求高达99.999%,也就是5个9的水平,这意味每年宕机时间累计不超过5分钟。久而久之,具有5个9高可靠性的容错服务器总是和关键业务应用联系在一起。

IT已经告别百花齐放、万马奔腾的时代。曾几何时,王安、DEC、Compaq、SUN、SGI等这些响当当的企业已经淡出了视野。但是很奇怪,Stratus,这个容错机的代表,仍然好好的活着。从1980年Stratus诞生至今,几十年过去了,没有大红大紫,但容错服务器始终活跃。

关键业务应用需要高可靠性,但是容错服务器并不是金融、电信计费的专利。在很多需要高可靠性的应用场合,容错服务器都有用武之地。以首都机场小火车为例,国际港旅客进出都要乘坐小火车。如此小火车的调度和控制非常关键,系统的计算量不大,但是需要高可靠性,就需要承担调度和控制任务的服务器具有高可靠性。在电力控制、钢铁企业都需要系统具有高可靠性。

Stratus没有大红大紫,与这家公司的风格有关。Stratus是一个典型的技术公司,并不擅长市场推广。在国外,Stratus拥有忠实的客户基础,用户的技术水平比较高,不需要太多的市场培育和引导。只要用户需要高可靠性,就会采用Stratus或者其他品牌的容错服务器。国外用户不会在技术问题上纠结。与之相比,国内市场虽然发展很快,但市场需要培育和引导。这恰恰不是Stratus的强项。

随着芯片技术的进步,以及生产工艺水平的提高,服务器产品标准化日趋成熟,如今系统的可靠性大大提升。可以说,服务器宕机是小概率事件。“小概率事件一经产生就是一个大事件。”某行业企业CIO说。

从商业利益考虑,软件厂商往往不会主动推荐容错技术。如果采用容错服务器,无论是操作系统、数据库,还是应用软件License的销售数量,较之双机冗余要减少一倍。因此,有人戏言,双机冗余方案是厂商的选择,容错方案是用户的选择。如果用户坚持采用容错,软件厂商就会表示支持,但是软件厂商不会主动推广容错服务器。微软如此,Oracle都是如此。

为了应对服务器宕机,用户多采用双机系统冗余。当其中一个系统宕机时,由另外一个系统接替服务器工作。但是需要注意的是,双机系统很难实现无缝过渡,备用服务器接替工作需要时间。如果是首都机场小火车,就会出现停运的事件。春节期间,香港昂平360缆车故障,都在提醒我们,可靠性问题没有小事情。

在技术上,借助“锁步技术”,容错服务器可以最大程度校正硬件故障。在容错服务器设计上,CPU、内存、I/O等,全部采用冗余设计,并通过锁步技术,对每个计算过程进行比对,准确无误才会进入下一个步骤。因此其系统的可靠性可以达到5个9的
水平。

如今,虚拟机倍受追捧。系统可靠性并不依赖于单台服务器的质量,而是构建在虚拟资源池的基础上,系统应用与物理服务器无关。在虚拟化时代,高可靠性的问题是否迎刃而解呢?

但是随着云计算时代的到来,系统可靠性全部依赖于云。云计算通过计算资源池化,使得计算资源并不依赖于单一系统的高可靠性,通过集群技术,保证系统整体的高可靠性。那么,云计算时代会成为容错服务器的终结者吗?

Vmotion,也就是虚拟机在线迁移被寄予厚望。当虚拟机产生故障时,在线迁移到另外一台虚拟机。实际上,这是一种典型的误解。Vmotion可以解决计划内的停机,如系统维护、升级时,可以暂时将虚拟机迁移到其他服务器,维护升级完成之后,在迁移回来。此外,利用Vmotion的功能,可以在一定阶段,如晚间业务的波谷期,将虚拟机迁移到少数服务器,关闭多余的服务器,达到绿色节能,降低运维成本的目的。但Vmotion不能够解决计划外的意外宕机。但承载虚拟机的物理服务器意外宕机时,虚拟机是没有办法进行热迁移的。

答案是否定的。对于很多.COM企业而言,特别是网站应用多采用分散式部署结构,不会因为单一服务器故障,影响这个系统的访问。实际上,在访问网站的过程中,每一个查询和访问,哪怕是同一个网站,提供后台服务器也很有可能不是同一个,所以,只有访问被分配到故障服务器,用户才会感觉得到。但并不是所有的应用都具备这样的特征。

从VMware的解决方案就可以看出结论,虚拟机环境下提升系统的可靠性,不是通过Vmotion,而是通过HA模块来提供的。所谓HA就是虚拟机环境中的双机冗余。同样的,HA的切换也需要时间。针对高可靠性的需求,VMware不是依靠HA,而是提供了Fault
Tolerance模块,也就是类似容错机的解决方案。从VMware的选择,就可以知道容错较之双机具有更高的可靠性。

对于需要高可靠性的应用,仍然需要高可靠性的服务器。虚拟化并不能够解决高可靠性的难题。以VMware为例,高可靠性需求就需要采购Fault
Tolerance模块,对于低一些要求的应用,需要采购HA模块。其中,Fault
Tolerance类似容错,HA类比于双机冗余方案。

采用虚拟机Fault
Tolerance方案,还需要容错服务器吗?从原理上看,容错服务器的处理器、内存以及I/O全部是冗余设计,通过锁步技术,对软件每一个进程的计算结果进行比对,结果一致才确信处理的正确性,可以有效解决可能的硬件故障。虚拟机Fault
Tolerance是否具有同等水平的高可靠性,还需要实践的检验。实际上,在虚拟化环境下,承担管理和调度任务的服务器,就需要采用容错服务器。

Fault
Tolerance是否具有容错服务器的高可靠性?现在谈论,为时尚早。对于云计算而言,云计算同样需要容错服务器作为IaaS平台。
 

如果你需要高可靠性,实际上,你就需要容错服务器。
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注