容灾信息系统的建模与仿真
姚文斌, 赵玲, 王真, 姚翔, 韩司    
1. 北京邮电大学 计算机学院, 北京 100876;
2. 北京邮电大学 智能通信软件与多媒体北京市重点实验室, 北京 100876
摘要

针对容灾信息系统难以量化和评价的问题, 提出了一种通用的容灾信息系统建模方法, 设计并实现了容灾仿真系统.基于网络3层架构模型构建了系统仿真模型, 采用故障注入技术实现了灾难事件仿真, 并基于脚本编程实现了容灾信息系统运行过程仿真.设计了仿真一致性、恢复时间目标、恢复点目标和可用存储量指标实现对仿真系统的评价.实验结果表明, 容灾仿真系统满足设计目标, 能够为信息系统灾备建设、容灾信息系统灾难恢复能力评价和系统维护提供数据支撑.

关键词: 系统仿真     系统容灾     灾难备份     故障注入    
中图分类号:TP309 文献标志码:A 文章编号:1007-5321(2015)03-0050-05 DOI:10.13190/j.jbupt.2015.03.007
Research on Disaster Tolerant Information System Modeling and Simulation
YAO Wen-bin, ZHAO Ling, WANG Zhen, YAO Xiang, HAN Si    
1. School of Computer Science, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. Beijing Key Lab of Intelligent Telecommunication Software and Multimedia, Beijing University of Posts and Telecommunications, Beijing 100876, China
Abstract

Focused on the issue that it is hard to quantify and evaluate a disaster tolerant information system, a general modeling method for the disaster tolerant information system was proposed. A disaster tolerant simulation system (DTSS) was designed and implemented. A general disaster tolerant simulation system model was put forward upon three-tier network architecture model, and fault injection technology was made to simulate the disaster events. Furthermore, system business simulation is carried with script programming. Simulation consistency, recovery time object, recovery point object and available storage indices were designed to evaluate the system. It is shown that the disaster tolerant simulation system can provide data service for disaster system construction of the information system, disaster recovery ability evaluation of the disaster tolerant information system, the system maintenance.

Key words: system simulation     system disaster tolerance     disaster backup     fault injection    

灾难备份是信息化系统业务连续性的重要保障手段[1],然而,灾难备份中心的建设成本较高,基于实际系统的容灾技术方案验证可能损伤系统服务能力[2-3],容灾仿真由于其前瞻性和系统性得到了信息化建设领域的高度重视.分析发现容灾仿真研究往往依赖于实际系统环境,具有模型固定、故障与容灾策略脱节、量化评价精确性差[4-6]的问题.为此,提出一种通用的容灾信息系统建模方法,设计并实现了容灾仿真系统(DTSS,disaster tolerant simulation system)作为容灾技术研究平台,为信息系统灾备建设、容灾信息系统灾难恢复能力评价、系统维护提供平台支撑.

1 容灾仿真系统

容灾仿真系统主要实现对系统环境、系统业务以及灾难事件3部分的仿真.

1.1 系统环境仿真

容灾仿真系统环境由信息系统(即“本地生产中心”)和灾难备份中心(即“灾备中心”)构成.本地生产中心和灾备中心统称为信息中心,每个信息中心均可作为生产中心为系统用户提供服务.此外,为了实现对系统日常业务活动的仿真,DTSS还实现了用户系统环境(即“用户中心”)仿真.

1.2 系统业务仿真

系统业务仿真主要完成对信息系统正常运行的业务活动和在灾难事件发生条件下容灾活动的仿真.其中,容灾活动主要针对切换性故障.当若切换性故障事件发生导致当前生产中心瘫痪,系统启动自主容灾功能,自动在其他较低优先级的信息中心中寻找优先级最高且处于正常状态的信息中心,将应用业务切换到该信息中心,并将该信息中心作为当前的生产中心为用户提供服务(称作“切换流程”);当存在比当前生产中心优先级高且处于正常的信息中心,则将业务回切到该信息中心,并将其作为当前的生产中心为用户提供服务(称作“回切流程”).

1.3 灾难事件仿真

灾难事件的发生可能导致信息系统或其灾备系统的各个元素(如设备、链路等)出现不同程度的故障.以“是否能够引发信息中心切换”为准则,可将故障抽象为2类:可引发信息中心切换的故障事件(即“切换性故障事件”)和不可引发信息中心切换的故障事件(即“非切换性故障事件”).

2 系统建模与设计2.1 系统架构模型

