大型医院信息系统的容灾设计和应用
翁锦阳、何萍、朱铁兵
上海交通大学医学院附属瑞金医院计算机中心
通信地址:上海市卢湾区瑞金二路197号科教楼13楼计算机中心 翁锦阳收
邮编:200025
电子邮件:wjy@rjh.com.cn
联系电话:(021)64370045转611399
摘要:容灾的实质是通过各种容灾技术和手段保持信息系统的业务持续性。大型医院信息系统容灾设计和应用是一项系统工程,它涉及到管理、流程、规范等各个方面,而不仅仅是技术。容灾不仅仅简单的数据备份和恢复,还包括信息系统应用上的恢复。本文共享了在医院信息系统容灾设计过程中的经验,给出适合大型医院使用的容灾系统设计方案,并且详细说明其原理和实现过程。
关键词:容灾 存储局域网 服务器群集 连续数据保护 链路冗余
Abstract: The essence of disaster tolerance is to maintain the continuity of information system through a variety of disaster tolerance techniques and tools. Large-scale hospital information system design and application of disaster tolerance is not only technology, but also a systematic project, which involves management, processes, standards and other aspects. Disaster tolerance is not simple data backup and recovery. It includes restoration of information systems applications. This shared disaster tolerance in the large-scale hospital system design process the experience, the use of disaster tolerance for large-scale hospital systems design, and detailed description of its principle and realization.
Key words: Disaster Tolerance Storage Area Network Server Cluster Continuous Data Protection Link Redundancy
一、医院信息系统的容灾目的和需求
当前,大型医院已普遍建有医院信息系统,并已成为医院高效、有序开展医疗服务的基本保障。由于大型医院全年365天、全天24小时不间断服务和高峰期业务并发量大的特点,一旦信息系统发生故障,整个医院的业务将陷于瘫痪,因此对医院信息系统的运行安全性和连续性提出了很高的要求。为此,医院信息系统的容灾设计性对于大型医院来说显得尤为重要。
容灾,就是利用技术手段、管理手段,或者任何可以获取的管理资源,来确保一些关键的数据、处理关键数据的手段,以及关键的业务,在灾难发生后可以尽可能多、尽可能快地恢复的过程。医院信息系统的容灾目的,不仅是确保数据的完整性,还要保障关键业务的运行持续性。即当医院信息系统发生故障时,仍能够不间断地或尽可能快地恢复提供关键业务支持,并尽可能避免关键数据的丢失,以保证医疗业务的正常进行。
系统的容灾设计有两个评价标准:恢复时间目标(RTO,即在灾难发生后需要恢复的紧迫性)和恢复点目标(RPO,在灾难发生后恢复运转时数据丢失的可容忍程度)。RPO针对的是数据丢失,而RTO针对的是服务丢失。即系统容忍丢失的数据量越小,RPO的值越小;系统服务的紧迫性要求越高,RTO的值越小。由于医院承担救死扶伤任务的特殊性,决定了医院信息系统对RPO和RTO具有很高的要求。
二、医院信息系统的容灾设计和实现
医院信息系统有三大核心资源——计算资源、传输资源和存储资源。计算资源主要包括具有计算能力和业务处理能力的服务器。传输资源主要包括网络和各类网络交换设备。存储资源主要包括存放数据的各类存储设备。医院信息系统的容灾设计重点就是要保护这三种核心的资源。
1、计算资源的保护
计算资源的传统容灾方式主要是通过采用服务器群集技术来实现的。以典型的三层架构(一般将医院信息系统架构由上至下划分为表示层、业务逻辑层和数据访问层)分别独立部署在服务器或服务器群集上运行为例:
位于数据访问层的数据库服务器采用基于共享存储的双机热备方式。两台数据库服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。这一过程自动在短时间内完成(分钟级),对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。通过服务器群集的方式,能够以较短的时间在部分计算资源发生灾难后恢复,保障业务系统的持续稳定、可靠。
在上两层中——业务逻辑层(应用服务器)和表示层(页面服务器)由于只提供应用服务和用户访问界面,并不保存数据,一般不需要使用共享的存储设备,而应配置多台服务器建立负载均衡机制。一来避免在这两层上出现单点失效,实现容灾;二来可以为用户提供更好的访问质量、提高服务器响应速度。
对于服务器供电中断这类故障,可通过UPS的冗余并联实现快速甚至无缝的灾难恢复。UPS冗余并联实现了若干UPS设备本身的灾难恢复,一旦主机故障停机,系统自动选择作为从机(哪台先开哪台就是主机,而后开机的都是从机)运行的另一台UPS接替主机的工作,保持供电不间断。
2、传输资源的保护
传输资源的保护主要通过虚拟路由技术,以及双链路冗余和负载均衡来保障系统容灾的RTO。虚拟路由技术中最具代表性的是VRRP(虚拟路由冗余协议),可将一组用于医院信息系统服务器与客户端通信的路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定IP地址和MAC地址的逻辑路由器。处于同一个组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP响应和转发IP数据包。组中的其它路由器作为备份角色处于待命状态。当主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不用改变IP地址和MAC地址,故对医院信息系统客户端用户是透明的。
同时,通过合理的网络设计,可以到达备份和负载均衡双重效果。比如让两台路由器同时属于互为备份的两个组:在组1中路由器A为IP地址所有者;组2中路由器B为IP地址所有者。将客户端1的默认网关设定为路由器A;客户端2、客户端3的默认网关设定为路由器B。这样,既分担了设备负载和网络流量,又提高了网络可靠性。同样的,可以利用如Port-channel等技术可以实现链路的冗余和负载均衡。
3、存储资源的保护
存储资源由于承担保存医院信息系统数据的功能,建议在数据库服务器群集中采用双存储阵列作为共享存储(双链路双控制器冗余的存储阵列最佳),并以镜像方式同步。这样,即使作为共享存储的其中一个盘阵离线,服务依然能够无间断运行。
此外,可利用连续数据保护技术(CDP)对医院信息系统数据进行备份,此技术可以捕捉到一切文件级或数据块级别的数据写改动,可以对备份对象进行更加细化的粒度的恢复,可以恢复到任意时间点。硬盘部分,设置RAID容错报错,且有热拔插功能,一旦硬盘毁损,立刻抽换硬盘,系统仍可正常运作,无需中断或关机。
4、建立异地灾备中心
上述技术手段实现了医院信息系统的本地容灾,但对于机房遭遇火灾等大型灾害,本地容灾则显得无能为力。有鉴于此,应当在数据中心所处的建筑之外建
|
|