资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
基于GoldenGate技术实现业务平台异地容灾备份的解决方案谭志远 杨剑 宫云平摘要:业务平台集中化建设和集约化维护是全业务运营环境下大势所趋,重要业务平台的用户数据、业务数据的集中存放带来的安全风险也加大,探讨基于Oracle的GoldenGate技术实现业务平台数据库的异地备份,同时通过OSPF协议、F5等机制配合实现重要业务平台容灾的综合解决方案。关键词:GoldenGate 容灾 备份 业务平台 数据库 1 引言中国电信自承接C网实现全业务运营后,业务平台的建设从原来按本地网、区域、省等分散建设的模式,走向了集中建设的模式,从而实现业务平台的集约化运营及管理。业务平台的集中建设优点显而易见,如:节省硬件投资,减少运营维护成本,便于集约化运维管理等,但由此也可能带来的安全隐患也不能忽视,例如业务及用户数据的集中存放,万一碰到火灾或地震等不可抗因素,将给业务的正常运营带来严重的挑战,因此非常有必要对重点业务平台、重点业务数据实现数据异地备份,同时在此基础上实现业务平台的异地容灾。本文探讨基于Oracle的GoldenGate技术实现对重要业务平台(如ISMP、OCS等)的用户及业务数据进行异地备份(另外可通过FTP实现话单的备份,使用RSYNC服务实现重要目录文件的备份,这方面的内容本文不做重点描述),同时借助交换机的OSPF协议和F5配合实现业务平台异地容灾的综合解决方案。2 GoldenGate备份机制Oracle GoldenGate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle GoldenGate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而可以在应急系统、实时数据仓库供应、数据同步、集中/分发、容灾、数据库升级和移植等多个场景下应用。同时,Oracle GoldenGate可以实现一对一、一对多、多对一、级联等多种灵活的拓扑结构。2.1 GoldenGate数据备份原理图图1:GoldenGate数据复制原理图上图为Oracle的Goldengate技术实现主节点数据库与容灾数据库之间的数据同步,下面介绍一下GoldenGate的数据复制机制。2.2 GoldenGate数据复制原理GoldenGate的数据复制原理是:利用捕捉进程(Extract Process)在源系统端读取Online Redo Log或Archive Log,确定需要进行的复制(增、删、改)操作,并通过队列(Extract 队列),将相关信息传送到目标系统。目标系统端的投递进程(Deliver 进程)接受相关内容,通过Replicate 进程创建实现数据复制或同步的SQL语句,并在目标系统中予以执行。GoldenGate是一种基于数据库日志的数据复制产品,可以利用极少的系统开销,实时复制数据库,改善数据可用性。GoldenGate可以在数据移植、在线维护等场合应用,以减少或消除数据库的停机时间。同时,它还可用于数据容灾、负载均衡、数据集中、数据分布等应用中。GoldenGate可确保在这些工作进行时,源系统的正常事务处理得以继续进行,功能上不受影响。2.3 GoldenGate数据备份形式GoldenGate实现数据的备份,可以分两种场景,一种是正向数据备份,即主节点同步数据到备份节点(即容灾节点);第二种是当主节点异常的时候,启用备份节点工作,此时相对于原主节点来说,是备节点同步数据到主节点的反向数据备份。2.3.1 GoldenGate正向数据同步主节点正向同步数据,如下图2所示,把主节点的不同服务器中的数据库向容灾节点的数据库进行数据同步。此时安装在主节点的GoldenGate正向同步进程是处在运行状态,反向数据同步进程停止工作。图2:GoldenGate正向数据同步图上图所示主节点包括4个数据库,备份节点只有1个数据库,只是为了说明GoldenGate在同步数据时,可以实现多对一的数据同步(另外还可通过配置指定各数据库中需要同步的具体表,详细的配置方法在此不做详细描述),在实际设计和搭建业务平台容灾备份节点的时候,其设计处理能力或者设备数量都大大少于主节点,因此这种多对一的数据同步是非常符合业务平台容灾备份实际需求的,特别是只注重数据库异地备份的应用场景。2.3.2 GoldenGate反向数据同步当从主节点发生异常切换至容灾节点后,需要停止原来从主节点向容灾节点的数据同步工作,并同时启动容灾节点向主节点的Goldengate反向数据同步工作(如下图3所示)。反向数据同步工作用于捕捉容灾节点的数据变化,并将之同步到主节点的数据库当中,以保证当从容灾节点切回主节点后,业务系统数据的一致性。如下图所示GoldenGate可以实现将容灾节点数据库中的数据,按可配置的的分发策略(如按号段)分别向多个不同的数据库进行数据的同步,并保证主节点和备份节点间的数据一致性。图3:GoldenGate反向数据同步图2.4 GoldenGate与其他备份方式的比较基于数据备份的软件还有DataGuard和Stream等,下表对三种实现方式进行了详细的比较。 技术类型比较项目StreamDataGuard/Active DataGuardGoldenGate对操作系统要求可以跨操作系统要求完全相同的操作系统可以跨操作系统是否支持异种数据库之间的数据复制可以支持非Oracle到Oracle的复制,需外购组件不支持支持市场上大多数数据库之间的复制是否要求Oracle数据库归档必须必须可以不归档是否支持部分数据复制支持部分表,表中部分记录的复制不支持表中部分字段复制不支持支持是否支持目标端的数据转换支持,调用存储过程不支持可以使用多种方式的数据转换对数据库性能影响比较大很少少是否支持多种复制拓扑结构支持只支持1对1复制支持备用机是否激活备用机处于活动状态DataGuard备用机处于恢复和只读两种对立状态备用机处于活动状态适用场景数据复制,分发,采集一对一的数据库容灾数据复制,分发,采集,N+1容灾价格免费Active DataGuard收费收费,价格较贵表1:GoldenGate与其他产品的比较对于电信各种重要的增值业务平台来说,在确保业务平台正常工作的前提下,实现重要的业务数据和用户数据异地备份及容灾,该技术的应用必须对现有系统的性能影响最小化,数据实时性要求高,容灾节点距离远,并能得到厂家强有力的技术支撑(7*24小时服务),同时能实现多对一的数据备份(因为作为备份节点的处理能力不可能和主节点相同,因此在尽可能节省投资的同时确保数据的有效备份,如上图2所示,采用多到一的备份策略),因此基于上述原因综合评估后,本文主要探讨基于Oracle的GoldenGate技术实现重要业务平台的数据异地备份及容灾方案。3 业务平台容灾机制在业务平台正常运行时,主节点业务处理机负责业务逻辑的执行,GoldenGate软件实现主节点数据库到容灾备份节点数据库的同步,同时通过FTP和RSYNC服务实现话单文件和其他重要的配置文件或者目录的备份。当主节点发生异常的时候,采用动态路由协议技术实现实时切换到容灾节点,外围系统无需做任何改动。系统可根据实际配置手动或自动切换到容灾节点运行业务(因使用浮动IP,切换过程对外围系统来说是透明的),如果设计的容灾备份节点的业务处理能力小于主节点的处理能力,建议通过手工措施对其上游业务平台进行流量控制。如:对于ISMP容灾平台,那么可以在其上游平台ISAG上对可信任的SP实现免鉴权,以确保容灾平台业务正常的运转。容灾切换到备份节点后,需要在容灾节点上启用GoldenGate的逆向同步,即把在容灾备份节点上变化的各种数据,同步到原来的主节点上。当主节点恢复后,采用手工的方式把路由及数据同步相关配置切换回原主节点,以确保系统稳定安全的运行。3.1 平台容灾组网图图4:容灾组网图(图中省略双路由器、F5、防火墙等设备)上图为实现业务平台异地备份、容灾的简化图,其中要求R1、R2支持动态路由协议,同时要在R1、R2上面设置VIP(F5的虚拟IP)路由的优先级,容灾平台提供给外围系统的IP地址是F5的虚拟IP地址(VIP)。在主节点各设备正常的情况下,外围业务系统的业务处理请求会送到主节点进行处理。同时通过GoldenGate、FTP、RSYNC等把主节点相关数据备份到容灾节点,达到数据备份的目的。当主节点系统异常,主节点F5发生切换,容灾节点的F5的路由信息会及时自动更新到网络上,从而把业务流从主节点切换到备份节点运行从而达到容灾的目的。3.2 平台容灾切换机制在主节点F5上设置对主节点服务器的健康检查机制,如设置对主节点的数据库执行一个sql语句或者执行Ping主节点主机(具体可参考F5相关技术手册),当没有收到预期的结果时,主节点F5认为系统发生故障,主节点F5切换到容灾节点,此时所有的到VIP的路由将更新到路由器R2上。当检测到F5与主节点网络不可达,或者查询主节点核心数据库系统超时的时候,F5可以提供告警信息给网管系统,维护人员可以根据告警信息,启动容灾预案,容灾时需要维护人员手工启动容灾平台上的相关进程,不建议自动切换到容灾平台(如果自动切换怕引起主节点和容灾节点经常自动切换导致数据异常,因此本人认为实际应用过程中采用手动切换是比较科学的)。4 注意事项4.1 建议使用共享存储在使用GoldenGate数据同步的时候,GoldenGate的相关软件和工作目录建议最好配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数。否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到GoldenGate运行节点。4.2 时钟同步对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步。因为GoldenGate会比较本地的系统时间和commit的时间戳。所以不能忽略这个设置。否则可能导致数据复制的紊乱,因此RAC环境下务必使用NTP(网络时间协议)进行时钟同步。4.3 注意对归档日志的定时清理开启数据库归档后(命令:alter database archivelog),需要部署清理归档日志的定时任务(如:仅保留3天的归档日志信息),以防磁盘空间被占满,包括主节点和容灾节点。5 结束语业务平台集中建设和集约化运维管理的发展是大势所趋,越来越多的业务平台走向集中,特别是随着中国电信移动业务的蓬勃发展,各业务或产品的基地化建设和运营,各种用户数据、业务数据的集中存放是否安全,各种重要业务平台是否有切实可行的容灾措施,是目前急需面对的问题,本文通过探讨基于Oracle的GoldenGate技术实现业务平台数据库的异地备份,同时通过OSPF、F5等配合实现重要业务平台容灾的综合解决方案,希望对现网业务平台的容灾备份能有启迪作用。【作者简介】谭志远,男,毕业于华南理工大学,就职于中国电信股份有限公司广州研究院,工程师。长期从事电信基础能力类平台、综合管理类平台、云计算等技术研究及支撑工作,拥有多项专利技术。联系电话:020-38639
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号