浅析市级社保异地容灾备份与本地双活查询异构系统建设
2016-05-30张忠国
张忠国
摘要:社保信息系统数据的安全性和运行不间断都非常重要,本人所在单位信息系统采用了本地备份和异地容灾备份的双重备份模式,提高了系统数据的安全可靠性,利用生产系统退下来的设备组建了实时查询系统。整个系统采用异构方式,结构灵活,性能高效,成本节省。
关键词:
中图分类号:C913 文献标识码:A 文章编号:1674-098X(2016)5(c)-0000-00
一、概述
我市社会保险信息系统内容涵盖社会保障业务经办、公共服务、基金监管和宏观决策等核心应用,信息系统运行的持续性、稳定性,业务数据的完整性、正确性、有效性会直接关系到业务的生产、管理与决策活动,关系到广大参保人的切身利益。当前我市参保人数达到500多万人,但随着人数与应用系统的不断增加,系统的数据存储量与处理量越来越大。如果业务运行中断或重要业务数据的丢失和破坏,会给广大参保人员和单位带来不便,甚至会带来重大的社会影响,给国家造成损失。
二、系统设计与实现
为保证系统的安全,除了良好的管理和运维外,更重要的是系统结构本身设计的可靠性要高。整个信息系统主要涉及到中心机房环境、核心网络、服务器(小型机)、存储、数据库与应用系统,这里仅讨论其中最重要的与数据运行最紧密相关的服务器、存储、数据库系统的安全冗余结构设计与实现方式。
提高系统运行可靠性最主要的方法就是将系统设计成冗余结构,早前最主流的方式是双机热备模式与磁带备份,后来发展到建设容灾系统。本市与数据相关的主要核心设备有小型机IBM P750 2台、华为S18000存储1台,小型机HP RX8620 1台、HP EVA6400存储1台,小型机HP RX6600 1台、NETAPP 存储FAS3020C 1台,浪潮NF5270M3服务器1台,浪潮AS500G存储1台,SAN存储交换机3台,ORACLE11G数据库1套,备份软件:Symantec NetBackup 1套。根据这些软硬件条件,系统设计为本地系统和异地容灾系统,本地系统包含生产系统、备份系统和查询系统。本地系统存放在本市数据中心机房内,异地容灾系统存放在B市电信运营商IDC机房。
所有几套系统都运行ORACLE11G数据库,各系统所使用的设备如图中所示。
由于系统中小型机有IBM和HP两种,其文件结构不同,系统则设计成异地主机异构容灾系统和本地主机异构双活查询系统, 系统逻辑结构如上图所示。
1.本地生产系统
生产系统为采用两个节点的Oracle RAC,确保数据库的高可用性及充分使用硬件资源,为所有几个系统提供原始数据源。RAC全稱是Real Application Cluster,即真正的应用集群,是Oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成。Oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,Oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备上,而共享存储设备可以是RAW、ASM、OCFS2等,所有集群节点可以同时读写共享存储。本系统数据库每个服务器节点上都有自己独立的OS、ClusterWare、Oracle RAC等数据库程序,每个节点都有自己的网络监听器,当其中一个节点出现硬件故障、实例故障等问题时不会造成应用访问中断,从而实现数据库7×24小时的高可用性及高效性。
2.本地数据备份系统
本地数据备份我们使用了赛门铁克的Netbackup软件,对所有需要进行备份的数据库实现完全的在线热备份而无须数据库服务停机。在本地备份系统中,采用了集中统一的备份策略管理,通过连接到LAN中的Netbackup Master Server,对整个数据库和应用系统的备份工作进行集中的管理、监控。
该系统的组成如下:
一台服务器为Netbackup软件的主备份服务器,连接到局域网,本机上的数据通过直接备份到备份存储中。同时,它负责整个备份系统的管理,包括备份策略的制订、备份数据库的保存。
在LAN中其他的数据库服务器,作为NetBackup Client,连接到存储局域网中,并安装相应的数据库Agent,在线备份数据库,然后直接通过LAN将数据传输到备份服务器上进行备份。
一台大容量存储设备,负责存储备份后的数据。
备份系统对数据库的备份采用在线备份,通过VERITAS Netbackup的Database Agent,在不停止数据库运行的情况下,对数据库数据进行备份,备份策略包括全备份、累计增量备份、者增量备份三种方式的结合。当发生数据损坏时,则可以从虚拟存储中恢复数据,首先选定最近一次全备份进行恢复,然后选定最近一次累计增量备份,最后选定这次累计增量备份以后的所有增量备份项目,依时间顺序进行恢复。
3.异地容灾系统
能实现异构的容灾软件有多种,比如DSG,飞康,ORACLE的GoldenGate,为了降低系统的复杂度,便于维护,本系统采用ORACLE的GoldenGate 来实现。GoldenGate是领先的交易数据管理Transactional Data Management (TDM)软件,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate通过解析数据库日志并将数据传输和应用到目标数据库,实现数据同步复制,通常用于实现关键业务数据库容灾、报表分离和外网查询等场景,其复制的原理如下图所示:
Oracle GoldenGate的复制技术对网络资源占用极少,完全可以适合各种远距离的数据复制,本市至B市(数据容灾中心)两地实际距离超过400公里。设计采用点到点的光纤专线连接,分别租用中国移动、中国联通10Mbps带宽光纤各一条,互为备份。
正常运行情况下,数据同步方向为生产系统到灾备系统。启动GoldenGate生产系统上的复制进程,数据同步的工作过程如下:在生产系统上运行GoldenGate捕獲进程,负责实时读取Oracle数据库交易日志中的数据变化,并根据需要执行过滤操作,将数据捕获过来,写入本地的源队列文件中,写入队列文件的数据量约为交易日志文件的四分之一,即日志过滤比为4,这时的数据是未经过任何压缩的,同时在生产系统上运行GoldenGate DataPump进程,该进程负责将源队列文件的内容发送到目标队列文件中。通过压缩机制压缩后传输,最大压缩比理论上可以达到9:1,本系统实际测试值在,6到8之间。我们在选择传输带宽需求时,就是据此设计计算的,依据如下:在业务高峰期间产生归档日志大小目前最高为4GB/小时,设计未来6年内涨到3倍,考虑峰值小时内瞬时最大值与平均值偏离系数3, 网络传输效率为70%。需要的传输带宽则可依据如下计算公式算出:V=8*((Q*K/T)*P)/(L*Y*X),式中8是1BYTE=8bit,字节到字位单位换算,Q表示当前高峰数据量,K表示增长量,T表示1小时的秒数,P表示最大值偏离系数,L表示日志过滤比,Y表示实际最小压缩比, X表示网络传输效率。带入前述数据得V=8*((4GB*3/3600)*3)/(4*6*0.7),算出V=4.8Mbps,据此我们租用带宽1OMbps合理实用。
变化数据到达灾备系统后,灾备系统上的GoldenGate灾备进程将实时读取这些交易变化数据,根据其在生产系统上的交易顺序,完全一致地备份到灾备系统,保证了两边交易数据的一致性。由于GoldenGate数据复制是实时解释REDO日志获取变化的数据,所以对生产系统的性能影响几乎可以忽略。
当生产系统发生故障,无法对外提供服务时,则将应用系统切换到灾备中心。此时,GoldenGate需要实现反向的数据同步,即灾备系统到生产系统的实时数据同步。因此,在启用灾备系统的同时,需要同时启动反向数据同步的GoldenGate集成。此时,数据同步的工作过程如下:
灾备系统上的GoldenGate捕获进程实时读取灾备系统交易日志的变化数据,写入灾备系统本地的源队列文件中;网络正常时,则灾备系统上的GoldenGate DataPump进程将把变化数据从源队列文件压缩/加密传输到生产系统的目标队列文件中,而此时,生产系统不必处于正常运行状态;当生产系统数据库恢复运行时,生产系统上的GoldenGate交付进程会自动将积累在目标队列文件中的变化数据应用到生产系统数据库中,保证生产系统与灾备系统的交易数据同步。
4.本地查询系统
查询系统的运算量和安全性要求比生产系统低,则利用原来从核心生产机退下来的设备,组成查询系统。通过建立本地读库来保持一个与源系统数据同步的目标系统,同样使用GoldenGate进行数据复制,工作原理和上面的异地容灾系统相同,配置基本一样,这种配置环境下,生产系统的在线事务处理性能不会受到影响。因为查询系统上查询的数据信息与生产系统是秒级的延迟,所以广大市民进行网上查询的数据是实时信息,同时查询系统上的数据也可以作为一套本地容灾数据备份。生产库和查询库都是OPEN的,都处于激活状态,因此查询系统和生产系统组成了异构数据库双活运行系统,这里的双活是指数据库应用双活,而非业务应用上的相互切换双活。
三、结论与意义
按照如上设计的系统经实施验收后,已经运行了近2年,系统稳定,性能优良。每个季度进行的备份数据恢复测试和每半年的异地容灾演练中,系统数据都能正常可靠的恢复,所建立的实时查询系统,运行也相当稳定,极大的方便了参保人。
在财力有限的情况下,本系统通过主机异构平台设计,即充分利用了设备价值又实现了系统多功能与保证数据安全。因此,这种设计具有相当的经济价值和社会价值,值得借鉴和参考。