容灾信息系统通过网络实现提供对外服务和灾难备份功能,用户利用网络访问系统服务.因此,信息中心可以从功能模型和网络模型2个方面进行建模.基于集群技术构建功能模型,基于网络3层架构模型构建网络模型,信息中心模型如图 1所示.

图 1 信息中心模型

基于信息中心模型,可构建容灾信息系统仿真模型.在MN个中心灾备模式下,地方1中包含1个本地生产中心和N1个本地灾备中心,地方i包含Ni个异地灾备中心,其中,i∈{1,2,…,M},用户中心个数默认为1.当M=2,N=3时,容灾信息系统包括本地生产中心、本地灾备中心和异地灾备中心共3个信息中心,此种模式被称为“两地三中心”典型灾备模式,其容灾模型如图 2所示.

图 2 “两地三中心”容灾系统模型

3个信息中心对外提供唯一访问接口,由当前生产中心为用户提供服务.以“距离远优先级低,距离近优先级高”为原则,设置信息中心优先级从高到低为:本地生产中心、本地灾备中心和异地灾备中心.信息中心之间可能发生的切换流程如图 2中标识1、3和5所示,回切流程如图 2中标识2、4和6所示.

2.2 系统评价方法

设计利用仿真一致性、恢复时间目标(RTO,recovery time object)/恢复时间点目标(RPO,recovery point object)值和可用存储量3个指标对DTSS的可用性进行检验.其中,仿真一致性指标用于评价DTSS系统的仿真运行能力,RTO/RPO指标用于评价DTSS系统的灾难恢复能力,可用存储量指标用于评价DTSS系统的维护能力.

1) 仿真一致性

假设配置统计时间间隔为ΔT1,通过统计各中心的生产数据量情况,观察变化趋势,与仿真场景进行比较,检验为本系统是否能够按照需求运行.

2) RTO/RPO

假设容灾信息系统仿真开始时刻为S1.仿真结束时刻为S2,生成交互相同数据量时实际系统运行时间为ΔT2,信息中心总个数为N,用户个数为C1,每个信息中心可提供的业务种类数为C2,灾难事件个数为S3,第i个信息中心每秒钟为第j个用户提供第k种业务提供服务的速率为Vijk,获得的利润为Pijk,企业可容忍的利润损失为L,系统最长全备份周期为ΔT3,系统实际仿真备份周期为ΔT,第q个灾难事件发生时刻为Tq,被检测到的时刻为Aq,成功切换到其他信息中心的时刻为Bq.其中,i∈{1,2,…,N},k∈{1,2,…,C2},q∈{1,2,…,C3}.

该容灾信息系统可容忍的RTO/RPO最大值分别为TmaxPmax,计算如式(1) 和式(2) 所示.

(1)
(2)

DTSS仿真统计得到的RTO值为Ts,RPO值为Ps,计算如式(3) 和式(4) 所示.

(3)
(4)

当前配置下的实际容灾信息系统实际RTO值Tr和RPO值Pr,计算如式(5) 和式(6) 所示.

(5)
(6)

Tr小于等于Tmax且若Pr小于等于Pmax,则判定按照当前灾备方案建设后的灾难信息系统可满足企业的RTO/RPO指标需求,否则,判定不满足企业的RTO/RPO指标需求.此外,根据国家《信息系统灾难恢复规范》(GB/T 20988—2007) 中对信息系统故障恢复各等级对应的RTO/RPO的规定,根据TmaxPmax的值便可判断当前系统的容灾等级,为灾难恢复能力评价提供数据支撑的能力.

3) 可用存储量

假设当前各信息中心的可用存储极限值为Rg. DTSS运行过程中以时间间隔ΔT1统计数据量变化情况Dg,则可利用式(7) 得到DTSS中各信息中心的可用存储量Eg,其中g∈{1,2,…,N},则预估计实际容灾信息系统在运行ΔT2时间过程中各信息中心的可用存储量Fg可用式(8) 来计算并统计.

(7)
(8)
2.3 系统仿真模型

为了实现对实际容灾系统的仿真,本系统设计4个功能,包括:系统控制、系统仿真、系统记录和系统展示功能.

1) 系统控制

容灾信息系统建设是一项复杂的系统工程.本系统从运行环境、运行时间和运行策略3个方面实现参数控制,以解决现有备份仿真系统仿真对象单一、运行灵活性差的问题.

