数据库容灾的设计与实现(一)

一、绪论
(一)背景

随着信息技术的飞速发展,现代企业对计算机的依赖性严重增强,信息数据逐渐成为企业赖以生存的基础,数据损坏或丢失将给企业带来巨大的损失。由于黑客、病毒、硬件设备的失效以及火灾、地震等自然灾害的原因,使系统和数据信息遭到破坏甚至毁灭,如果不及时地进行恢复,将对企业造成巨大的损失,所以容灾技术显得尤为重要。尤其,9.11等事件造成的灾难性后果使人们更加深刻地认识到数据信息的价值和意义,日益重视数据的保护。

在以前对数据有高可靠性要求的行业总是那些视数据为生命的大行业,如银行业、保险业等,这类企业的日常生产经营中对高可用性的依赖程度很高,任何数据的丢失或损坏都会对企业造成灾难性的损失。而现在,随着信息技术的发展,很多公司开始大量使用信息系统对业务进行日常管理和工作,比如使用 ERPCRM, OA等应用系统,这些系统的后台都运行着不同的数据库作为业务支撑,数据成为企业的一种极具价值的资产。数据库又是企业信息系统的核心,如何保证企业的数据库系统正常运行,保证企业核心数据的安全,保障企业的业务连续性,迅速恢复数据业务,成为所有企业面临的挑战之一。

为了保障数据的安全,必须使用容灾系统。一旦发生数据灾难,造成大量数据丢失,容灾系统将能保证业务尽快恢复,甚至可以保证业务不间断运行。在选择容灾方案前,企业一定要结合自身的条件,从实际业务出发,利用现有硬件资源,然后再选择合适企业自身的容灾系统,这样才能增强系统的抗灾能力,最大限度地减少损失。目前主要的容灾方案分为:数据级和应用级。数据级容灾侧重于数据级别的保护,而应用级容灾是在数据级容灾的基础上,再构建一套相应的支撑系统,相比数据级其高昂的投入也是无法避免的。

为了满足某油田核心数据级容灾的紧迫需要,本文作者参考了各类数据级容灾方案的基础上,通过对比分析,选择了基于Oracle Data Guard数据库复制技术的数据级容灾系统。利用Oracle Data Guard的技术,对油田核心的开发业务数据库进行了数据级容灾部署,采用Data Guard Broker容灾管理平台,利用FSFO技术实现数据库灾难的自动切换。为保证用户的业务不受数据库日常维护切换及灾难切换的影响,在数据库端添加触发器,在用户端或应用服务器端采用TAF技术实现用户的透明故障转移,为业务的连续性提供可靠保证。

(二)研究内容

本论文主要研究数据级容灾系统的建设,文章结构如下:

第一章为绪论,主要介绍了论文研究的背景、意义及本人所做工作。第二章主要介绍了数据级容灾技术的分类和对比分析,在此基础选择了性价比高又能满足油田业务需要的基于数据库复制技术的数据级容灾系统,给出了油田数据级容灾系统的基本框架。从第三章到第五章为油田数据级容灾系统的实施过程,第三章论述了基于Data Guard的数据库容灾技术原理,详细说明不影响生产库运行的情况下,基于Data Guard的Standy备库的实施过程;第四章主要论述了如何基于Data Guard Broker的FSFO技术实现数据库的故障自动切换;第五章主要论述了利用服务器端触发器和TAF技术实现客户端的透明故障转移。第六章主要是对Data Guard数据级容灾系统进行应用评估。第七章是总结和展望,在总结已有成果的基础上,提出了容灾系统建设是一项系统工程,用户可以根据业务需要进一步提升容灾能力。

二、数据库容灾的设计
(一)设计原则

油田开发数据的容灾系统是一个具备数据安全与快速恢复的能力,还具备高度向下兼容与扩展能力系统。它既能支持油气田生产业务的正常运营,更要求系统具有高度的稳定性和安全性。

要达到安全的数据级容灾系统的建设要求,实现数据级容灾系统的总体目标, 在整个数据级容灾系统设计上要满足以下几个原则:

