赵宇兰
(山西大学商务学院,山西 太原 030031)
武警医院异地容灾备份系统的设计
赵宇兰
(山西大学商务学院,山西 太原 030031)
本文采用SAN网络技术和DataGuard数据同步技术设计适应太原市武警医院发展的网络异地容灾备份系统。该设计方案能够提供日常的数据同步复制,灾难发生时的业务接管和灾后的系统恢复功能,方案的实施可使武警医院MIS系统具备对抗人为或自然灾害所导致的数据丢失和系统崩溃等问题的能力。
容灾备份;DataGuard;医院系统
随着全球信息化水平的大幅提升,各行各业都开始建立起自己的数据中心,用以承载企业部门的应用系统。庞大的系统会产生海量的数据,数据集中也带来难以预料的技术风险,如果发生灾难,将导致业务数据丢失和应用服务无法正常运转。为了能够应付医院MIS系统对数据完整性和安全性、业务持续性和稳定性等方面的需求,太原市武警医院采用定期自动备份策略和灾后恢复计划,用于信息系统在灾难发生后数据和应用服务的恢复。但这种方法无法保证医院业务7×24小时持续运转。本文旨在为武警医院MIS系统建立一个更高水平的异地容灾备份策略,使其不仅能够具备对抗人为和自然灾难的能力,还能应对MIS系统业务持续性方面的严苛要求。
1.1 医院MIS系统现状
太原市武警医院信息系统目前使用Oracle数据库作为后台数据库服务器,业务系统包括医院信息系统HIS、放射学信息系统RIS、影像归档共享系统PACS和电子病历系统ERM四个子系统,可以对门诊挂号、就诊、电子病历、电子处方、结算、检验检查、取药及出入院管理等一系列的信息化活动进行有效的管理。
1.2 医院MIS系统灾备现状分析
医院目前已采取了服务器的双机热备份,建设了冗余网络和存储,启用了UPS不间断电源等措施来保障业务中心在出现网络单链路不通、存储单硬盘故障、单服务器故障、单操作系统崩溃或临时停电时可以正常运行。然而在发生数据库人为错误操作、病毒入侵、恐怖袭击、突发灾害等引起的业务中心意外崩溃时,现有的保障措施则可能会无法发挥作用,从而导致数据丢失、系统全线中断等情况的发生。
1.3 医院异地容灾需求分析
由于医院业务必须7×24小时不间断运行,保证信息系统可用、系统数据不会丢失是构建武警医院异地容灾备份系统的最终目标。
根据上述分析,医院的灾备系统应满足以下要求:
1) 确保加入容灾备份系统的系统数据因任何意外事故所导致的业务中心故障、系统无法正常运行、生产数据丢失的情况下,灾备中心仍存有完整的数据。
2) 为了便于使用备份副本恢复生产数据的情况,主库数据应实时更新到备用库。
3) 模拟业务中心在异地建立与之等同的应用系统,即灾备中心,一旦业务中心意外瘫痪,灾备中心可以接替业务中心来对外提供持续的服务。当业务中心因为应用软件、网络线路、服务器、电源或存储介质等故障而无法正常运行时,可以切换到灾备中心的相应设备来支持业务的持续性。业务中心恢复正常后,在此期间灾备中心的数据变化拷贝回业务中心,然后由业务中心继续提供服务。
2.1 技术选择
根据医院的现状和需求,综合考虑系统业务、数据库版本和经济效益等因素,确定使用DataGuard技术[1]进行灾难备份,采用心跳协议[2]进行灾难检测,采用IP漂移技术[2]实现灾难切换。
Oracle的DataGuard可在保证数据零丢失的同时,实现最快的主备库切换恢复功能,且其组件由Oracle自带,无需购买,能带来更大的投资回报。其原理为通过多个服务进程的相互配合实现日志复制到备库并重演的工作。
2.2 初步方案设计
本设计主要实现两个功能,一是在业务中心正常运转时,医院MIS系统调用主数据库来响应操作请求,将数据同步到灾备中心的备份数据库,保持主备两库的数据一致;一旦因灾难导致业务中心故障,容灾中心凭借冗余的应用环境自动或手动进行灾难替换,接替业务中心的业务服务;当业务中心恢复正常,服务回切。另一个是备份数据库可以作为统计查询库来减轻业务中心的工作负载。初步方案设计如图1所示。
图1 灾备系统初步方案
2.2.1 业务中心的数据库崩溃应急方案
当业务中心的主数据库因某些原因不可访问时,灾难切换模块立即启动系统切换功能,通过IP地址漂移技术由备份数据库来支撑应用层的数据交换工作,使业务能够继续进行;当主数据库恢复正常后,将主数据库修复期间变更的业务数据同步到主库,然后通过切换由主数据库继续提供服务。
2.2.2 业务中心应用层崩溃应急方案
当业务中心应用层因某些原因(如应用系统崩溃、服务器故障等)不可访问时,通过IP地址漂移技术由备用系统来加载系统应用,使用主数据库的相应存储地址作为访问路径来保证业务连续性;当业务中心的应用层恢复正常,则由生产系统继续提供应用层的服务。
2.2.3 数据库及应用层均崩溃应急方案
当业务中心的数据库和应用层均崩溃时,由灾备中心来提供服务,在对客户端完全透明的情况下完成灾难替换,由灾备系统和备份数据库来代替医院MIS系统和主数据库;当业务中心恢复正常后,进行灾难回切。
2.3 系统的总体架构
2.3.1 医院灾备系统的总体架构图
灾备系统总体架构如图2所示,在灾备中心分别建立医院业务系统各自的虚拟机及容灾应用系统。当业务中心在正常运行时,将业务数据定期复制到灾难恢复中心,以保证数据的一致性;当业务中心发生故障须进行灾难恢复,由虚拟机提供业务服务。
图2 医院灾备系统的总体架构图
2.3.2 医院灾备系统的网络拓扑结构
网络拓扑结构如图3所示,在本院的其他楼宇内建设一个灾备中心,并铺设网络线路分别连接业务中心的两个交换机上,实现网络冗余,然后搭建灾备环境。在灾备服务器上依次安装操作系统、数据库管理系统、应用系统插件以及医院业务系统,并将最新的数据库副本拷贝到统一存储中,业务中心的关键数据要通过网络定期拷贝到灾备中心。
2.4 系统总体流程设计
系统的流程设计如图4所示,首先对生产系统进行循环检测,看其是否正常运行,当一切正常时,只需将数据同步到灾备系统;当检测到业务中心停止运行时,灾备系统将自动或手动地进行容灾切换,以保证业务连续性,在此期间仍进行循环检测,看生产系统是否已恢复正常,若业务中心恢复正常,就进行系统恢复。该灾备系统的主要功能模块有灾难检测、同步复制、灾难切换和系统恢复。
1) 灾难检测模块
灾难检测模块用于判断生产系统是否发生故障,并在灾难发生时及时报警,便于管理员定位故障和实施容灾切换[3]。检测原理为:由灾备系统周期性地发出响应数据包,如果生产服务器立即响应,说明服务器正常,若该包未在规定时间内得到响应,备份服务器则通过备用信道发送响应数据包,若无响应,则排除链路故障的可能,否则说明是网络故障。
图3 医院灾备系统的网络拓扑图
图4 医院灾备系统的流程设计图
2) 同步复制模块
同步复制模块是灾备的基础,它通过DataGuard技术将业务中心的在线日志和归档日志拷贝到备份数据库,并根据StandBy类型的应用相应日志。
3) 灾难切换模块
灾难切换模块在接收到灾难检测模块发送的报警信息后,按照预定的容灾应急方案,以自动或手动模式进行容灾切换,并由灾备系统响应客户端请求[4]。
4) 系统恢复模块
由于灾备中心的环境配置通常要低于业务中心,因此当业务中心恢复正常时,系统恢复模块要在保证数据零丢失和对客户端透明的情况下,回切到业务中心。
3.1 环境配置要求
以EMR模块灾备系统为例,配置如表1所示:
表1 灾备配置表
3.2 同步复制模块
3.2.1 主库的配置
1) 检查主库是否为归档模式,如果不是需重启数据库到mount阶段,修改数据库的归档状态。
2) 修改主库的force logging模式,以提高速度,防止重做日志遗漏修改记录。
3) 根据主库的备份文件和初始化参数文件生成备库控制文件standby.ctl和初始化参数文件pfileWDS.ora文件,并拷贝到备库的相应路径下。
4) 修改主库的初始化参数文件。①指定数据库唯一标识,列出同一个DataGuard环境中的所有数据库,即主库和备库;②指定归档文件的生成路径;③归档日志传输给备库的参数设置为在线同步复制,并标识参数有效;④指定主库和备库的连接服务名为fal_server=wjerm2;⑤设置主库数据变更时,备库自动管理的参数;⑥重启主库,使所设参数生效。
5) 在listener.ora文件中配置oracle监听服务。
6) 在tnsname.ora文件中配置网络服务名。
3.2.2 备库的配置
1) 建立备库相关目录,创建控制文件。
2) 以“主库为备库,备库为主库”的形式,参照对主库的配置进行备库的相应操作。
3) 使用DataGuard的数据同步命令,启动系统后台进程来使数据库处于实时恢复状态。
4) 进行主备库联通测试。
3.2.3 同步复制的检测
为了确定同步复制模块是否正常运作,需对其进行检测,验证方法如下:
1) 通过比较主备库各自最近在线日志是否一致来判断在线日志的传输是否正常。
2) 通过比较备用库最近的被应用日志和最近接收到的日志文件来判断日志的应用是否正常。
3.3 灾难切换模块
灾难切换有两种情况,一种是业务中心发生故障时,启用备用库;另一种是业务中心进行系统升级或硬件维护时,启用备用库。针对这两种情况,DataGuard分别提供了计划内停用的转换开关switchover和计划外终止的故障切换failover[5]。
灾难切换流程如图5所示。
上述设计中主要给出了医院ERM系统的容灾方案,其他系统可以以相同的方法来建立灾备模块。
针对太原市武警医院MIS系统对数据完整性和安全性、业务持续性和稳定性等方面的需求,采用DataGuard、心跳协议和IP漂移等技术设计网络异地容灾备份策略,并给出了灾备系统的总体架构和详细的技术实现。不足之处,关于灾难预警、短信报警,以及整个应急响应的全员联动等功能还未实现,有待深入解决。
图5 灾难切换流程
[1] 刘旭辉.华为3Com税务数据中心解决方案[J].中国新通信,2006(13):88-90.
[2] 朱铁兵.瑞金医院容灾智能处理系统的设计与实现[D].大连:大连理工大学,2014.
[3] Grewe L,Krishnagiri S,Crisobal J.DiRect:A Disaster Recover System [C],Proceedings of SPIE-The Intemational Society for Optical Engineering.2014:480-489.
[4] 于俊.基于等级的灾备系统模型与方法研究[D].北京:北京邮电大学,2015.
[5] 李丽虹,吴江,唐杰.On-line Data Backup Method Based on Data Volume Snapshot:CN 1567262 A[P].2005.
Design of Disaster Recovery System for Armed Police Hospital
Zhao Yulan
(BusinessCollegeofShanxiUniversity,TaiyuanShanxi030031,China)
This paper uses SAN and DataGuard technology to design the long-distance network disaster tolerance system,which is suitable for Taiyuan Armed Police Hospital. The design scheme can provide the synchronous replication of the daily data, the business taking over at the time of disaster and the system recovery function after the disaster. It can solve such problems such as data loss and system crash caused by man-made or natural disasters for MIS of armed police hospital.
disaster recovery;DataGuard;hospital system
2017-04-10
赵宇兰(1979- ),女,山西晋中市人,副教授,硕士研究生,主要研究领域为大数据处理,分布式数据库系统。
1674- 4578(2017)03- 0023- 04
TP392
A