浅议AS/400中的高可用实现
东莞市农村信用合作联社 陆成新
对于高性能服务器厂商,如果服务器用于高性能计算,一定会极力吹嘘其计算性能如何好;但如果要用在联机事务处理(OLTP)中,就会更多地强调机器的RAS(Reliability,Availability and Serviceability),即可靠性,可用性和可服务性。可靠性指的是机器出现故障的可能性,由机器的制造水平决定;可用性指的是提供服务给用户的可能性,一般通过一定程度的冗余来实现;而可服务性则强调的是在机器出现故障的情况下,是否能很快地定位到故障所在以及是否易于维护。对于单个计算机系统,不管其如何稳定,都不敢说不出故障,所以,对于那些需要提供不间断服务的业务系统,一定要寻求某种高可用解决方案。
一、引言
1、非计划停机与计划停机
IBM AS/400(即所谓i系列,目前已发展到称为i5)一直被认为是业界最可靠的商用系统,一些研究称其可靠性高达99.95%。但即使如此,IBM在其红皮书“Clustering and IASPs for Higher Availability on the IBM eServer iSeries Server”中仍然说:“按照IBM的研究,i系列服务器平均61个月出现硬件失败。但即使是这样娇人的记录,也会引起你对可用性的关心。因为换句话说,硬件失败的间隔为61个月,意味着有67%的i系列服务器会在头五年内出现某种类型的硬件失败。”
而另一个值得考虑的统计则是:
· 按照Hurwitz Group的统计,一个系统在失效一个星期后,43%的业务系统再也没重开,而另有29%在两年内倒闭。
· 按照Gartner的观点,经历过“显著数据丢失”的公司中,有93%在五年内无法经营下去。
虽然非计划宕机对系统的危害这么大,但实质上非计划宕机只占所有宕机中的10%,而其中仅1%属于灾难。而另100%则是因为系统维护任务造成的,它们包括:
· 数据备份(夜间的,每周的以及每月的备份)
· 为了重申磁盘空间并提高磁盘访问性能而需要做的AS/400物理文件重组
· 开发商软件升级及数据转换
· IBM软件升级以及PTF安装
· 新应用软件的安装
· 硬件升级
· 系统的迁移
不论宕机的原因是什么,最紧要的就是减少或排除重要时刻的宕机风险。
2、灾难恢复策略
对近80%的公司而言,他们全部的灾难恢复策略就是定期将数据备份到磁带上。这通常包括:定期将整个系统备份,对一些修改过的或一些重要数据每天作增量备份,然后将这些磁带保存在一个远离机房的地方。由于i系列拥有了不可思议的可靠性,大部分公司都认为这样做就已经足够了。但是,如果从磁带中重新加载整个系统时失败了,则做数据恢复的时间需要48小时或更长都是可能的,因为这可能牵涉到替换硬件,从磁带中恢复数据,以及从上次备份中重新构建那些被未在备份中出现的事务。还要牢记的是,在从磁带恢复的过程中,出现介质问题也很常见。
因此,越来越多的公司开始考虑这种宕机成本,并因此引入了更多一层的保护来减少数据恢复的时间。其中包括:
· 日志:日志是AS/400中一种能够有效地监控数据修改的进程。在出现系统失败的情况下,数据的重建工作通常可以依靠日志来完成。
· 磁盘保护:通过额外增加磁盘来减少在磁盘不能工作时数据丢失的风险。
· 恢复服务:即租赁第三方服务,即将两次备份之间的数据修改传递到专业服务商中的一个具有类似配置的系统,这样在出现灾难情况时,就用该系统来恢复业务处理。
· 高可用性:真正的i系列高可用实现要包括第二台i系列服务器,在生产系统与备份系统之间建立通讯连接,并通过软件将生产系统中的一些重要对象,以几乎实时的方式,复制到备份机上。这样,在生产系统失败或需要做系统维护时,用户可以转移到备份机上继续做他们的业务。总之,高可用实现对于降低大部分计划或非计划宕机事件的影响,都是最有效的方法。
二、高可用软件的组成
每个高可用解决方案都会包含这样四个组成部分:系统到系统通讯,数据复制过程,系统监控功能,以及切换(role swapping)能力(即将生产系统移到备份系统)。
1、系统到系统的通讯
实现高可用方案的第一个步骤,就是在生产机与备份机之间建立某种通讯连接。一般来说,TCP/IP就是两台机器之间进行通讯的最佳办法,特别当两台机器之间要移动大量数据时更是如此。
TCP/IP通讯的设置是相当简单的,需要多加考虑的主要是两系统之间用于定期复制数据所需要的带宽。其实,决定带宽的一个主要因素,便是你准备将备份机放到离生产系统多远的地方,因为距离越远,需要的带宽越宽,花费的成本也就越高。可以肯定的是,可以将备份机跟生产机放到同一个机房,并将两台机直接连起来(这样建立起来的便是所谓双机热备份),但是,为了建立灾难备份,就需要把备份机放到另一栋楼或是某个距离较远(比如几十公里)的地方。
如果购买备份机的目的就是为了实现高可用,则将备份机放到城内的另一个地方更具优势,因为这样的话,即使是放置生产机的机房出现问题(比如火灾或其他使机房遭毁坏的情况),备份机可能并不受其影响。
2、数据复制引擎
通讯建立好后,需要的下一个部件便是一个用于在生产机与备份机之间复制事务的引擎,而且它要尽可能做到实时。在i系列的所有高可用解决方案中,所有数据复制引擎都是在一定程度上用了OS/400的日志功能。下面介绍一下日志功能的各组成部分:
1.日志进程
每将一个目标加入日志,系统便会用一个进程来“观察”该目标。日志功能包括两个对象:日志(journal)和日志接收器(journal receiver)。当该目标上发生了某种变化时,日志就以某种非常有效的方式将所有变化写入到日志接收器中。日志入口按顺序存放在日志接收器中,当日志入口的数目达到某个预先定义好的数目时,该日志接收器就被卸下(detach),并根据设定由系统或系统管理员建立一个新的日志接受器并与该日志关联起来。卸载下来的日志接收器还可根据需要进行备份或恢复。
当日志同磁带备份一同用于备份与恢复策略时,如果在两次备份之间发生了系统失败,还可以利用日志接收器日志入口应用到文件中的数据,从而将数据库的修改引入到最新状态。事实上,因为OS/400采取的策略,是在将数据库修改写入磁盘前,先将日志写入磁盘,因此,只要日志没因为磁盘损坏而破坏,系统的意外宕机使数据丢失的可能就很小。
2.日志入口的复制
高可用实现的复制进程,就是利用日志功能将一些日志入口发送到备份机,并尽快将这些应用到备份机上的复制拷贝上。日志入口的发送有两种途径:一种是由高可用实现软件自己编写的程序,一种是利用AS/400的远程日志功能。
3、系统监控
两个系统之间有了复制进程后,高可用实现还需要有某种机制来监控这些进程。在一个业务系统中,每天都会有几千甚至几百万条事务要复制,如果系统之间的通讯、日志部件或是日志入口的应用进程中有任何一个出现点问题,就会有目标出现不同步的情况,进而威胁到备份系统上数据的完整性。因此,高可用实现中一定要有监控进程来确保复制的完整性,否则在生产系统失败时,你也难以切换到备份系统上。
一个编写得好的监控进程,会以某种易于理解的方式不断地给出关键部件的状态。如果某个方面有任何问题,都会在监控屏幕上有所表示,并在随后试图自动纠正这个问题。
4、切换
前面描述的有关高可用解决方案的所有功能,最终都是为了服务于这样一个目的,即通过快速地提供给用户一个完全同步的、具有完整功能的备份系统,而减少宕机时间。如果一个高可用实现不能一致而且有效地提供这样的能力,则不管它是否还有其他别的功能,都是不值一提的。
将用户转移到备份系统的过程通常就称为“切换”,因为在切换后,本质上备份系统就充当了生产机的角色,这时可对真正的生产系统做维护或修复。
需要注意的是,在高可用实现部署好以后,定期测试这种切换是很重要的,这可以验证切换是否能平滑进行,还可以确认备份系统上的数据是否完整。切换过程通常包含这样一些步骤:
· 确认所有关注的目标已在两个系统之间同步
· 结束生产系统上的所有用户以及应用
· 结束生产系统上的所有复制和监控作业
· 指定备份环境为生产环境
· 在备份系统上启动复制及监控作业
· 在备份系统上启动用户及应用作业
当然,一旦你执行了切换后,在你要返回到原来的生产系统时,可以回过头来重复上述过程。
需要留意的是,一个好的高可用解决方案应该能以几乎实时的方式复制多种目标——c除了重要的业务数据外,还应包括系统配置及用户配置等。也就是说,它应该还能复制用户简要描述(User Profile),设备配置,假脱机文件,IFS以及其他任何必要的目标。
为了能成功地做切换,所有必要的部件都不仅在备份系统上要有,而且要确保他们是最新的。
在选择高可用解决方案时,还有一点是很重要的,那就是,无论是切换还是回切的过程都要使人为干预尽可能少,这样,不仅保证了机器切换时间的减短,而且也因此减少了人为失误的可能。
三、如何评价i系列高可用解决方案
在评价高可用解决方案时,首先要明白的是,这些技术已经存在于OS/400的操作系统中,这也就是说,你完全可以自己编写程序,来创建必要的高可用组件,但不要忘了软件编写、排错以及完善都要花费很大的精力。
总体而言,在选择或评价高可用解决方案时,首先要注意的包括:
· 能在生产机上以最小的开销有效地复制目标,而且要尽可能作到实时。
· 有一个易于使用的系统监控程序,它不仅能让你很容易找到未正确发挥作用的功能或未同步的目标,而且能自动地复位这些组件或同步那些未同步目标。
· 一个易于执行的切换过程,能够自动处理监控的同步,结束生产机上所有必要的作业,并在备份系统上启动所有必要作业。
除了上面这几点,高可用软件开发商还应该具备下面这些条件:
· 其代理商能帮助你定期切换,比如每个季度或每个月切换一次。
· 曾经在生产系统失败时,成功地让其高可用软件切换到备份系统上。
· 在技术支持上拥有很丰富的经验
四、结论
在电子化程度越来越高的年代,人们对数据的依赖性也越来越强,因此,在业务系统上部署高可用方案已成为必然。但在选择高可用软件时,了解高可用解决方案中关键部分也是很重要的,比如,解决方案能多大程度地满足特定需要,系统中构建的自动程度(自动切换,自动恢复等)以及需要技术人员要有什么样的水平才能管理好这个软件等
E-MAIL:cxlu@tom.com
michael9406 回复于:2005-04-27 10:25:28 |
大侠。。。
小生有礼了 |
xuguopeng 回复于:2005-04-27 11:13:57 |
好文!
我看楼主对双机热备有很深的了解,希望能多说一些技术方面的东西或者再细节一点。现在不是有高人自己写双机软件了么? 我觉得备份的方式大家几乎都知道,大概就是:SAVF、磁带、双机 前2种就不说了,我对双机比较有兴趣,众所周知,双机是利用JOURNAL来实现的,但真要自己动手去写,就太难了。。。。。 小弟愚钝,请大虾多讲讲双机中的实现细节,当然越细越多越好了, 如果是C写的我基本就放弃了。。。。。。。 |
暴走族 回复于:2005-04-27 11:14:50 |
我们用的MIMIX.好象大家都差不多吧.楼主可以去当讲师卖产品了.呵呵 |
michael9406 回复于:2005-04-27 13:12:55 |
东莞农信的400用得还可以 |
afeng2000 回复于:2005-04-27 13:13:34 |
thanks |
king1981 回复于:2005-04-27 13:29:11 |
顶。。。就1 个字。。。 |
xbreeze 回复于:2005-04-27 14:16:15 |
的确很难 |
layyf 回复于:2005-04-27 16:05:18 |
好像是用汇丰的应用吧。
MIMIX是一个好东东,就是贵了点,不过400那么少,还有OMS等产品竞争,要生存也不容易啊。 |
riancy1106 回复于:2005-04-27 17:25:16 |
顶! |
hanyu 回复于:2005-04-27 20:25:33 |
谢谢!楼主双机热备用的是神码的吗?如果方便可否就评一下。 |
居士 回复于:2005-04-27 22:20:21 |
我正在给客户实施一套别的公司的双机软件,不知道效果如何呢。
计划五一以后开始安装 |
zzzddd 回复于:2005-04-28 10:11:16 |
我们也用MIMIX! |
hanyu 回复于:2005-04-28 12:43:42 |
居士说的是沃克的双机软件吧,不知道论坛有没有用过ASAM的兄弟,可否也说一下。 |
USING_AS400 回复于:2005-04-28 17:40:36 |
牛! |
sailsky 回复于:2005-05-10 16:10:44 |
不错的说~ |
aeiou 回复于:2005-05-14 13:10:35 |
高人...顶 |
blogliou 回复于:2005-05-19 17:23:37 |
原来是陆工到了!欢迎!
(1) 文章写得很好。只是IBM自己不提供AS400双机高可用性软件,比较奇怪。OMS也只是IBM代理的别的厂商产品。 (2) 关于目标复制功能,是通过安全日志来实现的,象user profile的改动都能够同步复制。其实我们也有实现!并经过了实际测试,可惜一直没有拿出来。 (3) OMS和MIMIX都价格高昂。 (3) 上海沃克公司的产品ASAM与神码。。。。:) (4) 借此宝地回陆工,我已于昨天离开了神码。 |
tony0024 回复于:2005-05-20 17:16:55 |
我们用OMS,只是复制生产数据,我最近在研究双机切换,能不能再提供一点详细资料? |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/