前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ceph基于RBD Mirror的备份容灾

Ceph基于RBD Mirror的备份容灾

作者头像
段立功
发布2022-06-13 11:14:23
1.2K0
发布2022-06-13 11:14:23
举报
文章被收录于专栏:云计算之道

Ceph将数据副本分布到不同的硬件,从而有效地避免由于硬件故障而导致数据丢失的问题,得以实现数据的高可用性。然而,这种分布式存储机制也导致传统的基于存储复制或CDP技术难以用于Ceph来实现跨数据中心的数据复制和恢复。

也许很多人可能想说,典型情况下既然Ceph保持3个副本,那么是否可以将副本放在异地数据中心。然而,这么做会导致Ceph读写数据的时延急剧上升。究其原因,Ceph采用的强一致性同步模型,只有等所有数据副本写操作完成才被认为一次操作完成,而两地数据中心之间通常有一定的网络延迟,从而导致整个ceph集群的写性能急剧下降。

基于上述问题,Ceph从Jewel版本开始引入了RBD Mirror功能来解决Ceph存储在数据备份容灾方面的需求。

RBD Mirror介绍

RBD mirror的原理,简单来说,就是利用日志(Journal)进行回放(replay),来完成主从同步。有点类似于Mysql中的binlog。

当我们使用RBD Mirror功能时,需要打开RBDJournal功能(注:不是OSD Journal),此时,所有数据写操作会先写入RBDJournal,然后后台线程再把数据从Journal区域写入对应的image。

同时,还需要启动rbd-mirror服务,该服务负责监控远程Ceph集群的Journal,若有更新,则replay该Journal到本地RBD image。

具体的写IO过程如下:

1)写请求首先把数据写入RBD Journal;

2)Journal写入成功后,RBD再把数据写入RBD image,并回复Client ACK响应;

3)备份集群中的rbd-mirror发现主集群中的journal有更新,则从主集群中读取journal数据,写入备份集群的RBD image;

4)备份集群写入数据成功后,更新主集群的journal的元数据,表明该IO journal已经同步成功;

5)主集群定期检查并删除已经写入备份集群的journal数据。

RBD Mirror支持两种模式:RBD Image模式和Pool模式。RBD image模式下,会把指定的image进行镜像;而Pool模式则把该Pool中所有的image进行镜像。

总结

通过一个rbd-mirror的服务,依赖于image的journaling特性,来实现集群间的crash-consistent的image复制。

基于该机制,可以方便地实现两个OpenStack和Ceph集群的数据备份和灾难恢复。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云计算之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档