免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8689 | 回复: 1
打印 上一主题 下一主题

简单介绍DRDB, 一个开源的数据实时同步方案 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-07 18:13 |只看该作者 |倒序浏览

                                                                                                                                www.drbd.org
drbd是一个开源的数据集群(clustering) 方案, 它能够提供一种动态的主机之间的数据的同步. 它不是一个集群软件, 它只是针对块设备的同步.
基本架构如下,

  
由上图, DRBD的实现方式是在物理的存储设备上面, 再添加了一层块设备. 其中使用本地的物理存储的作为"主用" (primary), 通过网络访问的位于另外一个主机的存储设备作为"次用"(secondary)设备. 就像一个通过网络来实现的RAID-1.
对于读操作, 都是使用"主用"的存储, 即本地的.
对于写操作, 问题有些复杂, 但是针对最简单的情况, 它的实现方式如下,
1. 接到写请求;
2. 把写请求发送给本地底层存储, 同时通过网络把写请求发送给对端的"次用"DRBD设备;
3. "次用"DRBD设备执行写请求, 把数据写到物理存储上.
4. "次用"DRBD在完成写操作后, 发送一个"确认"给"主用"DRDB
5. 这是, "主用"DRBD应已完成对本地硬盘的写, 返回给应用一个写操作完成确认.
也就是说, DRBD直到完成本地和远端的写操作, 才返回应用一个写完成.
当然, 这是DRBD最严格的一种实现. DRDB也可以有另两种相对松散的实现,
a. 主用DRBD在接到写请求后, 立刻返回写完成给应用.
b. 在次用DRBD的缓存收到写请求后, 立刻返回写完成给应用.
DRBD还支持同时向"主用"和"次用"设备的写操作, 实现就要复杂的多. 我的个人理解, 对于应用来说, 只面对主用设备, 在发生集群(clustering)切换之前, 应用是不直接访问次用设备的. 结构越简单, 可靠性越高.
注:最初的时候错误的使用了DRDB, 事实上是DRBD
               
               
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14914/showart_355553.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP