医院业务容灾系统建设初探
2018-11-10方家树王耀
方家树 王耀
[摘 要] 医院信息系统业务范围广,涵盖了医疗、管理的各个环节,经过多年的建设,数据量大。一旦系统瘫痪或数据丢失,将会给医院和病人带来巨大的灾难和难以弥补的损失。建立医院业务容灾系统势在必行。本文通过对医院容灾系统建设的目标、容灾系统的主要技术指标以及医院建立容灾系统需要考虑的关键因素进行阐述。综合考虑目标、效果、成本之后,从医院现实所处条件、环境、具备的能力等方面综合去设计适合的容灾方案,选择具有快速恢复能力,能够有效解决软错误的容灾方案,当医院信息系统面临灾难性事件时,才能为业务保驾护航,使得医院的业务系统键康稳定地运行。
[关键词] 医院业务系统;容灾;主要技术指标;关键因素
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 17. 070
[中图分类号] TP315 [文献标识码] A [文章编号] 1673 - 0194(2018)17- 0177- 04
1 医院业务现状
医院的信息化建设经过十几年的建设,HIS、LIS、EMR、PACS等业务都已经建设完毕,当前任务是逐渐向数据集成平台、信息互联互通的方向进一步的建设。
在软件层面,当前存在的业务软件系统,已经覆盖全院的每个部门,涵盖病人来院就诊的各个环节,几百上千台客户端同时运行,支持各方面的管理,成为医院开展医疗服务的业务平台,医院信息系统的稳定和安全性直接关系到医院医疗工作的正常运行,一旦系统瘫痪或数据丢失,将会给医院和病人带来巨大的灾难和难以弥补的损失。
另外,随着医院信息系统模块的不断增加,数据经年累月地积累,导致服务器的业务负担逐渐沉重,数据库越来越庞大,查询的速度也越来越慢,而且还会在很大程度上影响正常业务的运行。
硬件方面,有很多医院的网络层面在核心、楼层都使用了冗余;服务器系统已经基本上通过了双机热备、负载均衡、虚拟化来实现故障的漂移;在存储层面,使用了存储镜像、虚拟网关等技术来规避存储的单点故障,但这些是否都已经在业务容灾层面考虑周全,还需要进一步地确认。
随着医院信息化进程朝着更深的程度发展,结合当前的业务系统,立足于今后的业务发展,如何改造现有的信息系统架构,对当前信息系统的容灾建设进行分析,建立起一套符合医院业务运行、多层次防护、立体的、立足于业务的容灾和应急体系,是一件必须重视和考虑的事情。
2 医院主要业务系统容灾分析
在建立一套完整的、符合医院实际需求的容灾和应急系统之前,必须对医院的业务进行详细的归类、分析。
3 故障常见原因
相对于医院而言,一般对业务连续性和数据库安全造成的威胁主要有以下几类。
3.1 自然灾害
自然的或意外的事故、灾难,例如地震、水灾、火灾等导致的硬件损坏,进而导致数据的损坏和丢失。这个原因,在大部分医院出现的可能性比较小,可能性相对较大比例的是火灾。
3.2 基础设施
由于供电、制冷等基础设施造成的系统业务停顿和数据损坏,很多医院的供电输入或UPS是单链路,当供电发生故障时,就容易造成主机房的全部断电,引发全院性的业务中断;有些医院的空调设备是单路,发生故障时会造成机房温度过高,引起系统瘫痪。
3.3 硬件故障
服务器、存储、网络等硬件故障造成系统瘫痪、业务停止,严重的会造成数据丢失;虽然在这个层面有一些双机热备、存储镜像等技术来规避故障,但仍然有很多方面的因素会导致系统瘫痪。
3.4 软件故障和BUG
由于技术的实施和使用者对于技术的配置不当,或者软件本身BUG引发的稳定性不够。
3.5 人为疏忽或者破坏
由于授权用户造成的无心的误操作或者损坏,例如误删除;存心不良的编程人员、技术支持人员和执行数据库管理功能的人员的破坏、毁损及其他行为。
4 容灾建设的目标要求
面对医疗信息化建设的快速发展,如何应对医院信息系统出现的各种意外故障,如何提高醫院信息化抗风险能力和应对突发事件的能力,保证医院正常工作的开展。建立容灾系统势在必行。
通过对医疗市场分析和医疗领域所提出的种种规范可以得出医疗行业对容灾系统的要求有如下几点:
(1)容灾系统必须考虑到机房、基础设施、网络、服务器、数据、业务等各个方面。
(2)容灾系统必须保证医院各业务系统能不间断运行。
(3)容灾系统必须考虑到各个业务模块之间的关联和影响。
(4)容灾系统不能影响医院各业务系统的运行状态。
(5)当灾难发生时,容灾系统必须能全面,快速地恢复业务系统。
(6)特殊地区容灾需要做到异地容灾,保证数据安全。
(7)容灾系统的备用系统必须为可用系统,备用数据必须为可用数据。
(8)容灾系统数据必须保证与生产系统数据实时同步。
5 容灾系统的主要技术指标
从技术和适用性的角度考虑,主要有以下几个技术指标。
5.1 RTO (Recovery Time Object)
RTO是指“将信息系统从灾难造成的故障或瘫痪状态恢复到可正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态”所需时间,其中包括备份数据恢复到可用状态所需时间、数据处理系统切换时间以及备用网络切换时间等,该指标用以衡量容灾方案的业务恢复能力。
5.2 RPO(Recovery Point Time)
RPO是指业务系统所允许的灾难过程中的最大数据丢失量(以时间来度量),这是一个与数据备份系统所选用的技术有密切关系的指标,用以衡量灾难恢复方案的数据冗余备份能力。
5.3 容灾半径
是指生产中心和灾备中心之间的直线距离,用以衡量容灾方案所能防御的灾难影响范围。
5.4 容灾适应性
指的是容灾系统在实施和使用的过程中对原有的生产系统、硬件系统、网络系统的影响,有的容灾系统可能需要在冻结原有的生产系统的情况下进行数据的复制,有的容灾系统可能要对硬件、网络环境进行改造,改造成系统所要求的条件。这些改造对原有的系统和数据都存在一定的风险性。
5.5 容灾可见性
指的是容灾系统的容灾效果是不是可见、可查询的。有的容灾系统的容灾效果要等灾难发生之后,备用系统恢复之后才能验证是不是真做到了数据零丢失的效果。如果数据复制失败不能马上反映出来,同样达不到容灾的效果。
显然,具有零RTO、零RPO和大容灾半径的灾难恢复方案是医院最期望的,但受系统性能要求、适用技术及成本等方面的约束,这种方案实际上是不大可行的。
所以,医院在选择容灾方案时应该综合考虑灾难的发生概率、灾难对数据的破坏力、数据所支撑业务的重要性、适用的技术措施及自身所能承受的成本等多种因素,理性地做出选择。
6 医院容灾考虑的关键因素
根据医院的实际情况,分析了众多导致医院业务连续性故障的案例,我们建议在实际的容灾建设过程中充分考虑到以下因素。
6.1 容灾建设成本
综合考虑灾备项目,目标、规模、风险、成本这几种因素总是紧密关联在一起的。容灾项目的成本是由前三者综合决定的。建设一个完备的灾备系统到底需要投入多少资金,投入巨资建设的一个灾备系统到底能起到什么样的效果和作用,这是很多医院对容灾建设最为关心的问题。
在容灾建设中,首先要考虑的是建设目标,一般而言,容灾建设目标中,我们需要考虑灾难的防御范围、恢复的效果,还需要考虑是否建设能够防御大型灾害的异地灾备系统(还是仅仅同城)等。当我们对于灾难防御的目标胸有成竹之后,我们就需要考虑建设成本了。
6.1.1 场地费用
包括灾备机房基础设施费用,灾备中心人员费用等。
6.1.2 设备费用
包括购买的灾备存储、交换机、路由器、协议转换器、主机等各种设备的费用。这些费用由于容灾技术方案的不同,组成元素完全不同。
6.1.3 传输网络费用
这一部分费用随着灾备技术路线的不同更是差距明显。尤其在异地灾备体系的建设中,容灾技术路线的不同导致的传输带宽评估有时令人难以置信,可以相差达到40倍的带宽差异。例如,采用不同的技术,也可能只需要每年支付20万的传输网络费用,也可能需要支付每年200万的网络费用,而实际效果却完全相同。
6.1.4 运维费用
这部分的费用包括向厂商或供应商购买的每年服务和应急的专业服务费用,还包括高级别的系统维护人员的费用。一般而言,随着设备开放性的增加,维护人员的成本就相应下降,而灾备应急如果能够掌握在用户手中,灾难应急时向厂商购买的专业服务费用就减少。
综合考虑以上几个方面的因素,用户就可以比较准确地计算出容灾系统建设的整体拥有成本,并能做出合理的取舍。
6.2 容灾半径
容灾半径因素是首先需要纳入容灾建设的第一步,容灾是采用同一机房的业务容灾?不同机房的容灾?不同大楼之间的容灾?还是不同院区之间的互相容灾?
容灾半径的不同,会影响到后续容灾技术的选择,会影响到容灾架构的稳定性,最终会影响到容灾效果,甚至能够影响到容灾是否能够切换。从目前常见的容灾半径来看,基本上采用的是同一院区不同机房的方式。随着医疗集团的方式兴起,一些有足够费用预算的医院会采用不同院区的容灾半径。
6.3 容灾的范围和层面
容灾层面的选择是第二层需要考虑的因素,这是一个纵向的业务范围,哪些业务模块需要纳入容灾的考虑体系中?根据业务需求的不同可以分为:全院业务层面的容灾、门诊级别的容灾、模块级别的容灾。
随着医院业务模块的推进,业务模块之间的关联和耦合度越来越高,模块级别的容灾考虑得越来越少,更多的会考虑到容灾启用后,各个模块之间是否能够正常地关联和交互。
容灾的业务范围考虑也是非常重要的一个步骤,这主要是一个横向的业务范围选择,医院的业务非常复杂,有些是7*24的核心关键业务,有些是非关键性业务。这些业务的容灾及可用性等级也是不一样的。
为了保障容灾切换的快捷和简便性,就需要尽可能地保障核心业务的快速切换,这就需要整理出一条业务关键路径,将医院的业务模块挂载到这条关键业务容灾路径上。从这个角度上,容灾路径是一个需要经常变动和关注的部分。
6.4 容灾技术的选择(多种技术的并行)
为了真正达到医院的业务容灾,需要将多种技术并行来解决不同层面的故障。
基于磁盘阵列的同步,数据同步性高,但是对于数据库的逻辑故障无法避免;基于数据库的数据同步,可以有效规避数据库的逻辑故障,但是大数据量时的同步效率一般。这时候就需要结合两者的优缺点,多种技术并行,建立不同层面的数据容灾。
6.5 容灾切换复杂性
切换过程的复杂性也是选择容灾的一个重要考虑因素。如果整个容灾过程需要很强的专业技能,需要很复杂的切换过程。那么这个容灾的建设肯定是不科学、不合理的。一个合理的容灾切换,必定是简单而且有效的。
6.6 容灾系统的实施和验证
容灾系统的实施过程中对于生产系统的影响,也是容灾建设选择的一个考虑因素。一个好的容灾系统建设,会对生产系统的影响降到最小,甚至业务系统对于容灾建设的过程是透明的。
作為一个成功的容灾系统,可以随时接受用户对于容灾数据的验证。该验证可以通过对于容灾的只读操作,对数据进行查询、统计和对比,来随机随时验证容灾数据是否能够正常使用。
6.7 应用容灾
容灾的目标除了避免数据丢失,让数据能够及时在线以外。最主要的一点是能够在容灾数据的基础上,让应用系统无缝地跑起来。因此这个应用启用流程是硬件、系统软件、容灾启用、应用启用整套流程。
7 常见的容灾技术
实现数据容灾的四种主要方式:两种逻辑数据复制:一是利用中间软件实现数据的远程备份;二是利用数据库系统本身实现数据库的远程备份。两种物理数据复制:一是利用系统软件或虚拟存储设备,实现数据网络镜像;二是利用存储子系统或者存储网关实现硬件级数据远程复制。
7.1 存储网关和磁盘阵列复制技术
存储网关技术的典型厂商是EMC的Vplex,vPlex 会通过透写方式写到两个站点,待数据写入两地的磁盘阵列后,才会向主机回应写完成。这样可以保持两个磁盘阵列之间的数据同步。
磁盘阵列复制技术主要由一些磁盘阵列厂商提供,如EMC SRDF、IBM PPRC 、HP BusinessCopy、HDS TrueCopy等, 该技术是将数据复制通过磁盘阵列控制器在进行写入操作的同时通过高速网络向容灾系统的阵列上发送相同的I/O指令来实现。
7.2 存储卷复制技术
由一些卷管理软件厂商提供,如VERITAS VVR。
7.3 存储虚拟化技术
飞康的CDP等,该技术是将系统中各种异构的存储设备映射为一个单一的存储资源,对用户完全透明,达到屏蔽存储设备的异构和主机的异构的目的。
7.4 数据库复制技术
由数据库厂商以及一些第三方厂商提供,如DSG RealSync/SmartE等。
8 结 语
在综合考虑目标、效果、成本之后,从医院现实所处条件、环境、具备的能力等方面综合去设计适合的容灾方案,选择具备有快速恢复能力,能够有效解决软错误的容灾方案,当医院信息系统面临灾难性事件时,才能为业务保驾护航,更使得医院的业务系统键康稳定地运行。
主要参考文献
[1]王欢,高向涛.医院容灾系统建设与虚拟化技术[J]. 现代电子技术,2012,35(8):46-49.