免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12020 | 回复: 5

[存储网络] 基于DRBD的高速同步复制 [复制链接]

论坛徽章:
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
发表于 2015-06-01 00:19 |显示全部楼层
本帖最后由 bbjmmj 于 2015-06-01 11:01 编辑

固态盘越来越普及,但是很多人担心固态盘容易写坏,所以,最好的办法,是将固态盘上写入的数据实时复制到机械硬盘上。但是机械硬盘速度慢,异步复制可能丢数据,同步复制又会拖慢固态盘速度,怎么办呢?

最直接的答案是用DRBD代理。但是DRBD代理是需要付费的,想想看,国企或者事业单位,买一套外国软件容易吗?得经过政府采购,得招标,然后再被二道贩子宰一把,而作出购买决定还要经过单位内部层层行政审批,咱技术人员身份低微,麻烦不起各级领导们,所以此路根本不通。

DRBD代理还有个问题就是它只能利用一台服务器的内存做缓存,而单台服务器内存容量又相当有限,数据更新量很大的时候,代理就会吃不消。

我的办法是用内存盘做同步复制,再用机械硬盘异步复制内存盘的内容。

到网上找个内存盘源码,自己编译一下。

如果服务器内存不够大,那就用多台服务器,建多个内存盘,通过iSER或者ISCSI挂到备机上,再组成RAID或者LVM扩大容量,这样就可以建一个足够大的内存盘,这个做法即使内存盘容量做到1TB,费用也不会太高(如果你的生产系统有1TB重要数据,你也不用在乎这点钱了)。如果数据比较多,内存盘存不下,那按套路出牌,就用SSD做同步复制,再异步复制到硬盘上,这样也会比单纯用机械硬盘同步复制速度快得多。

机械硬盘系统需要划分成多个RAID组,然后用软RAID再组合,这样做一来是性能比较高,更主要的是扩容非常方便,软RAID可以不停地扩容规模,数据复制量增大的时候,对硬盘存储吞吐量的要求也会增加,这个时候就得增加硬盘数量,硬RAID没有扩展能力,所以得用软RAID。

可以通过操作系统了解固态存储每天的写入量,这样就能知道硬盘存储需要多大的吞吐量,再通过监测硬盘存储了解硬盘系统吞吐能力,很容易算出需要的硬盘数量。

这个方法稍微变通一下,还可以用来降低异地复制延迟,方法是用DRBD同步多个物理卷,然后再用这些被同步的DRBD块设备组成一个大的LVM逻辑卷,这个时候同步是多路并发的,平均每个数据包的回应时间会缩短,相当于总体上降低了延迟。这个方法有可能导致网络拥塞,如果用IP网络传输复制,还会遇到丢包之类的问题,这个时候需要对固态存储的写入带宽进行限制以防拥塞。

如果生产系统容量很大而更新的数据量却并不多,可以考虑用bcache一类的工具做回写缓存,内存盘做缓存盘。

以上所有工作都不难做,仔细一点就可以了。

觉得多路复制时的流量控制最有实用价值,不仅可以大大降低异地同步复制延迟,还能保证重要数据优先通过。

论坛徽章:
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
发表于 2015-06-01 11:25 |显示全部楼层
本帖最后由 bbjmmj 于 2015-06-01 15:43 编辑

觉得DRBD代理缓冲跟用服务器内存做回写内存效果一样,调一下系统脏页刷新时间如何呢?几秒调到十个小时,反正做缓冲的服务器有很多内存,也不跑别的业务。这个功能没用过,所以单独提出来。不清楚用上百G的内存做回写缓存会怎样,但经验判断,BCACHE使用上百GB内存做回写缓存是可行的,如果这个方法可行,把内存盘换成SSD,就可以利用低速公网做灾备了。
可行性测试可以在家里做,就是太麻烦了,现在很懒。

论坛徽章:
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
发表于 2015-06-01 15:27 来自手机 |显示全部楼层
采用10路复制,读写比例5:1,容灾距离240公里的情况下,理论上生产系统iops数可达3万。不过现实环境下也用不着这么远的容灾距离,距离太远管理会很麻烦,跨省市租光纤大概也会很麻烦(军队除外)。

论坛徽章:
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
发表于 2015-06-03 16:24 |显示全部楼层
内存缓存+多路复制的一个应用场景。
用户担心异步复制会丢数据,于是采用同步复制,而同步复制因为延迟等原因又会拖慢生产系统,上固态盘做同步复制他们又怕写坏了,只能用硬盘备下生产系统数据,而硬盘又太慢了,怎么办?
用DRBD代理,DRBD代理可以起到写入缓冲的作用,相当于一个大的写入缓存,如果运行代理的服务器内存很大,则有可能将一天的数据变更全部缓冲下来,这样可以同时满足性能和可靠性的需求。但是单台服务器内存有限,如果数据变更量实在太大,可能缓冲不下来,这个时候就需要两台DRBD代理来缓冲,用双路复制。所以可以肯定多路复制有它的用处。
写入缓冲有机会将同一数据块的多次写入合并成一次,这样最后落地的数据就会少很多,不仅如此,那些写入比较频繁的数据块本来是系统瓶颈,写入缓冲可以大大降低这种瓶颈。
这种方法适合生产系统存储容量较大,而数据更新量有限的场景,它可以大大提高单台生产服务器的吞吐能力,节约人工成本,尤其适合中等规模以下的互联网企业。
缓存可以降低交易延迟,适合网银、证券一类的业务。

论坛徽章:
5
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2015-07-09 22:22 |显示全部楼层
人气不行啊

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2016-03-24 12:10 |显示全部楼层
顶bbjmmj 顶bbjmmj
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP