一提到灾难我们会直接想到惨重的灾难——美国的9.11,它给美国众多公司带来巨大的损失。在这场灾难中有50%以上的公司倒闭,仅有6%的公司幸免遇难,而导致倒闭的最大原因就是信息的流失。
BOSS容灾亟待解决
在国内,电信运营商经过两年时间对BOSS系统规划、设定,整个BOSS已形成一个集中建设的系统,就是说所有的鸡蛋都存在了一个篮子里。我们看一下这个篮子在处理什么问题:计费系统每天处理5000万话单;营业系统每天受理15万笔业务;客服系统每天受理30万笔投诉;结算系统每天处理2000万话单,每天产能会创造5000万的产值。如果这个系统瘫痪了,最直接的损失就是收入损失,损失一个小时的话单就是几百万。如果营业系统出了问题,没有办法交费,没有办法开通就会引来客户的投诉,最终导致客户的流失。这一严峻的事实使得许多企业开始重视容灾系统的建设。
目前,有两大因素会造成BOSS系统的灾难,或者说造成BOSS系统业务的中断:一、计划内。软件升级、数据中心迁移等等都会造成停机;二、计划外。自然灾害、软件故障、硬件故障、人为因素,比如说磁盘的损坏,电源断电,误操作等等都会造成业务系统的中断。由此可见,BOSS系统面临着很大的安全隐患,所以我们在设计BOSS的时候,要针对不同的原因,采取不同的手段和方法去规划和建设自己的BOSS容灾系统。
容灾系统建设的方法论
容灾系统的建设流程是围绕BOSS业务为核心的封闭式流程,容灾建设不是一个项目,因为一个项目有完成的时候,而容灾永远与业务一起运作。若要构建一个完善的容灾系统,首先要进行需求分析,根据结果设计容灾系统的建设流程,然后通过合适的参数确定容灾目标以及容灾需要的技术支持,最后是系统运行维护的管理。在整个系统设计中,技术是一个最简单的环节,相对来说流程设计是最复杂的环节。而需求分析和运行维护是两个非常重要的环节。下面我们分别对这四个阶段所要开展的工作进行介绍。
在需求分析阶段需要分析企业存在的业务损失和业务风险,然后确定容灾目标。通常给企业带来损失的直接因素是收入损失,客户流失、诉讼、公司信誉、股价下跌等等都是间接因素,但是往往直接因素是小部分,间接因素是大部分。对不同系统进行业务分析,是为了确定容灾目标:其一是RPO,即业务恢复点目标,代表允许业务数据丢失的程度,如果某个业务的指标是零,就代表这项业务不允许一点数据丢失;另一个是RTO,即业务恢复时间目标,代表业务恢复所需要的时间,就是能够容忍业务中断的时间。
以一个省级电信公司的容灾系统为例,营业系统RPO为零,RTO要求2小时恢复;客服系统RTO要2小时恢复,RPO是2小时。在确定系统目标的时候,需要有一套完善的评估方式,要针对各省业务的不同和损失的不同,确定相应的容灾目标。因为目标的高低会直接影响后面技术的选择,及企业投资的大小。
在确定业务恢复点和业务恢复时间之后,我们还要确定容灾地点的选择,即选择多长的距离来运行容灾系统。选择的依据之一是保证容灾点的机房环境;其次要保证交通、人员到达便利;然后是容灾类型的确定,不同的地理环境会影响容灾的建设。两个地点距离越远,差异点越少,容灾类型会越少,但是在制定容灾目标的时候,都会约束我们的目标设定。在需求分析阶段,我们还要确定容灾的级别,通常包含两个级别;数据级容灾和应用级的容灾。数据级容灾主要针对系统数据和交易数据的保护;应用级容灾是在数据级容灾的基础上,再把执行应用处理能力复制一份,对最重要的数据进行保护。
通过以上的需求分析,我们可以制定好容灾系统的建设目标,在目标确定好后,下一步就进入流程设计阶段。在该阶段,会涉及到三个主要技术环节。首先是数据复制,它是容灾系统关键核心部分,就是要把数据从生产结点复制到容灾结点上去,在设计原则上要保证数据的完整性、一致性和可验证性。数据复制后,容灾系统还要建立相应的处理能力,保证应用切换到容灾结点。由于业务运行时,不仅仅有IT的参与,还有人员、流程的参与,所以切换的目标一定是业务,它的评价指标就是RTO。再就是资源复用,保证整个投资有复用的价值。容灾系统是一个非常大的投资,很多人都感觉容灾系统就是买个保险,其实它跟保险不一样。保险是只有在系统出问题以后才起作用,不出事保险不用赔。但是容灾系统不是这样,要随时检验数据是不是可靠,是不是可以读取出来,所以资源复用是非常重要的。
通过容灾建设后,整个BOSS系统会有进一步的提高。但在系统发生问题或意外时,应优先选择什么样的技术作为系统恢复的手段都有一定的讲究。不是出现任何问题就切换到容灾结点上,因为切换一次容灾,它的成本跟其它技术成本相比是最高的,所以我们最好优先选择,尽量不启动容灾系统。
管理流程的制定是BOSS容灾系统建设的一个最重要环节。容灾系统不是建设一个项目,而是再建一种制度,一种风险抵御制度。因此,需要建立容灾的规范和应急处理流程,以及一个紧急事件的处理机构,经过不断地测试、演习来完善我们的容灾系统。