王维民 周耀明 盛鸿文
摘要:随着计算机和信息技术的高速发展,信息系统已全面支撑企业的生产、经营、服务等活动。信息系统中的数据安全、数据异地容灾保护对企业来说就显得极为重要。该文从硬件存储和数据库软件两种技术对建立数据异地容灾的技术进行了探讨,研究其实现方式和应用架构,并构建了一种高性能、高可靠的数据异地容灾系统,结合企业的实际情况进行了实现和应用。
关键词:企业信息;数据;异地容灾;应用
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)29-6890-04
随着信息系统在企业中的广泛应用,企业的生产、服务、决策等活动越来越依赖于信息系统,但信息系统中数据安全的风险时刻存在,如硬件、软件、机房设施的故障和自然灾害的发生等,都将严重威胁着系统的稳定运行和信息数据的安全。一旦灾害发生,系统可以重建,但系统中数据的丢失或损毁将给企业带来巨大的损失,因此,如何进行数据的有效保护,确保信息系统的安全稳定就成为企业当前面临的重要课题。
数据安全保护通常的方法是数据备份。日常信息数据备份是十分必要的,但它多是静态冷备份,对系统阶段性的、局部的数据备份是有效的,但无法实现系统的实时数据保存,在极端故障或自然灾害发生时其恢复数据的时间也难以满足安全生产及时性的要求。
为了系统数据恢复迅速且实时、完整、有效,建立一套异地容灾系统,对企业运营来说是十分必要,这样才能有效保护信息数据和信息系统,为企业发展做好全面的信息化支撑。
1 异地容灾系统目标
异地容灾系统是指在核心数据机房以外的地点存储(复制)另一份生产运营数据,并且其内容实时与生产数据保持一致。能够在信息系统遭受硬件、软件故障、或其它灾难,生产数据受到损坏的时刻,容灾系统能够及时提供一份完整、准确、有效的数据,使信息系统及时恢复,并能继续运行服务。无论从数据安全还是系统运行连续性方面,容灾系统都将能对生产系统进行有效的保护。
2 异地容灾实现技术
2.1 异地容灾技术概述
异地容灾的核心是数据的实时复制、存储,其实现技术目前有多种,主要有:
1)远程镜像技术:它是在本地生产中心与远端备份(异地)中心的数据盘产生同一数据视图的存储,实现远端数据备份,主机产生的每个I/O都在两端执行。其优点是数据能同时在两端存储,实现了数据的异地保存,但也额外占用了生产端主机的CPU资源。
2)快照技术:它是对文件、数据库、磁盘子系统或逻辑卷在某一时刻的数据进行保留,形成快照对象,访问此对象即得到某历史时刻的数据。瞬间拷贝是该方法的优势,但它不能保存实时的数据,难以起到实时系统恢复。
3)应用系统技术:它是由应用系统开发程序通过操作系统同时提交本地和远程(异地)的I/O执行来实现数据复制的。但其通用性和扩展性较弱,此外开发成本高、维护量大。
4)硬件存储技术:它是由两端智能存储实现的数据远程复制,不占用主机、网络资源。用于文件系统或数据库容灾。
5)数据库软件技术:它是通过数据库通用软件技术采用两端(指生产库和异地容灾库)数据更新相同来实现远程数据复制的。更加适用于数据库的容灾,
由此可见前三种实现技术在功能性、通用性、易维护性以及投入成本等方面都存在不足。本文着重探讨功能强的、技术成熟的、通用性好的后两种技术,即硬件存储、数据库软件实现异地容灾的技术。
2.2 硬件存储技术
硬件存储容灾技术是通过智能存储盘阵及其相应软件来进行两地存储间数据的实时复制来实现异地容灾。数据可以是文件系统或数据库的。复制的是存储底层的数据块,使两端数据保持(准)一致,它是由智能磁盘阵列硬件来完成,不占用服务器及网路资源。由于是块级复制,所以数据不会产生对应用程序、数据库、文件系统、逻辑卷管理系统等的依赖,可实现对任意格式数据的复制保护。它需要两地存储间专用的物理链路和同平台的服务器。当灾难发生时,容灾端可在极短时间内启动,转为生产角色,提供数据与系统服务。
目前,市场上主要存储盘阵厂商如IBM 、HP、EMC 等都有同类技术产品,下面以应用范围广的EMC SRDF(Symmetrix Remote Data Facility)为例来对硬件存储容灾技术进行阐述。
在信息安全容灾备份领域中SRDF能建立物理上独立的两个盘阵存储之间完全的、实时的数据复制,两者距离可以远至百公里。其核心是生产端智能存储记录下数据变化的位置(track),SRDF软件实现把变化的数据实时更新到容灾端盘阵对应的位置,从而达到数据的一致。如需验证访问容灾数据则需停止复制,与此同时生产端盘阵继续记录下数据变化的位置,待恢复复制时以增量的方式更新到容灾端,继续保持复制,这种方式效率极高,能在很短的时间内保持了两边数据的一致性。当然容灾端初始数据是全量拷贝的。数据复制分为两种工作方式:
1)同步方式,即生产端数据与容灾端保持准确一致,生产服务器的每个I/O均在数据写完生产存储,并等到容灾端确认后才算真正的I/O完成。此方式适合对数据复制及时性要求高的且两端距离短的场合。如图1。
2)异步方式,即生产端数据与容灾端保持准一致,主服务器的每个I/O在数据写完生产存储后即表示I/O完成,接下来生产数据由盘阵复制到容灾存储。此方式适合两端距离远一点的场合。如图2。
整个数据容灾工作过程分为复制和分离两种状态,这两种状态可相互切换,具体为:
1) 复制状态,平时生产端数据实时更新到容灾端,容灾数据盘处于写状态,生产数据处于异地保护之中,此时容灾端主机无法访问容灾数据盘,容灾数据不可读。如图3。
2) 分离状态,容灾数据演练、验证时,生产端数据停止复制,与容灾端分离,此时容灾端主机可访问数据盘,即容灾数据可读写。容灾和生产是两个独立的系统,容灾数据的读写均不会影响生产端数据。当然此状态下,生产端数据是无保护的,所以分离状态的时间要尽可能的短。如图4。
在单向复制模式下,容灾端数据如发生更改也不会影响生产端数据,容灾端同样记录下变化的位置,待恢复复制后,容灾端原修改的数据又增量的方式更新成与生产端完整一致了。
2.3 数据库软件技术
此项技术指通过数据库软件或第三方软件实现数据库异库(地)容灾,本文以应用范围广的ORACLE DataGuard来介绍。
DataGuard原理是容灾端获取生产端数据变化的日志,再重做(应用)于容灾端库,使两端数据变化相同来达到两库数据一致的目的。当灾难发生时,容灾端可以很短时间内应用完日志,并切换为生产角色,提供数据服务。这种技术有物理和逻辑两种方式:
1)物理方式:容灾库直接应用生产端库的原样日志重做,使两端数据库的数据更新相同。在此过程中容灾库可转换为只读状态,此时获取生产端日志文件不间断。容灾库的物理结构必须和生产库相同。初始容灾库数据通常用Rman工具复制过来。如图5。
2)逻辑方式:生产端库的日志不是直接应用于容灾库,而是先转换为SQL操作日志,再重应用于容灾库,这样两端库数据变更相同来复制数据。当然这一系列过程都是系统自动实现的。两端库的物理结构可以不同。在应用日志过程中容灾库是打开的。如图6。
2.4 两种技术对比
根据以上的分析,对硬件存储和数据库软件两种容灾技术进行了比较,如表1:
表1硬件存储和数据库软件技术比较
从表1可以看出两种技术都有各自特点和适用场景,硬件复制技术在性能上和实时性方面有优势,但在数据逻辑完整性保护方面有欠缺,虽然系统本身有完整性校验,数据能正常访问;软件复制技术在数据完整性、容灾数据读取方面有优势,但在实时性方面显不足。所以建立容灾系统方案的选择需根据具体需求、条件来综合考虑。
3 异地容灾实现和应用
根据公司的业务需求,考虑到既要能抵抗生产端物理和逻辑方面损坏的风险,保持数据的实时高效复制,又要方便容灾的维护、验证和演练,保持容灾数据的有效性。同时要兼顾逻辑损坏(问题)特点,即发现逻辑损坏有一定的延迟,这就要避免逻辑问题瞬间传播到容灾系统上而一损俱损。综合以上考虑和现有的条件,结合硬件存储级和库数据软件方式的各自特点,我们将两种容灾技术进行综合,建立了相距15公里的核心数据异地容灾系统,具体架构如图7。
图7 数据容灾应用
硬件存储级容灾能抵抗了数据在物理硬件和灾害方面的风险,其性能高、实时性强、维护量小。验证或演练时启用容灾端数据,几分钟就可完成,体现数据恢复的完整性、及时性。平时和存储扩容时维护也很方便。我们每月验证一次,一直稳定运行。另外,在生产系统主设备维护时,也利用容灾系统来预防数据的风险。
数据库软件容灾能抵抗了数据在逻辑问题和灾害方面的风险,实现了数据的安全复制。验证、演练时启用容灾库(只读),数据恢复至启用瞬间,体现数据的完整性、有效性。容灾库可以延缓(DELAY)一段时间再应用重做,可避免生产库的逻辑错误快速地传播到容灾库,起到逻辑错的防护作用,在此期间日志文件还继续传递到容灾端,保证了异地数据的完整性
另外,短时暂停容灾库应用日志,置于只读状态,可用于后台分析报表应用;此时还能把分析统计的结果单独保存(报表服务器),不受数据连续复制的影响,也减轻生产系统数据统计的负载。容灾库可置回应用日志状态,继续保持数据的日志应用。
综上所述,上述容灾方案给我们带来了全面的数据安全防护,无论是故障、灾害,还是物理、逻辑上对数据的损坏,它都能提供一份完整的、实时的数据。
4 结束语
虽然硬件存储级和库数据软件方式实现的异地容灾系统能对数据进行有效地保护,但还有些不完善的地方,如经济性、数据的实时性、易维护性和实用性等,这些方面还需继续优化。另外,双活的容灾技术已成为下一步研究的方向,即容灾系统即能异地保存数据又能同时提供运营服务。
参考文献:
[1]EMC公司.SRDF Foundations.Copyright 2010 EMC Corporation.
[2] 余承龙,李战怀,黄英,胡娜.采用位表的块级持续数据容灾系统研究[J].计算机工程与应用,2010,46(32):119-122.
[3] 王彦龙,李战怀,董欢庆等.Linux平台远程逻辑卷复制系统的灾难恢复策略[J].微电子学与计算机,2005,22(3):68-72.
[4] 朱洁梅,王海涛.Oracle Database 10g DBA手册:管理健壮的、可扩展的、高可用的Oracle 数据库[M].北京:清华大学出版社,2006.
[5] Oracle Data Guard Concepts and Administration,Release 2(9.2),October 2002,Part No.A96653-02.
[6] 龚艳,张世钱.用Oracle 9i dataguard构建系统容灾[J].计算机应用与软件,2006(10).
[7] 郭凯夫.基于广域网的数据备份方案的设计与实现[D].大连:大连理工大学,2006.