有关容灾一致性问题...高手请进!

时间:2008-01-16 13:32:30  来源:  作者:

不是很明白容灾节点的数据一致性是怎么保证的.看了很多容灾方案,都对这个说的不怎么明白.各厂商的解决方案不一样.当本地数据写完后,数据+时间磋或位图置位的方式传给容灾中心,在传输过程中网络出现故障时,容灾中心收到部分数据或完全没有接收到,容灾中心的数据是不完整的,也是不一致的.怎么做才可以保证其一致?并且数据库能从容灾中心起来呢(网络出现故障时)?



 shiqiaoliang 回复于:2005-07-15 20:31:52

数据的一致性是由软件来保证的。每个不同的解决方案,采用数据一致性的保护都不太一样。详细的资料要看厂家的白皮书,有非常详细的原理介绍。


 wolfop 回复于:2005-07-15 23:47:59

EMC采用时间容积
HDS/HP采用IO操作序列号
IBM采用一致性组,都不是一两句能说清楚的。


 chucknancy 回复于:2005-07-16 20:45:04

引用:原帖由 "wolfop" 发表:
EMC采用时间容积
HDS/HP采用IO操作序列号
IBM采用一致性组,都不是一两句能说清楚的。



专业了点   :mrgreen: 

HDS的高级产品肯定是可以做到完美的一致性,不过非常贵

网络出现故障本地也不会write啊


 xiao_wu 回复于:2005-07-18 09:23:27

谢谢各位大虾的回复!

你们所说的这些像是在网络或系统正常状况下的数据一致性保证.但数据在传输过程中网络故障能保证容灾节点的数据完整性和一致性吗?假如容灾节点在故障时接收到了部分数据.


 testuse 回复于:2005-08-01 17:59:49

能保证,类似tcp/ip的握手协议


 lei8c8 回复于:2005-08-01 22:19:16

每个厂商都有多种解决方案
比如emc srdf, ibm pprc
而且也有多种模式


 mengxiao88 回复于:2005-08-11 19:52:31

网络层做备份。


 sqmax 回复于:2005-08-12 00:43:54

别的不好说,但EMC的我多少还是了解的EMC的SRDF提供三种备份方式,同步,异步和自适应模式,如果选自适应的话,一但出现数据延迟会自动由同步模式变为异步模式而保证数据的完整性


 kaichun 回复于:2005-08-12 14:35:55

楼主主要担心的是网络出现故障的情况,我觉得实现网络部分的冗余就可以比如同时使用两个ISP以后的冗余网路。至于楼主担心的问题,其实TCP/IP协议在传输的时候已经能够保证数据的完整性了,如果容灾中心只接收到一部分数据的话,那么这个数据在网络层就会被丢弃,而不会传输到应用层造成数据污染。同时容灾中心端就会请求远程客户端重新传送相应却失的数据来完成相应的数据同步工作。
      当然相应的产品还在应用层采用措施来保证两端的数据的一致性。
     不过楼主的想法是在网络出现故障时,还能把数据库从容灾中心起来,这个是不是想说全部应用放在容灾中心,直接从容灾中心起来啊?


 溜达UNIX 回复于:2005-08-14 10:28:07

楼主不要操心不需要操心的事情。不要说容灾系统在应用层对数据一致性和时序性的保证了。单独TCP协议也会对网络的故障进行必要的保证。


 open_san 回复于:2005-08-18 16:30:17

楼主问的问题很好,但是回答的人基本文不对题!
在rooling disaster的情况下HDS hur 可以有日志盘累积I/O(大大超过cache的容量),线路恢复在同步过去!

EMC 用DELTA SET来保证 consistency group,rooling disaster只能靠bcv卷了!


 Hom 回复于:2005-08-18 18:14:44

引用:原帖由 "xiao_wu" 发表:
谢谢各位大虾的回复!

你们所说的这些像是在网络或系统正常状况下的数据一致性保证.但数据在传输过程中网络故障能保证容灾节点的数据完整性和一致性吗?假如容灾节点在故障时接收到了部分数据.



接收到部分数据 软件会判断这些io是否是完整的,如果不是完整的,会丢掉,
如果是的,会写到磁盘里去。


 hover_407 回复于:2006-01-20 15:13:12

针对楼主的问题,本人看了一些资料,有一点感想,现简要总结如下:
===============================

1、容灾中数据一致性是关系到容灾系统数据可用性的关键指标,只有保证数据一致性的灾备方案,
   才能保证数据可用,数据库能够正常启动。特别是异步容灾,数据一致性更关键;
2、不同的厂商采用了不同的方法、技术保证数据的一致性,但主要有以下三种:
   1)基于时间戳(TimeStamp),典型的代表是IBM的XRC,本质是磁盘机微码对每个I/O记录
      一个从主机时钟(Timer)取得的时间戳,当这些I/O被传输到灾备中心后,灾备主机(SDM)
      对这些I/O按时间戳排序,然后写到灾备磁盘,以保证数据的一致性。
   2)基于磁盘I/O序号,典型代表HDS TRUE COPY,本质是磁盘机微码对每个I/O记录一个序号,
      当这些I/O被传输到灾备中心后,灾备磁盘机对这些I/O按序号排序,然后写到灾备磁盘,以保
      证数据的一致性。
   3)写一致I/O(Write Pending I/O),典型代表EMC SRDF/A,本质是磁盘机微码对生产机I/O
         按时间进行分组(Delta Sets),然后将这些组数据按时间传输,并按时间写入灾备磁盘,
      类似于数据库的机制,保证数据的一致性。

-------------------------------
   说明:1)以上方案均为异步方案,2)I/O都指写I/O
-------------------------------


 qq6810 回复于:2006-01-21 14:34:53

有一点必需强调,异步环境下,基本不可能实现数据完全一致,需要回退。除非在容灾中心最后一次写操作后,主机没有新的写操作。个人感觉SRDF/A性能比较其他几种稍微差点。


 星海夜航 回复于:2006-01-21 21:52:08

如果用srdf的同步方式哪不就没网络问题了麽


 B.net 回复于:2007-06-14 22:20:19

UP楼上的..如果你有同步那就没有问题了..如果用异步的或多或少会有Recovery point object 的问题,异步会的时间差滴问题....




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=578140
转载请注明作者名及原文出处


文章评论

共有 位网友发表了评论 查看完整内容