对于运行环境类参数,按照控制对象不同,可分为4个子类:灾备模式类参数(容灾系统个数等)、环境类参数(信息系统、备份系统和用户系统的各层节点个数、邻层间和系统间节点连接网络情况等)、交互类参数(交互业务类别个数和类型等)和故障状态类参数(故障节点和链路编号等);对于运行时间类参数,按照控制对象不同,可分为3个子类:系统时间类参数(仿真结束时刻等)、故障时间类参数(故障发生时刻和修复时刻等)、数据备份时间类参数(备份间隔等);对于运行策略参数,按照控制对象不同,可分为2个子类:灾备中心策略参数(中心优先级等)和数据备份策略参数(备份范围等).

2) 系统仿真

本功能由环境仿真、业务仿真、故障仿真、备份仿真、自检测仿真、灾难恢复流程仿真6个子功能组成.其中,环境仿真子功能负责完成信息系统自身环境、灾备中心、用户中心及彼此间的网络通信环境的仿真;业务仿真子功能负责完成用户向当前生产中心访问服务行为的仿真;故障仿真子功能负责完成灾难事件引发故障活动的仿真;备份仿真子功能负责完成数据备份仿真;自检测仿真实时监测并动态评估系统的可用状态,进而判断是否启动系统的灾难恢复流程,在实际系统中,此部分工作通常由人完成;灾难恢复仿真子功能完成从发现引起当前生产中心瘫痪的切换性故障事件到找到可用的灾备中心,由其代替当前生产中心对外提供正常服务这一灾难恢复过程的仿真,包括故障通知、中心切换、业务切换等操作.

3) 系统记录

本功能负责以数据形式跟踪DTSS的运行状态,并将记录数据作为系统评价的数据支撑.

4) 系统展示

本功能可提供对仿真过程的可重复演示,支持对延时进度和速度的控制,提供对任意仿真时刻的系统元素信息的过滤、浏览和监控功能.与体系庞大的实际系统运行效果相比,具有可视度高的优势,可帮助快速地理解并掌握系统运行状态.

3 仿真结果

仿真实验的环境说明如下.

操作系统:Windows操作系统

软件环境:Cygwin软件,NS2仿真软件

硬件环境:1台Intel(R) Xeon(R) 2.27 GHz处理器,8 GB内存和320 GB SCSI硬盘的服务器.

3.1 仿真场景

企业容灾信息系统采用两地三中心的灾备模式,从2014-04-01—2014-04-15对1万个用户开放1种业务服务,3个信息中心对每个用户的服务速率为10 MB/s,对应产生的利润约为0.006元,而企业可忍受的最大损失为30万元,系统以4 min为间隔进行数据采集和记录,备份周期为12 h,各个信息中心的存储容量为50 GB.

在2014-04-02-19:12,第1次灾难事件发生,导致本地生产中心和本地备份中心出现切换性故障,需要启动灾备系统的故障恢复操作,将业务和数据切换到异地备份中心,并在2014-04-03-00:00被修复.

在2014-04-09-00:00,第2次灾难事件发生, 导致本地生产中心出现切换性故障,需启动灾备系统的故障恢复操作, 将业务和数据切换到本地备份中心,并在2014-04-11-19:12被修复.

考虑到仿真系统与实际系统规模的差别,DTSS系统以25 920:1的时间比例对实际系统进行仿真.

设置DTSS关键仿真参数信息如表 1所示.

表 1 DTSS关键参数说明

基于式(1) 和式(2) 计算实际系统的RTO/RPO极限值,得到Tmax≈27 min,Pmax≈3.6 h.

3.2 结果分析

在NS2仿真平台中,节点代表设备,线路代表网络链路。

基于需求配置参数的控制,DTSS生成的系统架构效果如图 3所示.

图 3 系统布局

DTSS中包括用户中心、本地生产中心、本地灾备中心和异地灾备中心4个中心,符合按照两地三中心的灾备模式.

1) 仿真一致性

系统以时间间隔ΔT1对本地生产中心、本地备份中心和异地备份中心生产的数据量情况进行统计,统计结果如图 4所示.

图 4 各个信息中心生产数据情况

选取S1S2t1t2t3t4共6个时刻作为时间节点,对5个时间段内的吞吐量值的变化情况分析如下.

在[S1, t1]、[t2, t3]、[t4, S2]3个时间段内,本地生产中心的数据量处于不断增加趋势,而其他信息中心的数据量处于稳定不变的趋势,这种变化表示此时本地生产中心为用户提供持续的业务服务.

在[t1, t2]时间段,本地生产中心和本地备份中心的数据量处于稳定趋势,而异地备份中心的数据量保持不断增加趋势,这种变化表示在t1时刻发现了故障1,启动了切换流程,并在t2时刻之前保持由异地备份中心作为生产中心为用户提供持续的业务服务,在t2时刻发现了故障1被修复,启动了回切流程,恢复由本地生产中心为用户提供服务.

