龙空技术网

计算机存储之数据复制与容灾

东北IT民工 57

前言:

今天姐妹们对“oracle存储过程return”大体比较关注,看官们都需要知道一些“oracle存储过程return”的相关资讯。那么小编也在网上网罗了一些关于“oracle存储过程return””的相关内容,希望小伙伴们能喜欢,大家快快来了解一下吧!

灾难恢复/业务连续性

随着企业信息化进程的不断深化,信息系统成为了支撑企业业务运行的重要平台,企业的全部业务流程都依赖于信息系统提供的服务来运作。这种统一的业务运作平台在简化业务流程,提高工作效率的同时,也带来了安全性方面的全新要求。那就是信息系统必须具备抵抗灾难的能力,具备在灾后快速恢复的能力,只有这样,才能满足企业业务连续性的需求。

在国内,尽管企业对信息系统的重要性和容灾需求早有认识,但鉴于适用技术、方案成本等多方面原因,容灾系统的建设一直属于企业的自主行为。在9.11事件和印度洋海啸之后,国家充分认识到了重要信息系统容灾的必要性,要求一些重要行业的信息系统必须实现容灾。为了加强对信息系统安全的管理,规范对信息系统灾难性故障的响应和处置,国务院信息化办公室在2005年发布了《重要信息系统灾难恢复指南》,用于指导信息系统的使用和管理单位的灾难恢复规划工作,以及对信息系统灾难恢复规划项目的审批和监督管理。

《指南》给灾难下了一个清晰的定义,即“由于人为或自然的原因,造成信息系统运行严重故障或瘫痪,使信息系统支持的业务功能停顿或服务水平不可接受、达到特定的时间的突发性事件”。这个定义不仅给出了灾难的范围,也给出了灾难的判断标准。灾难不只包括自然灾难(地震、海啸等),也包括人为的灾难(如恐怖袭击、误操作、病毒等)。另外,判断信息系统是否因灾难而故障的标准除“支持的业务停顿”之外,“服务水平不可接受”也是一个方面。事实上,“服务水平不可接受”是比较难以定量的分析判定的,这增加了实现自动化故障切换(如“零秒”切换)的难度。

参照国际相关标准,并结合国内实际情况,《指南》还将灾难恢复应具有的技术和管理支持分为6个等级,每个级别都包括数据备份系统、备用数据处理系统、备用网络系统、备用基础设施、技术支持、运行维护支持和灾难恢复预案这7个要素。在7个要素中,前三个属于IT技术的范畴,而后四个属于管理和服务的范畴。其中,数据备份系统面向的对象是数据,目的是实现数据的冗余备份,以便一份数据被破坏以后,还有另外一份数据可用,常用的技术有数据备份(Backup)和数据复制(Replication)等。备用数据处理系统面向的对象是应用服务器,目的是在主用数据处理系统发生故障以后,可以利用数据备份系统产生的冗余数据来恢复应用,常用的技术有服务器双机热备、服务器集群等。备用网络系统面向的是网络连接,目的是保证备用数据处理系统与其客户端、不同备用数据处理系统之间的网络,以便整个实现业务系统的恢复。

要素

级别

数据备份系统

备用数据处理系统

备用网络系统

备用基础设施

技术支持

运行维护支持

灾难恢复预案

级别1

级别2

级别3

级别4

级别5

级别6

七个要素的不同满足程度决定了容灾方案的等级,等级的划分最终反映在技术指标上,不同等级的容灾方案对应有不同的技术指标值。常用的容灾方案评价指标主要有RTO(Recovery Time Object,恢复时间目标)、RPO(Recovery Point Time,恢复点目标)和容灾半径。RTO是指“将信息系统从灾难造成的故障或瘫痪状态恢复到可正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态”所需时间,其中包括备份数据恢复到可用状态所需时间、数据处理系统切换时间、以及备用网络切换时间等,该指标用以衡量容灾方案的业务恢复能力。RPO是指业务系统所允许的灾难过程中的最大数据丢失量(以时间来度量),这是一个与数据备份系统所选用的技术有密切关系的指标,用以衡量灾难恢复方案的数据冗余备份能力。容灾半径是指生产中心和灾备中心之间的直线距离,用以衡量容灾方案所能防御的灾难影响范围。显然,具有零RTO、零RPO和大容灾半径的灾难恢复方案是用户最期望的,但受系统性能要求、适用技术及成本等方面的约束,这种方案实际上是不大可行的。所以,用户在选择容灾方案时应该综合考虑灾难的发生概率、灾难对数据的破坏力、数据所支撑业务的重要性、适用的技术措施及自身所能承受的成本等多种因素,理性地作出选择。

RTO示意图

RPO示意图

灾难半径示意图

