7.2.3 异步数据复制方式

从前面的分析来看,同步数据容灾一般只能在较短距离内部署(10KM-100KM),大于这个距离,就没有实际应用价值了。因为即使在1000KM 距离上,4.5MB 的速率即使将数据复制到异地,每个I/O 的响应时间也会超过10ms,这种响应速度太慢。

异步数据容灾是在“线路带宽和距离能保证完成数据复制过程,同时,异地数据复制不影响生产系统的性能”这样的要求下提出来的。考虑异步数据容灾,应该注意到以下几个技术条件和事实。

带宽必须能保证将本地生产数据基本上完全复制到异地容灾端,还要考虑距离对传输能力的影响。

按照前面的估算:在1000 公里范围内,一条带宽足够的线路能支持的I/O 流量最大为(数据块大小10KM ):1.4MB×3600 秒×24 小时=120GB/天

异地容灾远端数据会比本地生产端数据落后一定时间,这个时间随采用的技术,带宽、距离、数据流特点的不同而不同。一般而言,软件方式的数据复制技术具有完整的数据包的排队和断点重发机制,在灾难情况下可以保证灾难时间点的数据一致性。

异步容灾基本不影响本地系统性能。

与同步传输方式相比,异步传输方式对带宽和距离的要求低很多,它只要求在某个时间段内能将数据全部复制到异地即可,同时异步传输方式也不会明显影响应用系统的性能。其缺点是在本地生产数据发生灾难时,异地系统上的数据可能会短暂损失(如果广域网速率较低,交易未完整发送的话),但不影响一致性(类似本地数据库主机的异常关机)。

通过异步传输模式进行异地数据复制的技术,包括:

基于主机逻辑卷的数据复制方式

基于磁盘系统I/O 控制器的数据复制方式

基于主机逻辑卷(Volume)的数据复制方式

首先申明:针对这种方式,这以VERITAS VVR 为例,但并不表示所有基于主机进行复制的其它软件采用同样方式,也不保证其它软件是有应用价值的。

VERITAS VVR (Volume Replicator)通过基于Volume 和Log 的复制技术,保证在任何时刻本地系统发生自然灾难时,在异地的数据仍是可用的。

VERITAS VVR 在异步模式下采用了Log 技术来跟踪未及时复制的数据块,这个Log 是一个先到先服务的堆栈,每一笔I/O 处理都会首先被放进这个Log,并按到达先后顺序被复制到异地服务器系统。

下图是其工作的结构原理。

存储工程师可以看到整个I/O 和复制的过程如下:

本地主机系统发出第一个I/O 请求A 到逻辑卷;

逻辑卷对本地磁盘系统发出I/O 请求;

在往本地磁盘系统I/O 的同时,逻辑卷向本地磁盘系统上的VVR Log 发出相同的写请求;

本地磁盘系统完成I/O 操作;并通知逻辑卷“I/O 完成”;

VVR 完成针对这个I/O 的远程操作,并通知逻辑卷;

逻辑卷向主机确认“I/O 完成”。

服务器的另一个进程:VVR 的进程,负责将Log 队列中的I/O 复制到异地服务器。这个过程和上面的I/O 过程在时间上无关。如上图中的标记:“I”和“II”。

I: 本地VVR 进程从Log 队列中取出最先到达的I/O,复制到异地服务器

II: 异地服务器接收到本地服务器VVR 发出的I/O 请求,将相应数据写到异地磁盘系统,然后,通知本地系统VVR 进程,要求下一个I/O。

这里,跟踪未及时复制的数据块的Log 技术是保证异地数据可用的必要条件。一个数据库的I/O 是有严格顺序的,这个顺序是保证数据库完整性的必要条件,一个完整性被破坏的数据库一般是不可用的,比如根本无法启动、打开该数据库,且是无法修复的。本地数据库的完整性是由数据库本身来维护的。当一个数据库被实时复制到异地时,要保证异地数据库的完整性,必然保证在异地磁盘I/O 上的I/O 顺序和本地I/O 顺序完全相同,否则,异地数据库的完整性就无法保证。

VERITAS VVR 采用的I/O 控制机制是支持先到先服务的Log 技术,因此,不管异地数据比本地数据落后多少时间,都能保证异地数据库数据的一致性。比如:本地系统在12:00 时发生自然灾难,由于部分数据未被及时复制到异地,如有10 分钟的数据未完成复制,那么在异地系统上存在11:50 分钟以前的所有数据,且这个数据库是可用的。

