分布式存储同城/异地数据复制是如何实现的?

参与5

2同行回答

GaryyGaryy  系统工程师 , 某保险
Ceph将数据副本分布到不同的硬件,从而有效地避免由于硬件故障而导致数据丢失的问题,得以实现数据的高可用性。然而,这种分布式存储机制也导致传统的基于存储复制或CDP技术难以用于Ceph来实现跨数据中心的数据复制和恢复。典型情况下Ceph保持3个副本,那么是否可以将副本放在异...显示全部

Ceph将数据副本分布到不同的硬件,从而有效地避免由于硬件故障而导致数据丢失的问题,得以实现数据的高可用性。然而,这种分布式存储机制也导致传统的基于存储复制或CDP技术难以用于Ceph来实现跨数据中心的数据复制和恢复。
典型情况下Ceph保持3个副本,那么是否可以将副本放在异地数据中心。这么做会导致Ceph读写数据的时延急剧上升。究其原因,Ceph采用的强一致性同步模型,只有等所有数据副本写操作完成才被认为一次操作完成,而两地数据中心之间通常有一定的网络延迟,从而导致整个ceph集群的写性能急剧下降。
基于上述问题,Ceph从Jewel版本开始引入了RBD Mirror功能来解决Ceph存储在数据备份容灾方面的需求。
RBD mirror的原理,简单来说,就是利用日志(Journal)进行回放(replay),来完成主从同步。有点类似于Mysql中的binlog。
RBD Mirror支持两种模式:RBD Image模式和Pool模式。RBD image模式下,会把指定的image进行镜像;而Pool模式则把该Pool中所有的image进行镜像。
通过一个rbd-mirror的服务,依赖于image的journaling特性,来实现集群间的crash-consistent的image复制。
基于该机制,可以方便地实现两个OpenStack和Ceph集群的数据备份和灾难恢复。

收起
保险 · 2019-04-26
浏览2445
kw002007kw002007  存储架构师 , X公司
地理分布功能 原生写多份数据到多个数据中心bukect复制功能存储底层块镜像高性能块级别异步复制功能显示全部
  1. 地理分布功能 原生写多份数据到多个数据中心
  2. bukect复制功能
  3. 存储底层块镜像高性能
  4. 块级别异步复制功能
收起
互联网服务 · 2019-04-25
浏览2390

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-04-18
  • 关注会员:3 人
  • 问题浏览:3555
  • 最近回答:2019-04-26
  • X社区推广