免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: bluevisual
打印 上一主题 下一主题

[RAID与磁盘阵列] 基于阵列的复制,oracle之类的数据库能保证同步么 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2009-06-04 11:35 |只看该作者
原帖由 无牙 于 2009-6-4 11:16 发表
如果VVR SRL写满,启用了DCM,也是能保证一致性的。
数据复制后是不是能用,和数据库本身的机理有关系,这时候就要靠数据库的日志来前滚或者后滚。


谢谢!

阵列的time stamp也是一个卷么?如果写满写bitmap也不能保障一致性吧?

time stamp和veritas Log机制有优缺点的不同么??

论坛徽章:
0
52 [报告]
发表于 2009-06-04 17:31 |只看该作者
原帖由 bbjmmj 于 2009-6-2 15:54 发表
存储复制最要命的就是通信中断,无论同步复制还是异步复制,都存在这个风险,灾备线路一旦中断,业务就要停止,虽然可以用MULTIPATH、路由之类的辅助手段加以预防,但并没有彻底解决业务中断的问题,比如灾备中心发生火灾,或者设备故障,那业务就不可避免地要中断

不明白

论坛徽章:
0
53 [报告]
发表于 2009-06-04 17:56 |只看该作者

我的一点看法:

我是做售前的,对技术细节没有深入了解,以下观点未必正确,请大家指正。
1.基于阵列的同步模式远程复制是能够保证数据一致性的,至于数据是在阵列Cache还是写入了Disk没有什么关系;在数据库Cache中的数据不一致是由数据库自己的log机制负责的,和阵列没有关系;
2.在异步模式下比较复杂
   1).异步模式丢数据很正常,但是需要保证2个事情,a.链路中断后已传输的数据始终是一致的,b.链路恢复后续传的数据也是一致的(当链路再次中断仍然能够保持正确)
   2)大多数阵列异步模式的实现方法:在Cache中建立IO队列(可能有timestamp),在多个磁盘卷之间建立一致性组(包括数据库的数据文件、日志文件等),这样基本都能满足a.的需求
   3)问题是阵列Cache大小有限,当链路速度太慢或者长时间中断时,Cache队列溢出了,有些阵列只能放弃复制,等链路恢复后重新来过(所有源数据再拷贝一次),有些阵列放弃队列模式,改用Bitmap模式,在链路恢复后先按照Bitmap复制,完成后再回到正常的队列模式,这两种阵列都不能满足b.的需求。在容灾系统规划中就是“二次容灾问题”,当第一次灾难结束/链路恢复后,如果在数据没有完全同步时再来一次灾难,那么远端数据就是不一致的,容灾就白做了(仅指阵列层面),所以在第一次链路恢复后,不能立刻同步数据,而是先把远端的数据做一个本地复制(Shadowimage之类),然后再同步,即使再次发生灾难,至少远端还有一份老一点的数据。关键它是"一致的",可以用来恢复应用;
  4)在高端磁盘阵列中(其实真正的高端也就HDS USP和EMC,加HP OEM的XP),USP/XP有3种复制模式:“同步”,“异步”,“日志异步”。日志异步就是在阵列中专门配置一个RAID组用于存放IO日志(带Timestamp),这样在链路中断时可以继续记录IO队列(RAID组可以保存TB级的数据,Cache是GB级的),因此可以满足b.的需求。还有一些其他的好处,日志异步方式是由远端主动到本地读取日志的“拉”模式,而不是本地发送到远端的“推”模式,这样本地阵列在复制中始终是被动的,负载较小,而且链路中断时也不需要操心,链路恢复后由远端来“拉”即可;另外日志模式可以容易实现1点对多点的容灾,1个本地阵列可以复制到多台远端阵列
  5)在中端阵列中(EMC CX, HP EVA, IBM/SUN/ DS, Netapp FAS),我只知道EVA的异步复制是日志模式的,称作"WHL"(Write History Log),因为EVA的磁盘空间是划分是自动分配的,所以阵列上没有专门的日志盘,所有空闲的磁盘空间都可以拿来做日志,无需管理员干预,所以EVA基本也可以满足二次容灾的需求。
  6)综上所述,异步有“Cache队列Timestamp+磁盘Bitmap”,“磁盘写日志”2中模式,后面一种可以始终保持数据一致性