在[t3, t4]时间段,本地生产中心和异地备份中心的数据量处于稳定趋势,而本地备份中心的数据量保持不断增加趋势,这种变化表示在t23时刻发现了故障2,启动了切换流程,并在t4时刻之前保持由本地备份中心作为生产中心为用户提供持续的业务服务,在t4时刻发现了故障2被修复,并启动了回切流程,恢复由本地生产中心为用户提供服务.

由此分析,各个信息中心生产数据的变化情况与仿真场景完全一致,证明DTSS系统具有为信息系统灾备建设提供服务的能力.

2) RTO/RPO

基于DTSS系统对检测到2次灾难事件发生时刻信息分别为6.0 s和30.0 s,灾难后成功切换到其他信息中心的时刻信息分别为6.005 8 s和30.054 3 s.

利用式(3) 和式(4) 计算得到容灾信息系统的RTO/RPO仿真值Ts≈0.03 s,Ps≈0.32 s,进而利用式(5) 和式(6) 得到实际系统RTO/RPO估算值Tr≈14 min,Pr≈2.4 h.

显然,2Tr < Tmax且2Pr < Pmax,证明在当前的灾备方案下搭建的容灾信息系统可满足企业的RTO/RPO需求,证明DTSS具有为容灾信息系统灾难恢复能力评价提供服务的能力.

3) 可用存储量

按照式(7),以时间间隔0.01 s对各个信息中心的存储情况进行估算统计,结果如图 5所示.

图 5 各个中心的可用存储量情况

利用式(8) 得到实际系统的存储变化情况,能够为企业系统的维护和优化提供数据支撑.

综上分析,DTSS具有为信息系统灾备建设、容灾系统灾难恢复能力评价和系统维护与改进提供支撑的能力,能够为系统容灾提供研究平台.

4 结束语

针对容灾信息系统难以量化和评价的问题,基于对实际容灾信息系统的分析提出了一种通用的容灾信息系统建模方法,设计并实现了一种容灾仿真系统DTSS.基于系统仿真模型,DTSS通过对外提供配置接口,实现了对实际系统环境的仿真,通过故障注入技术完成故障的产生,并通过故障激发容灾过程.此外,DTSS综合利用数据复制技术和心跳检测实现了对容灾信息系统业务活动的仿真.实验结果证明,DTSS系统能够为信息系统灾备建设、容灾信息系统灾难恢复能力评价和系统维护与改进提供数据支撑.但是,DTSS提供的配置策略并不是最优的,如何进一步优化系统配置策略,提高对实际容灾信息系统的仿真精确度将是下一步研究的主要方向.

参考文献
[1] 杨义先, 姚文斌, 陈钊. 信息系统灾备技术综论[J]. 北京邮电大学学报, 2010, 33(2): 1–6.
Yang Yixian, Yao Wenbin, Chen Zhao, et al. Review of disaster backup and recovery technology of information system[J].Journal of Beijing University of Posts and Telecommunications, 2010, 33(2): 1–6.
[2] Yu Hongliang, Xiang Xiajia, Zhao Ying, et al. BIRDS: a bare-metal recovery system for instant restoration of data services[J].IEEE Trans on Computers, 2014, 63(6): 1392–1407. doi: 10.1109/TC.2013.19
[3] Zhang Liangping, Wang Weixing. Constructions on disaster tolerant backup system of management information system[C]//ICCSE 2011. Singapore: IEEE Press, 2011: 425-427.
[4] Wang Hua, Zhou Ke, Yuan Ling. Fault tolerant online backup service: formal modeling and reasoning[C]//NAS 2009. Zhangjiajie, Hunan: IEEE Press, 2009: 452-460.
[5] 沈迪, 李建华, 朱瑞. 军事信息系统容灾备份策略仿真研究[J]. 计算机仿真, 2013, 30(1): 23–27.
Shen Di, Li Jianhua, Zhu Rui, et al. Simulation and researching of disaster backup strategy of military information system[J].Computer Simulation, 2013, 30(1): 23–27.
[6] 项菲, 刘川意, 方滨兴. 新的基于云计算环境的数据容灾策略[J]. 通信学报, 2013, 34(6): 92–101.
Xiang Fei, Liu Chuanyi, Fang Binxing, et al. Novel “rich cloud” based data disaster recovery strategy[J].Journal on Communications, 2013, 34(6): 92–101.