(1)开放兼容原则:系统符合开放性设计原则,具备优良的可扩展性、可升级性和灵活性,对现有技术具有普适能力,可以广泛支持开放系统平台,运行于现有或即将成为标准的各种相关技术标准上;随着油田业务的不断发展,信息系统数量会快速增加,系统设计应充分考虑将来有更多的信息系统会纳入到容灾系统中;系统应具有较强的升级扩容能力。

(2)安全稳定原则:确保应用系统的安全运行和故障恢复机制;要保证系统的稳定性和可行性,使系统的运行风险降至最低;

(3)高可用原则:容灾系统要确保备份数据的完整性和一致性。一方面,容灾系统应具备稳定的、成熟的先进技术,对各种可能出现的情况做出相应的保护设计和热备份设计;另一方面,由于系统要求较高的运行可靠性,系统设计要考虑到应急方案,且应急操作安全、快捷。系统出现故障时,能够在比较短的时间内恢复系统到备库运行。

(4)易管理易原则:可以对系统进行集中管理和监控;系统维护简单,日常维护工作尽可能轻,所有日常维护工作要求基本不停机在线式操作,

(5)先进性原则:选用代表当今IT发展方向的先进设备、软件和技术;

(二)据级容灾技术
1. 网络备份管理软件

网络数据存储管理软件是指在分布式网络环境下,通过专业的数据存储管理软件,结合相应的硬件和存储设备,来对全网络的数据备份进行集中管理,从而实现自动化的备份、文件归档、数据分级存储以及灾难恢复等。

为在整个网络系统内实现全自动的数据存储管理,备份服务器、备份管理软件与智能存储设备的有机结合是这一目标实现的基础。

网络数据存储管理系统的工作原理是在网络上选择一台服务器作为网络数据存储管理服务器,安装网络数据存储管理服务器端软件,作为整个网络的备份服务器。在备份服务器上连接一台大容量存储设备(磁带库、磁盘存储设备、虚拟磁带库)。在网络中其他需要进行数据备份管理的服务器上安装备份客户端软件,通过网络将数据集中备份管理到与备份服务器连接的存储设备上。

网络数据存储管理系统的核心是备份管理软件,通过备份软件的计划功能,可为整个企业建立一个完善的备份计划及策略,并可借助备份时的呼叫功能,让所有的需要备份客户端都能在按计划进行。备份软件也提供完善的灾难恢复手段,能够将备份硬件的优良特性完全发挥出来,使备份和灾难恢复时间大大缩短,实现网络数据备份的全自动智能化管理。

目前在数据存储领域可以完成网络数据备份管理的软件产品主要有EMC的Legato NetWorker、IBM的Tivoli Storage Manager、SYMANTEC的NetBackup、CommVault的Simpana等,它们都支持包括AIX、Solaris、Windows、Linux 等所有的主流操作系统平台,不仅支持一般的数据文件和操作系统备份,而且还支持Oracle、Informix、Sybase、SQL、Exchange、DB2等数据库的在线备份及虚拟化环境中虚拟机的备份。

2. 数据库复制

利用Oracle、Sybase、DB2等数据库系统自身的日志复制功能,在灾备中心建立用户业务系统数据库的备份数据库,通过数据通信网络,将用户数据库系统产生的日志实时传送到灾备中心,利用日志向备份数据库追加数据,保持备份数据与生产数据同步或异步。

数据库日志的在线传输是基于应用层、高效快捷的数据备份方案,支持多种系统平台,包括windows、AIX、Solaris等操作系统;支持多种数据库系统,包括Oracle、DB2、Sybase、Sql server等大型数据库.

数据库复制技术有Oracle的Data Guard 、Oracle GoldenGate、IBM DB2的HADR 、SYBASE的RS、DSG的RealSync、QUEST的SharePlex等。

3. 卷复制

通过在物理磁盘上建立多个或一个逻辑卷(Volume),以裸设备的方式使用卷,或在卷上建立文件系统。将数据,特别是需要进行远程复制的相关文件系统、数据库存放在卷上。由于数据复制是基于卷的,所以,Volume 是进行复制的基础。 

卷复制基于采用各平台专用的复制软件,通过网络建立交互中心与用户电脑中心主机系统之间的备份通路,在复制软件的管理下,完成用户数据的复制。软件方式是基于操作系统、数据库系统级的复制技术,对用户应用系统透明,支持异构的存储和操作系统,支持同步和异步复制,实现数据的连续保护,。