3.顺便说句和存储无关的题外话
   在容灾中要求保证一致性其实有很多层面的方法,阵列是其中一个层次,还需要其它层面的配合
   1)业务流程,例如每个业务操作都留有凭证,即使数据库中丢了数据也能再输进去
   2)应用软件,在写数据库之前先做一个log并传到异地
   3)数据库、操作系统/文件系统层面的日志/回滚技术
   4)最低层,最简单的是阵列复制层面的

[ 本帖最后由 ffaatt 于 2009-6-4 18:46 编辑 ]

论坛徽章:
0
54 [报告]
发表于 2009-06-04 18:29 |只看该作者
看大家都是在讨论Oracle数据库,其他哪些数据库也可以与这个原理差不多呢?望各位赐教...不胜感谢

论坛徽章:
0
55 [报告]
发表于 2009-06-04 18:53 |只看该作者
各种主流的数据库产品一般都有日志、回滚这一套,还有类似的应用如Exchange、Domino等也差不多。主流的阵列厂商(包括Veritas这样的存储软件商)一般都会把自己的本地复制和和异地复制和这些应用集成起来,有些做为实施服务来卖,有些免费给个脚本模板,还有一些打包成为一个产品模块来卖,

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
56 [报告]
发表于 2009-06-04 20:09 |只看该作者
原帖由 forecast777 于 2009-6-4 11:32 发表
阵列如何能够保障复制时的一致性呢?
如果redo log都有问题了,如何前滚或者后滚

你本地的redo log如果都有问题了,你如何前滚或者回滚?

论坛徽章:
0
57 [报告]
发表于 2009-06-04 20:27 |只看该作者
原帖由 wolfop 于 2009-6-4 20:09 发表

你本地的redo log如果都有问题了,你如何前滚或者回滚?


呵呵,我那个是反问句。
赞成“ffaatt“等人的观点。

论坛徽章:
0
58 [报告]
发表于 2009-06-04 21:13 |只看该作者
原帖由 ffaatt 于 2009-6-4 17:56 发表
我是做售前的,对技术细节没有深入了解,以下观点未必正确,请大家指正。
1.基于阵列的同步模式远程复制是能够保证数据一致性的,至于数据是在阵列Cache还是写入了Disk没有什么关系;在数据库Cache中的数据不一 ...


有两个疑问请您指点:
1)Time stamp各厂商都在内存实现么? 有没有把它放在一个独立卷中的?  是否存在一个所需cache大小和带宽、数据量/频繁度等指标的对应关系公式?

2)您说“所以在第一次链路恢复后,不能立刻同步数据,而是先把远端的数据做一个本地复制(Shadowimage之类),然后再同步” 这个是通过脚本实现么?  在push模式下,这个脚本触发问题如何把握??
另外某客户案例是在备援站点每隔一个时间做个SI,这样实现一致性和其它数据使用用途。 这个是最佳方法么?

[ 本帖最后由 forecast777 于 2009-6-4 21:15 编辑 ]

论坛徽章:
0
59 [报告]
发表于 2009-06-04 23:38 |只看该作者
很好的题目,顺便问一下,oracle的数据盘或文件用snapshot做备份,不管哪个厂商的,能从snapshot恢复吗,我认为能,问题是数据会损失多少?

论坛徽章:
9
技术图书徽章
日期:2014-10-14 15:48:13数据库技术版块每日发帖之星
日期:2015-06-04 22:20:00数据库技术版块每日发帖之星
日期:2015-06-10 22:20:00数据库技术版块每日发帖之星
日期:2015-06-11 22:20:00数据库技术版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-09-22 06:20:00IT运维版块每日发帖之星
日期:2015-12-08 06:20:00综合交流区版块每日发帖之星
日期:2016-02-02 06:20:00IT运维版块每日发帖之星
日期:2016-07-25 06:20:00
60 [报告]
发表于 2009-06-05 12:51 |只看该作者
感觉楼上FFAATT对存储复制的说法已经比较权威了。
说说我的看法,我不赞成使用存储复制。
一方面是存储复制太耗费带宽,比如更改表中一个记录中某个字段的值,这个操作,至少会影响到存储数据库文件的存储系统的一个数据块,同时还会影响日志文件,也就是说,即使我只是该了某个记录中一个整形字段的值,使用存储复制都要至少复制两个以上的数据块,实际数据发生更改的部分可能远远小于块的尺寸,这个时候就存在带宽严重浪费的情况。
另一方面,如果远端没有来得及“拉”块,主存储即发生了损坏,这个时候,不但要丢数据,甚至有可能破坏文件系统,这个问题比数据库本身提供的REDO LOG要严重得多,REDO LOG只是丢掉一个操作,不存在破坏文件系统的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP