刘郁恒+杨龙刚
【摘 要】为了解决移动互联网时代业务运营支撑系统容灾支撑能力不足的问题,通过分析业务运营支撑系统对双活容灾建设的需求,采用双活、大二层网络架构等先进技术,提出了网络层双活、存储层双活、数据库层双活、应用层双活及系统组网高可靠性的双活容灾建设方案,从而有效提升业务运营支撑系统的可靠性和健壮性。
【关键词】业务运营支撑系统 双活并行 容灾 大二层网络 DNS集群
Research on Active-Active Disaster Recovery Construction Scheme of Business Operation Support System
[Abstract] In order to solve the problem of the insufficient disaster recovery capacity of the business operations support system in the era of mobile Internet, the requirement of the business operations support system for the active-active disaster recovery construction was analyzed. Advanced techniques of active-active and Large Layer 2 network architecture were adopted to propose a highly reliable active-active disaster recovery construction scheme, in which the active-active is applied to the network layer, storage layer and database layer. It can effectively enhance the reliability and the robustness of the business operations support system.
[Key words]business operation support system active-active in parallel disaster recovery Large Layer 2 networkDNS cluster
1 引言
随着移动互联网时代的快速发展、信息化的不断加深和信息量的飞速增长,信息本身已经成为企业生存和竞争的核心价值所在。同时,在云计算和大数据技术的催生下,信息集中度越来越高,随之而来的风险也将不断升级,这种社会技术环境的变化对业务运营支撑系统的数据灾难备份能力提出了新的挑战与机遇。由于地震、飓风、暴风雪或其他自然灾害的影响,业务运营支撑系统出现重大软、硬件故障或发生重大自然灾害和突发事件,会造成生产完全中断且在短时间不能恢复。
为了应对这种灾难性的突发事件,可以通过建设双活的灾备系统来满足业务连续性要求。在灾备中心对核心生产系统的数据进行实时或准实时的复制,同时可以建立一个应用的运行环境。当灾难性的突发事件发生后,在保证核心业务数据完整性的基础之上,可以利用应用运行环境将核心业务迅速切换到灾备系统,恢复关键系统运行,以达到业务不中断的目的。
2 总体架构研究
从系统架构的角度分析,目前容灾系统主要有主备、双中心互备和双活并行三种建设方案,如圖1所示。目前采用的前两种系统架构模式的RTO(Recovery Time Objective,恢复时间目标)均不为0,容灾端平时不可用,需要相应技术和流程保证系统切换,而双活并行模式理论上在灾难发生时,可以做到在不影响业务的前提下满足“0”切换要求。
和传统主备方式不同,完善的业务运营支撑系统双活容灾解决方案需要对整个系统的架构进行深入改造,从网络、存储、数据库和应用耦合等方面形成一套完整的建设方案,如图2所示。
具体如下:
(1)网络层:双活容灾系统两个生产中心之间采用大二层网络技术、光传输波分复用技术、虚拟化应用集群的心跳网络及防脑裂技术;
(2)接入层:借助DNS(Domain Name System,域名系统)和全局负载均衡技术实现双活接入及高可用保障;
(3)应用层:应用集群技术,弹性、云化部署应用;
(4)数据库层:采用数据库集群的高可用、异构数据库的复制能力与技术;
(5)存储层:存储的阵列复制技术、双活集群可读可写技术等保障故障切换能力。
3 关键技术研究
3.1 网络层双活
为保障业务运营支撑系统双活建设方案的可靠性,本文采用数据传输链路与心跳链路分离设计的原则,通过VLAN(Virtual Local Area Network,虚拟局域网)或VRF(Virtual Routing Forwarding,VPN路由转发表)隔离端到端的流量,同时分配独立的物理互联链路,做到业务流量与集群心跳流量的隔离。
在跨双活生产中心进行传输时,采用FC(Fibre Channel,光纤通道)链路实现双活中心间的数据实时同步,同时承载存储集群心跳网络;采用二层以太网络实现双活生产中心间的主机应用集群的心跳及同步互联链路通信。为保证应用以及数据库的时延要求,两个中心之间采用OTN(Optical Transport Network,光传送网)波分设备来构建网络,两个中心内部的以太网交换机和FC交换机分别同时连接到OTN波分设备,两个数据中心的OTN波分设备裸光纤直接级联,并冗余采用2对光纤,其网络拓扑如图3所示:
3.2 存储层双活
存储层是业务运营支撑双活容灾系统建设的核心之一,其双活技术在整个架构中起到关键作用。目前存储双活架构按照物理形态,可以分为基于虚拟化网关和基于磁盘阵列两种架构;按照业务能力,可以分为A/A(Active/Active,双活)模式双活和A/P(Active/Positive,主备)模式双活。
本文采用跨站点的双活集群技术实现存储层双活架构,如图4所示。集群卷向应用服务器提供无差异的并行访问,同时处理应用服务器的I/O(Input/Output,输入/输出端口)请求;各控制器间互为备份,均衡负载,控制器故障后,其承接的业务自动切换到正常控制器,以保证系统的可靠性及业务的连续性。集群间的通信支持多种网络协议,可降低组网的复杂度,提高系统的可靠性。
3.3 数据库层双活
(1)基于Oracle Extended RAC架构实现双活
Oracle RAC(Oracle Real Application Cluster,真正应用集群)作为一种集群数据库技术,以共享存储为基础,通过共享的存储资源实现各节点对数据库的并行访问,且在单个节点出现故障时,业务能自动切换到正常节点,从而保证数据库系统的高可用性。Oracle Extended RAC以跨中心共享存储为基础,通过共享存储资源和Oracle Clusterware数据库集群管理,实现各个中心节点对数据库的并行访问。
本文采用Oracle ASM(Automatic Storage Management,自动存储管理)存储卷管理,在两个生产中心分别部署一套存储,各提供一套LUN(Logical Unit Number,邏辑单元号)设备给全部数据库主机,实现数据的双向实时复制,在第3个站点部署用于RAC的第3个投票盘,使用NFS(Network File System,网络文件系统)的方式挂载到所有数据库主机,各节点间采用冗余光纤链接以保证可靠性,如图5所示。ASM支持对本地磁盘的优先读取,可避免跨数据中心的数据读取,以提高I/O性能并减少网络流量。
(2)内存数据库双活技术实现
内存库将数据常驻在内存中直接操作,相比从磁盘上访问极大地提高了应用的性能。在业务运营支撑系统中,内存库已被广泛用于实时计费。内存库集群部署主要有HA模式、双活模式、线性拆分和分布式集群四种模式。本文采用分布式集群模式,具体如图6所示。
该模式采用分布式内存数据库,具备对数据自动分布式加载和路由能力,内存库集群自动建立路由表,将数据以冗余的方式加载到集群中不同节点的内存库中,支持多个内存库同时进行读写。对外提供统一的访问接口,数据的分布对应用完全不透明。支持在线扩展,路由自动调整,便于维护。
3.4 应用层双活
应用层是中间件交易层,主要部署后台处理逻辑。要实现一个生产中心故障时服务不中断的双活方案,需要在每个生产中心分别部署一套完整的且完全相同的云化服务和应用,平时每个中心均为生产,并具备接管全部业务的能力。同时对数据访问,所有交易中间件针对每套数据库同时建立多个连接指向跨中心的数据库节点,确保单中心故障时数据库的高可用。
3.5 组网高可靠性研究
传统应用采用基于IP的配置连接方式,需要分散到很多设备中进行管理连接关系,造成IT架构复杂,在配置变更时工作量很大。同时,在业务运营支撑系统应急容灾切换时,需要涉及大量系统配置变更,造成切换时间过长、可靠性低等问题。而引入DNS可以有效地提高业务运营支撑系统的可靠性。
本文采用负载均衡器,基于大二层网络构建跨中心的DNS集群。基于VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)协议,实现实时切换和业务运营支撑系统连接关系的集中化管理维护。在两个中心分别部署了两台负载均衡设备,其中容灾端的两台负载均衡和生产端的其中一台负载均衡形成一个VRRP组,VRRP组的虚地址是提供DNS服务的IP地址,该跨站点集群作为主用DNS,另一台容灾生产中心的负载均衡设备作为单独的备用DNS服务器。DNS集群通过浮动IP提供DNS解析服务,平时浮动IP位于A中心主用设备。当A中心主用设备出现故障时,服务由A中心另一台备用设备接管;当A中心两台设备不可用或中心网络无法访问时,B中心的备用设备接管服务,从而实现跨中心的负载均衡冗余,如图7所示。
4 结束语
本文通过大二层网络架构等先进技术的应用,对网络层双活、存储层双活、数据库层双活、应用层双活及组网高可靠等双活关键技术进行研究,实现了一套业务运营支撑系统双活容灾建设方案,为系统提供了风险预防机制和灾难恢复措施,在确保数据安全的基础上提高业务连续运行能力,降低企业运营风险,将业务损失降低到可接受的程度,以提升服务质量和服务水平,增强企业竞争力。但该建设方案也存在一定的局限性,如未考虑两个生产中心处理能力不对等、存储差异对数据同步的影响等。因此,业务运营支撑系统双活容灾建设方案还有很大的研究空间,未来将通过全面深入的研究使建设方案更完善、可靠。
参考文献:
[1] 王树鹏,云晓春,余翔湛,等. 容灾的理论与关键技术分析[J]. 计算机工程与应用, 2004(28): 54-58.
[2] 李宏伟,肖伟. 存储虚拟化技术在双活数据中心中的应用[J]. 邮电设计技术, 2013(9): 9-13.
[3] 朱智达. “分布式双活”模式在校园数据备份中的应用研究[J]. 电脑与电信, 2013(9): 61-62.
[4] 廖锋,喻朝新,张国祥. 关于利用虚拟化技术实现业务支撑系统容灾保障的思路探讨[J]. 数据通信, 2013(1): 38-41.
[5] 孙罡. 云数据中心——资源管理与调度技术[M]. 北京: 科学出版社, 2016.
[6] 康楠. 数据中心系统工程及应用[M]. 北京: 人民邮电出版社, 2013.
[7] 俞科峰. 中国电信多媒体智能客服系统的研究与实现[J]. 移动通信, 2015,39(1): 91-96.
[8] 吴礼乐. 基于双活容灾存储技术的云计算数据中心的设计及应用[J]. 电子设计工程, 2015(6): 190-192.
[9] 李雪锋. 多校区数据中心双活容灾方案研究[J]. 中国教育信息化, 2015(9): 59-61.
[10] 王云芳. 云计算资源池容灾中心建设解决方案研究[J]. 互联网天地, 2015(2): 1-7.