目前的基于磁盘系统的异地数据复制技术采用Bitmap 技术和Timestamp 技术,这两种技术都不能保证本地向异地复制数据的顺序严格和本地I/O 的顺序相同,所以,这两种方式都不能保证异地数据库的完整性。

Bitmap(位图)技术记录未被及时复制的数据块的方法是:对于每个数据块(如32KB)用一个Bit 来对应,某一个Bit 被置为“1”时,表示其对应的数据块已被修改过,正在等待处理(这里是等待被复制)。由此可以看出,当有一块以上的数据块未被及时复制时,系统并无法确认哪一块数据块应该先复制到异地,所以,系统将任选一块,即不按到达的时间先后进行复制。

可以看出,这种方式不能根本保证异地数据库数据的完整性、一致性。

Timestamp 方式是对每个未及时传送的数据块盖上一个时间戳。从表面上看,由于时间戳的关系,好像能确定一个数据块被修改的时间顺序了。其实不然:当一个未被及时复制的数据块被第2 次修改,并盖上新的时间戳时,数据复制的顺序就被破坏了。例如:

现在有10 块数据块未被复制,编号“1、2、3、4、5、6、7、8、9、10”;这时,第3 块数据被再次修改,并被盖上一个新的时间戳“11”;这时,系统会按这样的次序进行复制:“1、2、(没有3)、4、5、6、7、8、9、10、11”。存储工程师可以看到,在复制进行到“4~10”之间时,异地数据的完整性被破坏。

事实上,在一个运行繁忙的系统中,出现这种情况机率极高,甚至每时每刻都处在这种状态之下。所以,本着严格的,对系统可用性负责任的态度,可以认为“Timestamp”的技术虽然比Bitmap 技术有一定优势,但实际上也无法保证异地数据的完整性和可用性。

Bitmap 和Timestamp 方式的技术弱点:没有log;

作为磁盘系统内置的数据复制功能,传统的磁盘管理模式没有考虑在磁盘系统内部开辟出一个磁盘块给磁盘系统控制器本身使用,所以,磁盘系统无法采用log 模式进行异步数据复制。

磁盘系统保留异步传输模式的目的:复制,但不是容灾复制;

数据复制的目的不仅仅是容灾。数据容灾要求两地时时保持连接,数据复制过程在任一时间都在进行(除非有线路或设备故障)。而非容灾性复制只要求在某一个时间段里将数据复制到异地,复制告一段落后(在某一时刻完全同步),复制工作会暂停。这种复制可能是为一个特殊目的只做一次,如在线业务迁移;也可能每天或每月追加一次。这样,在异地就会存在一份最大损失数据量为1 天或1 个月的生产数据复制品,其对数据的保障能力,如同磁盘备份。这种方式复制数据的目的包括:1)在异地保存一份备份数据(如同磁带备份异地保存)。2)在线业务迁移,当信息中心或其中的一个服务要迁移到另一个地方,又希望少停机(实际上也可用磁带备份和恢复来实现)。3)利用与磁盘快照技术结合,为异地开发中心提供一个与生产数据尽量相同的测试数据源。当然,也可用于其它可能的目的。

综上所述,可以看出,虽然基于磁盘系统的异地数据复制功能有异步传输模式,但实际上并不支持异步数据容灾,只有像VERITAS Volume Replicator 这样基于先进先出的Log 技术的解决方案才真正支持异步数据容灾