常用的基于卷复制技术的软件有Symantec Storage Foundation 的VERITAS Volume Volume Replicator、IBM的HACMP/XD(利用AIX操作系统的卷镜像功能提供数据的远程复制)等。

4.存储复制

存储容灾技术采用先进的磁盘镜像软件,通过光纤直连、SDH、ATM、DDN/FR或IP网络等在灾备中心与生产中心建立磁盘镜像连接,实现用户数据的7×24小时远程实时备份。

存储镜像数据备份系统采用基于存储控制的复制技术,通过存储系统微码提供的数据镜像功能,将源存储数据复制至目标存储。存储镜像技术与主机平台无关,可实现不同操作系统环境下的数据远程同步及异步备份。

根据用户灾难备份的需求以及用户的硬件配置,可灵活采用不同存储系统的镜像技术,如EMC的SRDF、HDS的TrueCopy、IBM的PPRC[8]等,选择合适的通信网络及相关设备,来实现远程数据复制,这种基于存储的复制要求配置同一厂家的存储系统,也就是同构的存储系统。

基于存储虚拟化的有IBM基于存储虚拟化SAN Volume Controller、EMC的vplex等,这种技术支持异构的存储和操作系统。

(三)数据库容灾技术的设计

在构建容灾系统时,先考虑的是结合实际业务情况选择合理的数据复制技术。在选择合理的数据复制技术时主要考虑以下因素:

灾难承受程度:明确计算机系统需要承受的灾难类型,系统故障、通信故障、长时间断电、火灾及地震等各种意外情况所采用的备份、保护方案不尽相同。

业务影响程度:必须明确当计算机系统发生意外无法工作时,导致业务停顿所造成的损失程度,也就是定义用户对于计算机系统发生故障的最大容忍时间。这是设计备份方案的重要技术指标。

数据保护程度:是否要求数据库恢复所有提交的交易,并且要求实时同步,保证数据的连续性和一致性,这是备份方案复杂程度的重要依据。

备份软件:采用备份软件的方案较少受距离的限制,能较好地保证数据的完整性,实现起来比较容易。但这种方式对主机系统的资源消耗会相应增大,同时对网络的带宽要求比较高,投入成本较高,需要购购置备份软件,数据存储介质如磁带库或存储设备,为了提高备份效率,不影响本地网络,在本地部署时都采取了基于光纤SAN(存储区网络)的数据备份。

卷复制:采用卷复制的方案同较少受距离的限制,能较好地保证数据的完整性和一致性,这种方式对主机系统的资源消耗也很大,同时对网络的带宽要求比较高,投入成本较高,需要购购置卷管理软件和卷复制软件。

数据库复制:基于数据库复制的技术可以快速备份业务的基于数据库的核心数据,建立初期要复制全库,建成后仅传输日志数据,相当于仅做数据库的增量备份,传送数据量少,数据同步的速度快,对网络带宽要求低。数据库复制技术一般集成在数据库系统软件中,如Oracle Data Guard是Oracle企业版的一个特性,用户不需要花费任何费用就可以完成数据库的同步或异步备份,同时还可以利用数据库的闪回技术来保证对逻辑错误的恢复。

存储复制:采用智能存储的方案具有高效快速的特点,对网络带宽要求不高,能很好地保证数据的完整性和一致性,数据的复制备份过程不占主机资源,操作控制比较简单。同时方案整体可靠性和可维护性较高,可以极大降低后期运营回护的工作量和难度。但是基于存储的复制方案要求两端必须采用同一厂家相近级别的存储设备,一般都是高端的存储设备,如IBM DS8000系列[8],实施费用及其昂贵,只有对数据库实时性要求极高的单位才采用这种容灾方案,如银行、电信、证劵。

基于上面方案的对比分析,结合油田的业务情况,选择基于数据库复制技术的数据级容灾方案。鉴于油田生产业务和经营综合管理业务都采用了Oracle数据库平台,最后决定采用基于Oracle Data Guard的容灾方案,能够满足设计的目标和原则,也可以满足油田业务数据的安全保护需要。

