金融行业灾备架构高指标RTO的实现方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
金融行业灾备架构高指标RTO的实现方式
施跃跃;徐景良
【摘要】Traditional disaster recovery framework cannot adapt to the development of financial industry because of the ubiquitous problem of long business recovery time. Dual-active gives a direction to improve RTO indicators. By comparison of several frequently used implementation ways of data replication in current disaster recovery framework for financial industry, we get the relationship between different ways and the RTO indicators, they indicate that by using application-level replication to realise dual-active is an optional technological scheme to reach the highest indicators of RTO. We focus on the rationale of automatic switching, and point out that these two are the conditions to realise the technology of dual-active. Proven by practice, the dual-active disaster recovery framework proposed in the article is effective.%传统的灾备架构普遍存在业务恢复时间长的问题,不能适应金融行业的发展.双活技术为提高RTO指标指出了一个方向.通过对目前金融行业灾备架构中几种常用数据复制实现方式的比较,得到不同方式与RTO指标的关系,说明使用应用级复制方式实现双活是达到RTO最高指标的可选技术方案,着力分析了自动切换原理,指出这两点是双活技术的实现条件.经实践证明,提出的双活灾备架构是行之有效的.
【期刊名称】《计算机应用与软件》
【年(卷),期】2012(029)008
【总页数】4页(P206-209)
【关键词】灾备架构;DRP;RTO;RPO;数据复制;双活
【作者】施跃跃;徐景良
【作者单位】中国银联股份有限公司信息总中心上海201201;中国银联股份有限公司信息总中心上海201201
【正文语种】中文
【中图分类】TP306
0 引言
随着信息技术的高速发展,金融行业已达到对信息系统完全依赖的程度,信息系统的中断将导致金融服务中断,而数据丢失甚至会导致金融企业破产,其损失都是无法估量的。
信息系统的灾备建设受到国家与企业的高度重视,灾备系统建设的规模也达到空前水平[1]。
但是,目前金融行业灾难恢复计划(DRP)的设计中,最重要的两个实施目标
RTO(业务恢复时间目标)与RPO(数据恢复点目标)的发展水平并不平衡。
数据恢复点目标RPO可以使用多种通用产品来实现,而业务恢复点目标RTO的实现与各数据中心的应用架构关系紧密,需要定制化的解决方案,实现难度相对较大。
由于高指标RTO的实现难度大于高指标RPO的实现难度[2],国内数据中心普遍存在重视RPO,弱化RTO的灾备架构设计思想,甚至部分灾备中心只有数据备份,没有业务接管能力,或是有业务接管能力但灾备切换业务中断时间过长[3]。
这些情况的普遍存在,使数据中心在应对灾难时,往往业务恢复时间长,严重影响对外服务质量[4]。
金融行业也在不断探索提高RTO指标的方法,其中双活架构被认为是最高级别的
灾备架构实现方式。
本文提出了数据复制方式和自动切换方式是提高RTO指标的两个重要因素,阐述双活架构有哪些类型,双活架构下如何采用数据复制技术,并实现快速自动切换。
1 影响RTO指标的主要因素
恢复时间目标(RTO),指信息支撑系统或者目标业务系统从停顿状态恢复至正常运营状态所需要的总时间[5]。
其原理图见图1所示。
图1 恢复时间目标原理图
要想提高RTO指标,需要先分析业务中断时间的长短与哪些因素有关。
从金融行业计划外灾难切换的实际情况看,灾备切换的过程如图2所示。
图2 金融行业灾难切换主要流程
从图2看出RTO与很多因素有关,包括切换决策流程、系统切换流程,同时还会依赖于实施者能力。
灾备中心取得业务数据后启动业务系统的时间长短依赖于数据复制方式的选择,流程中的各个步骤又可以采用自动化手段缩短时间和减少人为因素的不确定性和操作错误,因此可用数据复制方式和流程自动化程度两个因素衡量和改进,本文重点讨论这两个因素。
1.1 数据复制方式
通常情况下,业务系统启动的前提是有完整或接近完整的业务数据。
业务数据冗余是保证灾备中心具备业务接管能力的必要条件,而数据复制方式是实现数据冗余的关键所在。
启动业务系统的时间与选择的数据复制方式有关。
通常可以将IT系统由底层向上层分为存储、卷管理、数据库、应用(中间件)四个层次。
在系统启动时,一定是接照这样的层次关系依次启动的,上一层启动的条件是下一层已启动且已完成数据复制,如使用存储层复制数据时,卷管理层不可以启动,否则会导致卷管理层不能得到被更新的数据而造成数据混乱。
数据复制方式可以从两个角度分类,一是数据复制一致性模式,二是数据复制实施手段。
1.1.1 数据复制一致性模式分类
数据复制的一致性模式可分为同步模式与异步模式两类。
其中同步复制指生产中心与备份中心的数据被同时更新,两者都更新完成后此数据才被标记为更新完成;异
步复制指生产中心完成更新后,数据即标记为更新完成并继续处理下一笔数据,之后由另一程序完成对备份中心的数据更新。
同步方式保证了主备中心间的数据完全一致,既可以保证灾备切换时的零数据丢失,也可以在双活灾备模式下,实现双中心处理数据的一致性。
当然,同步复制方式实现的高成本与带来的性能及稳定性影响是十分显著的。
SCSI协议中每个写操作需
要经过 write request->Transfer ready-> data frames transfer->SCSI status 4个传输过程[6,7],这一过程在本地性能良好情况下只有0.3ms,而
在1000KM距离的跨省数据复制情况下,数据以光速在光缆上传输就需要14ms,性能下降至少46倍。
而且在长距离传输时,信号强度抖动、光衰、线缆中断等问题时常发生,使用同步模式时这些问题都将导致业务短时中断,甚至引发业务瘫痪。
灾备系统为了防范地域性灾难,灾备中心与生产中心间有一定的距离要求,灾备数据复制很少使用同步模式。
对于灾备架构设计者,不可贪大求全,一味追求RPO =0而不是接近0,使用同步模式对生产中心带来运营风险。
1.1.2 数据复制实现手段分类
(1)通过离线存储系统传送备份数据到灾备中心
此方式为先使用虚拟磁带库(VTL)等设备进行数据备份,再通过网络将备份数据传
输到灾备中心。
由于加入了备份时间,所以其RPO相对较高,达到文件级丢失。
此方式只有异步复制模式。
由于其RPO过高,目前金融行业已很少使用这种方式。
(2)通过在线存储系统复制到灾备中心
此方式是目前金融行业使用最为广泛的数据复制方式。
其优点是对业务透明,技术成熟稳定,完全不消耗服务器资源。
目前各主要存储厂商都在中高端级别存储上提供此类复制软件,如IBM DS8000的PPRC,HD的HUR(HP称之为CAJ),EMC 的SRDF。
此类软件原理为将生产系统联机数据库或文件系统写入存储的数据块,按其写入顺序标记序号,数据传输到灾备中心的存储后,再将数据块按序号重新排列后写入存储磁盘,一旦复制中断,即舍去比丢失数据块序号大的所有数据块,用以保证数据的一致性。
此复制方式对上层业务完全透明,适用于所有数据库和文件系统,适合模块化的商业推广。
缺点是复制过程中,从卷(复制目标卷)处于完全不可用状态。
(3)通过卷管理或文件系统软件复制到灾备中心
此种复制方式在异步复制方面应用相对较少。
其优点是对业务透明。
缺点是需要消耗主机资源。
此复制方式业内市场份额最大的是Symantec的VERITAS系列产品,尤其是在同一台服务器实现存储间同步数据复制的模式有较高的实用价值,可以实现存储跨地域高可用,实现存储故障时零业务中断和零数据丢失[8]。
(4)通过数据库级系统复制到灾备中心
此方式是通过数据库产品将数据通过TCP/IP网络复制到灾备中心。
其优点是对业务透明,技术相对成熟。
目前主要的数据库供应商都推出了自己的复制产品,如ORACLE的RAC、Data Guard和DB2的HADR,以及非数据库厂商开发的复制软件,如GOLDEN GATE。
其实现原理为通过将数据库日志信息复制到灾备中心,再通过日志将库前滚到与原库相同。
对于不同的产品,目标数据库的状态不同,HADR的目标库不可访问,而RAC和GOLDEN GATE产品的目标库可以在线读写。
缺点是数据更新量大时对性能影响较大。
(5)通过应用复制到灾备中心
此方式为针对数据中心各自应用特点开发基于应用或数据库级的数据复制程序。
其
特点是与业务给合紧密,可实现个性化处理,复制过程中也可以实现灾备中心的在线读写。
但缺点也十分突出:开发成本高,维护难度大,对服务器性能影响大。
以上每种数据复制方式只要选取其中任何一个都可以达到数据复制的目的,且(2)
-(5)都可以实现实时的、不间断的数据复制。
但他们之间也是有区别的,总结(2)
-(5)复制方式分类,越靠近应用级,复制的颗粒度就可以越细,个性化越好,灾
备中心提供对外服务需要的步骤越少,切换时间越短,RTO指标越好;同时,越靠近应用级,复制的开发与维护难度越大,稳定性越差,成本越高,对性能的影响度也越高。
如图3所示。
图3 不同层级的复制方式示意图
1.2 流程自动化
影响RTO的另一大因素即是切换决策流程中的发现、报告和决策时间。
只要有完善的监控手段和负责的监控人员,前两个步骤的用时可以缩短到10分钟内,相对而言决策时间往往更长,影响着灾难切换的总用时,即RTO指标。
缩短决策时间,有两个前提条件:第一,制定完整的决策流程;第二,确认灾备中心可用。
灾备切换的决策者是数据中心的管理者,他在做出灾备切换决策时,希望先得到尽可能多的用于决策的信息,还要与生产中心及灾备中心的技术专家取得联系,由专家向其提供决策建议。
这样会导致沟通效率低,大幅延长业务中断时间。
如果能在灾备发生前,即将决策流程定义完整,在发生灾难时,即可以根据事先定义的流程进入被预授权的快速决策通道,不再需要现场沟通、请示与思考。
例如,灾备中心的切换条件可用类似以下公式定义:
定义完成后,当A与B条件同时出现,或A与C同时出现且D没有出现时,即可以由现场人员立即决策发起切换,无需再向其它非现场负责人请示,可大量减少决策时间,提高RTO指标。
比预授权更快速的决策流程是自动切换。
即使用自动化工具检测切换条件F是否
已发生,若程序判断条件成立,立即调用切换程序,发起切换并通过视觉或听觉媒介向监控人员发出报警,以及切换的启动信息、过程信息和结果信息。
另一个重要前提条件是确认灾备中心可用[9]。
因为灾备系统日常不处理业务,所以在灾难到来时,不能保证业务的切换一定成功。
决策者不能立即做出灾备切换的决策很大程度上是因为不能确定灾备中心的可用性,担心切换失败会更大程度地影响业务恢复时间,甚至切换失败会产生比当前状态更复杂的新情况。
为提高灾备中心的可用性,最有效的方法是定期进行灾备切换演练。
《信息系统灾难恢复规范》(国家标准GB/T 20988-2007)一文中定义了灾难恢复策略中每年至少应有一次完整演练。
然而,切换演练不可能每天实施,长期运维中发生的事件或变更很可能已影响了灾备中心的系统可用性,但由于没有及时演练而使问题深藏于水下,在真正需要切换时才发现灾备中心已不能接管业务。
最理想的状态是灾备中心日常也在处理业务,即相当于将演练验证变成日常作业,这样在需要切换时,就无需检查与评估即可确认灾备中心的可用性。
这将是双活的最大优势。
2 双活架构如何提高RTO
双活是指在高可用环境下,两个冗余结点同时处理对外服务的高可用架构。
相对于冷备和热备,双活具有切换更迅速更可靠的特点,所以能够带来更高指标的RTO,且更有助于提升日常处理时的性能。
但因为双活的实现成本也非常高,所以更适合对业务可靠性要求极高的金融行业。
2.1 双活的类型
双活并不是一个神秘的技术,事实上,目前已有很多产品使用了双活技术。
如Symantec的Storage Foundation卷管理软件、F5负载均衡软件[10]等。
双
活通过数据在两双活节点上的分配策略可分为指定路径、完全平衡、最小队列、同
时处理四种类型。
指定路径双活部分F5的负载均衡为通过先定义好源IP地址与负载路径的关系,再将此关系分发数据,即A段IP数据发向第一条路径,B段IP数据发向第二条路径。
其特点是便于判断与区分,但可能出现负载不平衡的情况。
完全平衡双活 Storage Foundation多路径处理组件DMP有一种处理模式叫做round,即将数据A交付第一条路径后,即将A的下一笔数据B交付第二条路径处理,再下一笔继续由第一条路径处理,如此反复。
其特点是可以做到两中心的处理量完全平衡,而且分发时判断条件简单快速。
最小队列双活 Storage Foundation多路径处理组件DMP即采用了多条路径多活的处理模式,具体而言,DMP默认的平衡方式为mininumQ,其原理是判断多条路径的队列深度,然后将新的数据发给队列中等待处理数据最少的一条路径,那么当一条路径出现问题时,其队列中一定会有堆积的数据,此条路径将不会再得到新的数据,相当于自动隔离了。
此模式可称为最小队列双活,其特点是不仅能应对某中心故障不可用的情况,还能应对某中心性能下降,处理速度慢的异常情况。
镜像处理双活 Storage Foundation卷管理组件VxVM可以将两台存储做卷级镜像,其处理方式即是将一笔数据复制成完全一样的两笔,分别发向两台存储设备,两台全部完成此数据才算处理完成。
其特点是两中心都会处理全部交易,并同时拥有全部数据,加重了负载,但可保证RPO为0,且省去了中心间的数据复制。
以上四种方式都是金融行业设计双活时可以采用的,前三种每个中心只处理一半左右的业务,但需要额外考虑中心间数据转移来保证RPO,最后一种每个中心处理全部业务,不需要考虑数据转移。
在具体设计时,使用何种双活类型还要视业务特点而定。
完全平衡双活不适合后续交易需要查询原交易的情况,因为不能判定原交易在哪个中心;最小队列双活不适合中心间距离远的情况,因为队列深度的判断需要耗费太多时间,影响性能;镜像处理双活不适合对性能要求高的业务,因为要以
处理最慢的中心的处理时间为准。
金融行业中,由于存在账户信息的唯一性问题,需要防止账户在A中心被修改后,修改记录复制到B中心之前,B中心即处理一笔修改此账户的交易而破坏数据一
致性的问题,可以采用指定路径双活,将同一账户指定在一个中心处理,以防止出现同一账户在两个中心被修改的情况。
2.2 双活架构下的数据复制
双活架构下,两个数据处理中心同时处理业务,即两中心的应用层必须是启动的,依据1.1.2节所述,数据复制方式只能选择数据库级复制中目标库可在线读写的方式以及应用级数据复制方式。
使用这两种数据复制方式,就节省了灾备中心启动应用系统的大约半小时时间。
2.3 双活架构下的切换流程自动化
双活的切换方式可分为手动切换与自动切换两种。
自动切换即为当某主中心发生灾难时,管理应用程序发现满足预定切换条件,调用切换指令集隔离故障中心,实现自动切换,自动切换的难点在于制定切换条件和自动监测和发现。
自动切换的条件的检测通常分为三个级别。
第一级为IT基础层监测,第二级为应
用层监测,第三级为业务层监测。
第一级IT基础层监测即是对支撑业务运行的IT组件的可用性逐一进行判断。
如使用程序定时检测服务器服务是否可以ping通,端口是否正在侦听,数据库是否可以连接等,这也是大多数cluster软件采用的监测方式。
这种监测机制可以将最常见的网络故障、主机宕机、数据库故障等IT基础层面的故障侦测出来,当这些故
障达到会影响业务的程度时由管理应用触发切换。
但只有第一级监测是不够的,如主机正常,但应用程序僵死、异常中止的情况就需要第二级来监测。
第二级应用层监测需要在支撑业务的应用程序上嵌入高可用监测机制,实现方式包括将应用异常的信息输出到应用日志中,由管理程序定期检查应用日志,以及应用
程序定期向管理程序发送健康心跳信息,当心跳信息消失时管理程序可判断为应用异常。
前两级已经可以覆盖绝大多数的IT系统故障,但判断业务系统是否可用最
权威的手段应是从业务本身进行判断。
第三级业务层监测可以找到如程序逻辑错、业务参数配置错误以及前两级未能监测到的系统错误,是最全面,同时也是最难实现的监测手段。
业务功能是客户的体检,为了简化业务监测,可以使用模拟真实业务的健康类交易。
健康交易是仿真程序发出的,它与真实交易以相同流程同时在业务系统中流转处理,但不更新真实业务数据,不进行后续清算、记账等业务处理。
一旦业务系统出现故障,健康类交易也同样会受到影响,管理程序可以发现健康交易的失败记录,从而做出切换等应急反应。
另外,自动切换还应考虑如何避免误切或多层次同时切换。
避免误切的手段是两个以上监测周期都得到相同的异常信息后才能确定为系统异常。
避免多层次同时切换相对要复杂一些。
在一个完整的业务系统中,因为高可用措施会在多个层次同时部署,所以首先要找到有哪些层会发生高可用切换。
如存储层面会出现多路径切换,网络层面会出现交换机切换、双网卡绑定切换,数据库层面也会部署主备库切换等待高可用措施。
举例而言,当主机连接存储的一条光纤线中断时,会触发多路径切换,此切换需要20秒时间,期间数据库会处于pending状态,为避免在这20秒内又同时发生了数据库切换,数据库的切换监测周期应大于20秒,如设置为40秒,那么中心间灾备切换的监测周期就应大于40秒。
2.4 双活架构的应用实例
两个双活的数据中心之间距离为1000公里,使用两条ATM线路连接,数据复制的一致性模式选用异步模式,数据复制的方式选用应用级复制,每个数据中心处理完业务记入数据库的数据,都会通过自主开发的数据复制应用远程复制到另一个中心,在数据库中将不同中心的数据放在不同的表格中,数据复制失败不会影响本地业务的处理结果和处理时间。
为实现自动切换,通过监控应用实时监控业务系统各模块的可用性,并模拟执行健康交易,当发现本地中心业务系统出现异常时,即刻调用另一中心的所有应用服务器上的切换脚本,实现自动判断和自动切换。
切换的条件为:
A)超过5台服务器异常;
B)本地主备数据库均异常;
C)健康交易成功率低于40%;
D)满足以下至少2个条件:①低于5台服务器异常;②健康交易成功率介于40%-60%;③一台数据库异常。
其中条件A使用第一级监控手段,通过ping主机地址是否通来实现;条件B使用第二级监控手段,通过应用程序不断连接数据库判断数据库是否可用;条件C使用第三级监控手段,通过模拟交易的成功率情况判断系统的整体可用性;条件D是三级监控手段的组合判断逻辑。
实现自动切换后,故障发现、汇报、决策和切换实施都由系统自动实施,实施用时可由人工操作的1小时节省到1分钟以内,真正实现RTO的秒级目标。
3 结语
金融行业由于其IT系统是业务运营的基础,为保证业务在任何灾难情况下都能快速恢复运营,需要实现更高级别的RTO。
实践证明,为达到这一目标,应当选择合适的数据复制手段,并实现自动化切换流程。
而双活的设计架构,就是接近应用层面的数据复制与自动化切换流程的有机结合,它能够大量减少切换操作和切换决策耗时,真正地将计划外灾难切换RTO由小时级减小到秒级。
双活技术是当前金融行业灾备架构设计的一个新宠,但相对于传统的存储级数据复制加冷备的灾备架构,这个新宠还有以下亟待解决的问题:
(1)应用级数据复制的稳定性有待进一步提高。
由于双活需要使用应用级或数据库级的复制,而应用系统的结构是多种多样的,很难用统一的标准接口实现,因此稳
定性不能得到最充分的测试验证。
(2)如何降低开发和维护投入的高成本。
由于个性化开发和维护要求比较高,相应的投入的成本也会提高。
原来的灾备中心变成生产中心,需要投入的运营成本也相应提高。
参考文献
[1]Tipton H,Krause rmation Security Management Handbook [M].4th ed.NY:Auerbach Publications,2000:581-596.
[2]岳友宝,张艳,李舟军.金融行业的灾难备份与恢复[J].计算机应用研究,2006(2):104-107.
[3]Fitz-Gibbon,Thomas P.Disaster Recovery Planning for Call Centers. [4]Ueno,YoichiroMiyaho,NoriharuSuzuki,et al.Performance Evaluation of a Disaster Recovery System and Practical Network System Applications[C]//International Conference on Systems and Networks Communications (ICSNC 2010)5th,2010.
[5]杨义先,姚文斌,等.信息系统灾备技术综论[J].北京邮电大学学报,2010(2).
[6]Source A.SANs sharing storage to infinity and beyond[J].Electronic Design,2004,52(9):50-59.
[7]Telikepalli R,Drwiega T.Storage area network extension solutions and their performance assessment[J].IEEE Communications Magazine,2004,42(4).
[8]沈利国.零停机零中断:双活中心建设[J].中国数字医学,2010 (9).
[9]Bell,Judy.Why Some Recovery Plans Won't Work.[J].Disaster Recovery Journal,2003:30-32.
[10]Alan Murphy.Distributing Applications for Disaster Planning and A-vailability[M].F5 White Paper.。