oracle的异步备份,网络存储导论第七章:异步数据复制容灾方式相关推荐

  1. 网络存储导论第七章:重要系统灾备方法

    7.3.1 灾难备份需求的衡量指标 对于大多数企业而言,提到灾难备份,最直接的反映就是增加预算,购买更多的主机,存储设备以及相应软件.虽然这是实施灾难备份项目的一个必要步骤,但是,从"灾备方 ...

  2. 『Oracle数据复制容灾案例系列』兴业证券Oracle容灾案例

    『Oracle数据复制容灾案例系列』   兴业证券Oracle数据库复制容灾案例 使用产品:DDS 上线时间:2006 系统环境:Oracle 10g RAC  IBM AIX5L 应用系统:恒生 证 ...

  3. 『Oracle数据复制容灾案例系列』中银国际证券Oracle容灾案例

    『Oracle数据复制容灾案例系列』   中银国际证券Oracle数据库容灾案例 使用产品:DDS 上线时间:2007 系统环境:Oracle 10g RAC 惠普 安腾 IA 64 HPUX 11. ...

  4. 佛山市住房公积金数据异地容灾备份系统

    一.       项目详细内容和要求 1.1.      项目介绍 佛山市住房公积金管理中心经过多年来持续的发展,实现了一市五区公积金业务的统一管理.特别在新系统启用后,中心以及各管理部的公积金数据实 ...

  5. 三分钟掌握数据中心“容灾和备份的区别”

    前言: 数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机里的数据就像扫雷游戏一样,十面埋伏充满雷区,随时都有可能Game Over,容灾备份就是数据安全的最后防线,但是你可以避免由数 ...

  6. 【科普】数据中心“容灾”和“备份”的区别

    数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机里的数据就像扫雷游戏一样,十面埋伏充满雷区,随时都有可能Game Over,容灾备份就是数据安全的最后防线,但是你可以避免由数据中心发 ...

  7. 数据中心服务器备份,三分钟掌握数据中心“容灾和备份的区别”

    前言: 数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机里的数据就像扫雷游戏一样,十面埋伏充满雷区,随时都有可能Game Over,容灾备份就是数据安全的最后防线,但是你可以避免由数 ...

  8. 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET

    网络工程管理 第七章 应用层协议 应用层的具体内容就是规定应用进程在通信时所遵循的协议. 应用层的许多协议都是基于客户/服务器方式.客户是服务请求方,服务器是服务提供方. 常见的应用层协议 TCP/I ...

  9. 数据中心“容灾和备份的区别” 。

    转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站 大数据时代数据量激增,数据的的安全性和业务连续性成为了企业运营和发展的命脉.但许多企业仍在采取 ...

  10. 【oracle灾备方案系列】基于DDS的Oracle复制容灾方案(三)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> [oracle ...

最新文章

  1. bellman_ford寻找平均权值最小的回路
  2. R语言使用plotly绘制3D散点图实战
  3. POJ2985 The k-th Largest Group(平衡树查询第K大)
  4. “举报”阿里巴巴 Arthas,大幅降低 OOM Trouble shooting 门槛
  5. 面试mysql慢查询_剑指Offer面试题:如何定位并优化慢查询sql
  6. MapReduce 在Shuffle阶段 内存溢出原因分析及处理方法
  7. php smtp验证,php通过smtp验证登陆
  8. Flink java.lang.NoClassDefFoundError: org/apache/flink/api/common/functions/FlatMapFunction
  9. freenas安装mysql_FreeNAS Jail中安装MySQL数据库服务器
  10. 二. 音频系统 Audio Systems
  11. mysql 账户管理_MySql 账户管理
  12. 计算机工程工艺,中国计算机学会第十届计算机工程与工艺学术年会.pdf
  13. 机器学习基本概念简介上
  14. 中职学计算机专业考本科难吗,国际本科难不难(中职考本科难不难)
  15. 吉林省专升本历年真题高频词汇
  16. simics虚拟机+solaris 9 sparc系统运行memory compiler(非常详细)
  17. 集成电路光刻机精密运动台控制方法
  18. FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.
  19. STM32单片机接直流减速电机编码器注意点
  20. hive sql中传date 指定后的“%Y-%m-%d“格式,需要加引号

热门文章

  1. 详解怎么申请注册一个自己的电子邮箱邮件?怎么注册邮箱账号?
  2. r 语言计算欧氏距离_R语言-KNN算法
  3. 笔记本计算机管理没有键盘,如何禁用笔记本键盘输入?怎么关闭笔记本键盘
  4. 【uniappAPP实现支付宝授权登录】
  5. 支付宝授权登陆php,支付宝app登录授权的infoStr授权登录流程
  6. jvm如何排查生产环境cpu飙高的问题
  7. 数据结构与算法基本概念
  8. s数据结构替换子表java版,数据结构(Java版)-习题解答与实验指导
  9. 物联网应用网站——用户手册
  10. 嵌入式到底应该选择驱动开发,还是应用开发?