在服务器托管服务中,机房管理员经常需要帮助用户重启服务器。我们在使用PC机时也有这样的体会,一些莫名其妙的问题,通过重启系统就可以解决。
可以想一想,这说明了什么?
可以肯定的是,这不是软件的问题。如果是软件的Bug,重启也解决不了问题。顺便说一下,对于软件Bug的处理,最好的解决办法是打补丁。硬件的双机冗余方案解决不了问题。同理,这也不会是硬件的问题。
重新启动可以解决的问题,多数是由于不可信计算所引起的,例如电压瞬变、频率畸变、电磁脉冲等都造成处理器的计算错误,导致意外故障的发生。在信息系统建设中,CIO/CTO非常重视系统的稳定行和可靠性,为此采取了很多措施,但是对于可信计算往往不太重视。另外,不可信的计算往往不容易察觉,想一想当1+1不等于2的时候会发生什么?我们理所应当的人为,计算机的1+1就会等于2。
对于经常采用的双机冗余方案而言,双机切换主要依靠心跳线和软件。实际上,对于可靠性的贡献并不大。关键时刻往往发挥不了作用,原因很简单,系统往往做不到同步更新,随着时间的推移,A、B两个系统就会有差异。关键时刻,切换不成功。很多用户也知道这个道理,但也不得不花费巨大的代价,花钱买个心理安慰。
有没有更好的解决办法?
实际上,供应商都在想方设法争取有所贡献。应用软件、操作系统、容灾/备份都是希望从各自的角度解决问题。以应用软件为例,同时操作两个系统,只有两个系统都返回结果,一个操作才能够成功。这样从根本上解决问题。这样的系统需要定制开发,以电信BOSS系统为例,每年都会投入大量资金,满足业务发展的需求。这样的成本代价比较高,不是每个应用都可以效仿的。
双机冗余方案也是这样一个思路。但是解决不了可信计算的问题。容错是一个非常好的方案,较之双机冗余方案更具有优势。有人把容错比喻为硬件级别的双机方案。所不同的是,容错机是一个系统,运行一个操作系统、数据库、应用软件,可以节省软件的投资。也是因为如此,软件厂商都不愿意帮助推广容错机的方案。容错机只能够是用户的选择。
Stratus是容错机的代表。但Stratus的公司风格,是技术型公司的风格,不擅长市场宣传和培育市场。这也影响了容错机的市场推广。容错机的本质,就是采用冗余硬件,包括处理器、内存以及I/O全部是冗余,通过锁步技术,处理每一个软件进程,只有计算结果一致,才确信处理是正确的。如果不同步,则重新计算。
在容错机的发展历史上,一直以小型机为竞争对手,应用在所有需要高可靠性的关键业务应用场合。以往容错机采用专用处理器芯片,价格比较高。这也是其市场规模不大的重要原因。
随着多核处理器技术发展,容错机开始转身,开始采用通用处理器,成本大幅下降,开始“飞入寻常百姓街”。被越来越多的用户所接受和熟识。根据统计,在国外,容错机的份额占关键业务应用市场10%,双机冗余占30%;与之相比,国内的比例偏低,尚没有国外的1/3。
随着云计算发展,数据处理呈现出集中计算的趋势。云计算不仅需要一个高可靠性的平台,与此同时,又不能够不计成本代价。从可靠性、性价比因素进行衡量,容错服务器是云计算理想的承载平台。
原文链接:http://server.it168.com/a2011/0902/1241/000001241463.shtml