除技术指标以外,容灾方案的ROI(Return of Investment,投入产出比)也是用户需要重点关注的,它用以衡量用户投入到容灾系统的资金与从中所获得的收益的比率。表明上看,容灾系统不像其它业务系统那样会给用户带来收益,但事实上,容灾系统确实是有收益的,而且收益是完全可以度量的。容灾系统的收益主要来源于发生灾难时为用户所挽回的损失,这种损失不只包括金钱方面的,信誉、客户忠诚度、法律风险等方面的损失也包含在内。业界统计数据表明,随着业务停运时间的延长,用户的损失会急剧增加。当然不同行业的损失程度有所不同,其中以金融、电信为最。如果容灾系统能够把由于灾难而导致的业务停运时间显著缩短,也就间接为客户创造了收益。基于容灾方案的技术指标、业界的统计数据和用户自身业务状况,用户是完全可以对容灾方案的收益作出一个适当的量化评估的。在ROI指标方面,基于新型IP SAN系统的容灾方案显得更有优势,因为这类方案不仅能大幅降低容灾系统的初始部署成本,而且管理成本也相对要低很多。

数据备份系统

在构建容灾系统所涉及的7个要素中,数据备份系统是基础,只有保证了数据的安全可用,业务的恢复才有可能。数据备份系统采用的技术主要有数据备份(Backup)和数据复制(Replication)两种。

数据备份

数据备份(Backup)一般是指利用备份软件(如Veritas的NetBackup、CA的BrightStor等)把数据从磁盘备份到磁带进行离线保存(最新的备份技术也支持磁盘到磁盘的备份,也就是把磁盘作为备份数据的存放介质,以加快数据的备份和恢复速度)。备份数据的格式是磁带格式,不能被数据处理系统直接访问。在源数据被破坏或丢失时,备份数据必须由备份软件恢复成可用数据,才可让数据处理系统访问。

数据备份在一定程度上是可以保证数据安全的,但应用于容灾系统时却面临众多问题:

1)备份窗口

备份窗口是指应用所允许的完成数据备份作业时间。由于数据备份作业会导致应用主机的性能下降,甚至服务水平不可接受,备份作业必须在应用停机或业务量较小的时候进行。但随着备份数据量的不断增加和业务7×24小时连续运行需求的提出,备份窗口的问题越来越突出。问题的解决之道主要在于加快备份速度(如采用高速带库、磁盘备份)和实现在线备份。

2)恢复时间

在容灾系统中,备份数据的恢复时间直接关系到容灾方案的RTO指标。当备份数据量较大或者备份策略比较复杂时,备份数据往往需要较长的恢复时间。

3)备份间隔

鉴于备份作业对主机系统的影响,两次备份作业之间的间隔不能太密集。以常用的备份策略(1个全备+6个增量备份)为例,备份间隔为1天。也就是说如果在两次备份之间发生灾难,RPO(数据的丢失量)接近于1天,这对于一些重要的信息系统是完全不可接受的。

4)数据的可恢复性

数据备份的目的就是为了数据恢复。但往往由于介质失效、认为错误、备份过程出错等原因,造成备份数据的不可恢复。

5)介质的保管和运送

在完成数据备份以后,为了保证备份数据的安全性,一般采用的方式是把备份介质运输到远程的数据中心进行保管。但是在运输过程中,可能会造成备份数据的丢失。最近爆出的美国银行丢失120万名客户资料的事件就是佐证。

6)备份的成本

从提高备份速度和恢复速度,提高数据可恢复性方面来看,D2D是个不错的选择,但是现有备份软件的D2D选件都非常昂贵,方案实施成本比较高。

综合以上分析可以知道,高等级的容灾方案不适合于采用数据备份(Backup)技术来保证数据安全,数据备份只适合于一些低等级的容灾方案,对RTO和RPO要求相对比较低。但这并不意味这高等级容灾系统中不需要数据备份,作为一种廉价、成熟的技术,数据备份可以为容灾系统提供更多一层的保护。

数据复制

数据复制(Replication)是指利用复制软件(如EMC的SRDF、H3C同步异步镜像等)把数据从一个磁盘复制到另一个磁盘,生成一个数据副本。这个数据副本是数据处理系统直接可以访问的,不需要进行任何的数据恢复操作,这一点是复制与D2D备份的最大区别。

数据复制有多种分类方法,依据复制启动点的不同,数据复制可分为同步复制、异步复制、基于数据增量的复制等几种。对于同步复制,数据复制是在向主机返回写请求确认信号之前实时进行的;对于异步复制,数据复制是在向主机返回写请求确认信号之后实时进行的;而基于数据增量的复制是一种非实时的复制方式,它依据一定的策略(如设定数据变化量门限值、日历安排等)来启动数据复制。业界经常把不间断的,实时的数据复制称为镜像,所以同步/异步复制又被称为同步/异步镜像。

同步镜像、异步镜像和增量复制