(四)容灾系统软硬件需求

结合生产业务的需要,根据容灾方案的需求决定采用Oracle的Data Guard作为数据库容灾的方案。Data Guard通过在远端保存与原数据库事务一致的数据库备份,来提供有效的灾难恢复解决方案,并且选择物理类型的备库。

图3-1给出了Data Guard的系统架构

1. 硬件需求

根据Data Guard的硬件环境要求,同一个Data Guard配置环境中,所有的Oracle数据库必须运行于相同硬件架构的平台上。比如Intel架构下的32位Linux系统_可以与Intel架构下的32位Linux系统组成—组Data Guard。不同服务器的硬件配置可以不同,但是必须确保Standby数据库服务器有足够的磁盘空间用来接收及应用Redo数据。根据现有数据库的部署情况,这里我们的数据库硬件平台采用了IBM Power系列服务器。

2. 软件需求

(1)数据库系统软件

数据库采用Oracle的10GR2企业版。Data Guard是Oracle企业版的一个特性,Primary数据库必须运行于归档模式,并且务必确保在Primary数据库上打开FORCE LOGGING,以避免用户通过nologging等方式写Redo造成对应的操作无法传输到Standby数据库,使用具有sysdba系统权限的用户管理Primary和Standby数据库。

(2)操作系统

操作系统采用AIX6.1。Primary数据库和Standby数据库的操作系统必须一致,操作系统版本可以略有差异。Primary数据库和Standby数据库的目录结构也可以不同,这里我们在主库P590和备库P720的上采用目录结构。

(3)Data Guard还提供了一个分布式管理框架,称为Data Guard Observer[2],Broker集成在Observer中,这种架构不但自动化了 Data Guard配置的创建、维护和监控,并对这些操作进行统一管理。 管理员可以使用Oracle Enterprise Manager图形管理界面或Broker自己的专用命令行界面 (DGMGRL)来利用Broker的管理功能。更重要的是利用Broker的Fast-Failover 技术可以实现故障的自动切换及数据的零丢失,使得Data Guard更加可靠安全。管理架构见下图:

3.备库类型的选择

选择物理备库作为Standby备用库,物理备份数据库通过存储介质的恢复来 实现Primary数据库的REDO应用,以达到与Primary数据库保持一致的目的。物理备份数据库的优点主要有以下几个方面:

(1)灾难恢复及高可用性。物理Standby提供了一个健全、高效的灾难恢复,以及高可用性的解决方案。更加易于管理switchover(日常维护切换)/failover(故障切换)角色转换及在更短的计划内或计划外停机时间。

(2)数据保护。使用物理Standby数据库,Data Guard能够确保即使面对无法预料的灾害也能够不丢失数据。物理Standby是基于块对块的复制,因此与对象、语句无关, Primary数据库有什么,物理Standby数据库端也会有什么。

(3)分担Primary数据库压力。通过将一些备份任务、仅查询的需求转移到物理Standby数据库,可以有效节省Primary数据库的CPU及I/O资源。

(4)提升性能。物理Standby所使用的REDO应用技术使用最底层的恢复机制,这种机制能够绕过SQL级代码层,因此效率最高。

Data Guard包含一个Primary数据库即被大部分应用访问的生产数据库,该库既可以是单实例数据库,也可以是RAC。同一个Data Guard中可以最多创建9 个Standby数据库。一旦创建完成,Data Guard通过应用Primary数据库的Redo自动维护每一个Standby数据库。

(五)容灾系统物理架构

在中心机房,采用基于AIX系统的服务器P590部署Oracle主数据库,P720服务器部署Oracle备库,通过Data Guard实现主数据库和备数据库的实时同步,用户在数据库中提交的事务在主数据库和备数据库都完成提交后,才反馈给用户结果,保证中心机房主数据库和开发事业部机房备数据库的一致性,实现提交业务数据的零丢失。

中心机房的主数据库发生故障后,通过FSFO技术对备数据库进行自动灾难切换,迅速恢复对用户的数据库服务。 针对人为的逻辑错误情况,通过Oracle的Flashback技术完成对数据库逻辑错误的快速恢复。

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值