摘要:文章介绍了胜利油田在企业数据中心管理中面临的主要问题,提出利用多种Oracle技术构建高可用数据中心的技术解决方案,包括搭建本地高可用环境、可随时切换的双业务中心、支持灾难恢复的容灾中心等,目标是实现同城双中心加异地灾备中心的“两地三中心”,为大型企业建设最高可用性环境提供技术参考。
关键词:Oracle技术;高可用集群;RAC数据同步;灾备恢复;灾备中心 文献标识码:A
中图分类号:TP392 文章编号:1009-2374(2015)08- DOI:10.13535/j.cnki.11-4406/n.2015.
1 大型企业数据中心运营面临的问题
胜利油田是中国石化集团公司下属的第一大油气田,在职员工总数近17.6万人,地理跨度200多公里,业务流程涵盖油气勘探、油田开发、石油工程、矿区服务、石油加工、国际化经营等多个领域。
胜利油田建立了主备两个生产中心,支撑着油田勘探开发的主干业务系统,数据库均为SUN主机,仅采用Golden Gate进行数据同步,无法在灾难发生时提供高可用保障及故障切换能力。胜利油田面对的五个主要问题如下:
每个生产中心的服务器都是单机运行,不具备本地高可用能力。
第二,勘探开发主干业务系统需要为生产提供7×24小时的不间断服务,任何形式的服务停止、系统瘫痪,甚至人为误操作导致的数据丢失,都会对油田生产经营造成损失,因此需要建立一个完善的灾备系统,由灾备中心提供灾难接管服务。
第三,为应对城市道路改造、电力线路检修等导致的网络中断、机房停电等突发情况,需要定期将业务由主生产中心全部切换到备生产中心运行,这样就要求主备中心两端能提供数据实时同步。
第四,目前主备中心处理的业务数量相差悬殊,希望分布在两地的服务器可以均衡的处理业务请求,需要建立一个支持双向复制数据的负载均衡的服务系统。
第五,需要产生类似于生产系统的模拟环境,可直接用于应用程序的测试和开发或支持本地决策支持系统,提高灾备中心的资源利用率。
2 Oracle高可用方案的技术分析与比较
RAC、Data Guard、Golden gate是Oracle高可用性体系中的三种解决方案,其侧重点不同,适用场景也不同。每个方案既可以独立应用,也可以相互配合。
2.1 实时应用集群——RAC
RAC是Oracle Real Application Cluster的简写,中文一般译为“实时应用集群”,RAC是通过CPU共享和存储设备共享来实现多节点之间的无缝集群,常用于7*24的核心系统。
RAC是Oracle在高可用方面的重要产品,高可用性是其最大特性,如果集群内的一个节点发生故障,Oracle可以继续在其余的节点上运行,保证用户的正常使用;可扩展性也是其主要的特性,如果需要更高的处理能力,新的节点可轻松添加至集群,可提供强大的处理能力。
RAC的缺点是存储和数据只有一份,容易形成单点故障,且由于多个节点间需要高速网络互连,因此只能实现一个机房或一个数据中心内的高可用。
2.2 Oracle数据卫士——Data Guard
假设RAC集群的共享存储发生设备故障,或集群所在的机房被化为灰烬,或所在城市发生严重地震,需要多长时间来恢复数据库呢?
Data Guard是Oracle在灾难恢复方面的重要产品,主要用于数据库容灾和大数据量复制。适合多机房,可在一个机房部署生产数据库,其他机房部署备用数据库,通过将生产库的重做日志传到并且应用到备用库来实现两个数据库同步,备用库主要用于生产库失败后做切换。灾难发生后可以在几分钟之内重新访问数据库,而不是需要几天或几周。
Data Guard的缺点是不支持异构平台,仅支持单一的Oracle数据库,要求完全相同的操作系统和数据库平台,此外由于对两端数据库同时写入的支持能力不好,在没有故障的情况下,备用端的IT资源闲置、无法有效利用。
2.3 Oracle Golden Gate——OGG
那么如何在不同设备类型、不同数据库平台之间进行容灾和备份呢?Golden Gate可以在异构IT基础结构之间,通过实时解析数据库在线日志在目标端重现源端交易,实现大量数据的秒一级的数据捕捉、转换和投递。
Golden Gate是Oracle在数据迁移和数据同步方面的重要产品,适用于数据库应急和数据采集分发。支持异构是其最大特点,可以跨操作系统和数据库平台;
同时由于支持数据双向复制功能,备份端可以分担负载或提供实时的数据查询及报表业务等,可以极大提高IT资源利用率。
Golden Gate的缺点是不支持同步复制,且命令行方式、维护较复杂。
3 构建企业最高可用性环境的解决方案
经过上文的技术分析,我们发现可以通过上述三种技术的综合利用来构建油田企业的最高可用性环境,建设同城双中心加异地灾备中心的“两地三中心”。
3.1 系统拓扑图
系统拓扑图如图1所示:
图1
3.2 解决方案
3.2.1 环境中有两个生产中心,即生产中心A和生产中心B,分别在每个生产中心的机房内采用RAC技术搭建高可用集群,提供本地高可用的能力。
3.2.2 建立一个可以随时切换的双业务中心模式。生产中心A和生产中心B之间采用Golden Gate进行双向复制数据,为两端提供数据实时同步的能力。生产中心A和生产中心B始终处于可用状态,平时提供负载均衡的服务,在一端灾难发生时所有业务由另外一端快速接管,保证了勘探开发业务的7×24小时可用。
3.2.3 在距离200km以外的异地建立灾备中心,通过Data Guard灾备技术将生产中心的数据复制到灾备中心,当同城的生产中心A和生产中心B都处于计划停机或非计划停机状态时,灾备中心将接管生产中心的服务,保障业务的持续进行。
3.2.4 平时可基于灾备中心建立决策支持系统,提供即席查询和各类分析报表或用于应用程序的测试和开发,提高灾备中心的资源利用率。
3.3 关键技术
3.3.1 在生产中心A和生产中心B内部,采用RAC搭建集群环境。每台计算机上运行一个实例,每个实例装载和打开同一个数据库。所有的实例都是对等的,共享高速缓存,避免出现重复的改动。RAC的主要思想与网格计算的主要思想相同——在需要的时候插入节点以处理多余的工作负载,或者在情况允许的时候删除节点并将它们移至某处。高可用性是RAC最主要的特性。只要集群中有一台机器没有出现故障,就能保证用户的正常使用。另外可伸缩性也是RAC主要的特性。当资金有限的时候,可以暂时不必购买配置较高的设备,只需购买能够满足当前需求的设备,当业务量增长时,再考虑购买同等配置的设备。
3.3.2 在生产中心A和生产中心B之间,采用Golden Gate进行双向复制数据。Golden Gate提供了两个或两个以上生产系统之间的数据复制功能。这些系统无须具有一样的属性或相同的操作系统、数据库或数据库版本,是一种基于软件的数据复制方式。它从数据库的日志中解析数据的变化(数据量只有日志的四分之一左右),Golden Gate将数据转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式如Oracle Net,而且可以通过高达9∶1的压缩比率对数据进行压缩,大大降低带宽需求。双向数据复制是两端互为源/目的数据复制对象,两端生产系统同时保持Active状态。Golden Gate的跨平台特性可实现异构的数据复制,为未来系统的扩展提供了便利,在软硬件选择上可以更加灵活。
3.3.3 在生产中心和灾备中心之间,采用Data Guard进行灾难备份。Oracle Data Guard通过使用称为standby database的数据库来防止出现数据的灾难。它通过将primary database数据库的重做日志传到并应用到standby database数据库来使standby database数据库与primary database数据库同步。Data Guard不支持异构、要求主备数据库完全一样。Data Guard可以分为物理Standby和逻辑Standby两种,二者的最大差别在于,物理Standby应用的是主库的归档日志,而逻辑Standby应用的是主库的归档日志中提取的SQL语句。物理Standby无论从逻辑结构和物理结构都是和主库保持一致,因此在企业的核心数据库,首选物理Standby技术。逻辑的standby在平时则可分担主库的读负载。
作者简介:牟菁(1970-),女,山东临朐人,胜利石油管理局信息中心副教授,研究方向:企业应用集成整合平台
技术。
(责任编辑:黄银芳)