依据复制执行实体的不同,数据复制可分为基于主机的复制和基于存储设备的复制。基于主机的复制一般是由安装在主机中的软件插件来实施数据的复制,这会对主机系统的性能有所影响,典型的产品如Veritas的VVR,HP的OpenView SM等。基于存储设备的复制可以是由存储设备的控制器执行(如EMC的SRDF、华为3Com的同/异步镜像等),也可以是由虚拟化的存储管理平台来执行(如飞康IPStor的同/异步镜像和基于增量的复制)。基于存储设备的复制独立于主机平台,不会对主机系统的性能造成影响。

基于主机的数据复制

基于存储设备的数据复制

基于虚拟化存储管理平台的数据复制

另外,依据数据复制站点之间的距离的不同,复制还可分为远程复制和本地复制。一般来说,复制距离小于1~2Km时为本地复制,大于该值时为远程复制。

数据一致性

在进行数据备份和数据复制时,保证数据的一致性是非常重要的。数据一致性问题可以理解为应用程序自己认为的数据状态与最终写入到磁盘中的数据状态是否一致。

引起数据一致性问题的主要原因是位于数据I/O路径上的各种Cache或Buffer(包括数据库Cache、文件系统Cache、存储控制器Cache、磁盘Cache等)。由于不同系统模块处理数据IO的速度是存在差异的,所以就需要添加Cache来缓存IO操作,适配不同模块的处理速度。这些Cache在提高系统处理性能的同时,也可能会“滞留”IO操作,带来一些负面影响。如果在系统发生故障时,仍有部分IO“滞留”在IO操作中,真正写到磁盘中的数据就会少于应用程序实际写出的数据,造成数据的不一致。当系统恢复时,直接从硬盘中读出的数据可能存在逻辑错误,导致应用无法启动。尽管一些数据库系统(如Oracle、DB2)可以根据redo日志重新生成数据,修复逻辑错误,但这个过程是非常耗时的,而且也不一定每次都能成功。对于一些功能相对较弱的数据库(如SQL Server),这个问题就更加严重了。

目前来说,数据一致性问题的解决之道有两个,关闭Cache或创建快照(Snapshot)。尽管关闭Cache会导致系统处理性能的下降,但在有些应用中,这却是唯一的选择。比如一些高等级的容灾方案中(RPO为0),都是利用同步镜像技术在生产中心和灾备中心之间实时同步复制数据。由于数据是实时复制的,所以就必须要关闭Cache。

快照的目的是为数据卷创建一个在特定时间点的状态视图,通过这个视图只可以看到数据卷在创建时刻的数据,在此时间点之后源数据卷的更新(有新的数据写入),不会反映在快照视图中。那么利用这个快照视图,就可以做数据的备份或复制。那么快照视图的数据一致性是如何保证的呢?这涉及到多个实体(存储控制器和安装在主机上的快照代理)和一系列的动作。典型的操作流程是:存储控制器要为某个数据卷创建快照时,通知快照代理;快照代理收到通知后,通知应用程序暂停IO操作(进入backup模式),并flush数据库和文件系统中的Cache,之后给存储控制器返回消息,指示已可以创建快照;存储控制器收到快照代理返回的指示消息后,立即创建快照视图,并通知快照代理快照创建完毕;快照代理通知应用程序正常运行。由于应用程序暂停了IO操作,并且flush了主机中的Cache,所以也就保证了数据的一致性。

创建快照是对应用性能是有一定的影响的(以Oracle数据库为例,进入Backup模式大约需要2分钟,退出Backup模式需要1分钟,再加上通信所需时间,一次快照需要约4分钟的时间),所以快照的创建不能太频繁。

总结

数据备份(Backup):受备份策略、备份数据可恢复性等问题影响,不适合于在高等级的容灾方案(RPO小于24小时)作为构建备份数据系统主要的技术。但由于实施方便,成本低廉,适合于低等级的容灾方案中,也可作为高等级容灾方案的辅助技术。在应用停机的情况下进行数据备份就不存在数据一致性问题,当需要在线备份时,一般由备份软件来保证数据一致性。

同步镜像:应用于最高等级的容灾方案(RPO等于0)中,需要关闭主机Cache来保证数据一致性。对于连接生产中心和灾备中心的链路带宽和QoS要求很高,一般采用光纤直连、波分设备来保证,方案部署成本很高。

异步镜像:应用于较高级别的容灾方案(RPO接近于0)中,无法有效保证数据一致性(关闭主机中的Cache和快照都不适合)。但对于连接生产中心和灾备中心的链路带宽和QoS要求一般,理论上带宽只要达到“日新增数据量/(24×3600×8)”即可。

增量复制:应用于较高级别的容灾方案(RPO小于1小时)中,可以结合快照技术有效保证数据一致性。对于连接生产中心和灾备中心的链路带宽和QoS要求一般,理论上带宽只要达到“数据增量/复制间隔”即可。

标签: #oracle存储过程return