Ceph and RBD Mirroring:Luminous

Source: Sebastian Han

https://ceph.com/planet/ceph-and-rbd-mirroring-upcoming-enhancements/

​ 本文说明对Sebastian Han的上述文章内容进行梳理,了解RBD Mirroring在Luminous版本的变化

HA Support

​ 高可用是一个应用程序的关键能力。理想情况下,应用程序本身是支持高可用的。正由于此,RBD mirroring也需要支持高可用。我们可能在任意数量的机器上运行任意数量的守护进程,将有专门的线程来负责如何分布负载和镜像。

​ HA模型将依赖协作的守护线程,守护线程可以确定需要处理哪一个镜像——依赖于很多因素:当前负载、镜像数量等等

Multiple peers

​ 目前,在Ceph Jewel和Kraken,支持下列关系:

1对1:

一个primary集群和一个non-primary集群,绝大部分灾备应用场景采用的方案——一个主集群为数据应用或站点提供服务,另外还有一个空闲集群用于接收来自于primary集群的镜像数据。第二个站点不运行任何程序,直到被唤醒。

1对多:

与1对1一样,唯一不同的是,有多个不同的non-primary位置,来保存Ceph镜像的副本。

​ 然而,是不支持“多对多”场景的,多对多场景在多站点部署中会起到至关重要的作用。

​ 比如,管理人员计划部署3个OpenStack区,他肯定希望在每个站点之间创建网格副本。但是这是不可能的,唯一能做的是,配置链式复制,如A->B->C->A。

This is not ideal as not every site will have each other data, since we want resiliency we need that.

Delayed deletion

​ RBD-mirror的复制是异步的,但是,如果primary image被删除,那么伙伴ceph集群的non-primary image也会被删除。这意味着,如果有人意外删除某个image,那么该image将永远丢失。但是管理员希望希望避免此类事件的发生,这就是为什么延迟删除是非常重要的原因。延迟删除可以使得将意外删除的rbd image回收,比如设置延迟删除时间为4小时,那么在这个时间框架内,任何可能意外删除image都可以被恢复。

Clone non-primary images

​ Ceph的一个主要应用场景是使用它作为OpenStack的块存储解决方案。云提供商希望部署跨越多个站点的OpenStac。为了实现这种弹性,可以相互部署两个独立的OpenStack云,并在这两个站点之间配置一个交叉复制的Glance和Cinder镜像。
​ 由于此设置是采用active-active方式运行,所以希望使用任意站点的Glance images。假设,可以将Glance images的元数据(DB records)从一个云复制到另外一个。同时,rbd-mirror配置将镜像从一个站点复制到另一个站点。目前,正在复制的non-primary镜像不可读的。他们基本上都是只读的,最差的情况是是他们不能克隆,在启动镜像时,克隆是Glance和Nova之间的整合的重点。如果不能克隆,我们将失去了一个最好的Ceph特性——有利将ceph纳入OpenStack。
​ 如果我们不能克隆从我们从primary站点复制的image,那么这些images就不能另外一个OpenStack环境使用。因此,他们是没有用的。这就是为什么我们需要在non-primary站点克隆non-primary镜像。

QoS throttles for replication

​ rbd-mirror QoS

​ 根据不同的类型和距离,数据中心之间的联系是非常昂贵的。Putting the monetary aspect on the side they could also serve a different purpose。因此,在两个RBD-mirror之间需要配置一定的QoS

Configurable replication delay

​ 与以前的功能相关联,假定复制可以被延迟是很合理的。在该方案中,我们允许管理员为rbd-mirror配置一个延时时间(如,non-primary站点落后于primary站点X小时)。

Add a promote-all call on a pool

​ 在一个故障场景中,non-primary镜像需要晋升到primary级别(比如故障迁移发生)。OpenStack Cinder目前的复制API是通过遍历存储池中每一个image并升级其为primary来实现的。串行地遍历每一个镜像会话费很多时间,现在的是通过并行化来实现的。
​ 由于 primary/non-primary 状态是针对每一个镜像的,而不是针对存储池,不管怎样,都需要遍历存储池中的每一个镜像。cli可以并行地批量地讲X个镜像进行升级,可以通过类似于concurrent_management_ops的方式来实现。

【分析】Ceph and RBD Mirroring:Luminous相关推荐

  1. 【分析】RBD Mirroring - 原理、概念、命令

    RBD Mirroring - 原理.概念.命令 ​ Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大, ...

  2. Ceph之RBD恢复的几种方式与原理

    目录 RBD是什么 RBD使用 写入文件 RBD组装 Ceph--CRUSH osdmap提取crushmap ceph中rbd的增量备份和恢复 RBD在Ceph底层的存储方式,解释了RBD的实际占用 ...

  3. k8s学习笔记——ceph pv rbd动态挂载

    //参考https://github.com/kubernetes-retired/external-storage/tree/master/ceph/rbd //参考https://www.wenj ...

  4. @分布式存储ceph之RBD

    分布式存储ceph创建RBD接口 一. RBD介绍 RBD全称为RADOS Block Device,是一种构建在RADOS集群之上为客户端提供块设备接口的存储服务 中间层.这类的客户端包括虚拟机KV ...

  5. Ceph-ansible 安装 ceph (rbd + rgw)

    实验环境: 3 台 monitor 节点:centos7.6 操作系统 3台 osd 节点: centos7.6 操作系统,每台 20 块磁盘 所有节点上配置好 ceph yum repo 源(lum ...

  6. ceph kernel rbd (一): 简介

    kernel rbd是ceph 的块存储当中的linux-kernel client.在整个ceph当中的位置如图所示: 其中kernel module就是本文提到的kernel rbd 模块. ce ...

  7. pprof搭配ceph tell命令分析ceph内存

    文章目录 安装 使用 使用`ceph tell`产生堆栈信息文 使用`pprof`工具分析内存及`ceph tell`释放内存 火焰图`FlameGraph`可视化进程堆栈信息 pprof是一个goo ...

  8. Ceph:RBD在线扩容容量

    Ceph管理端的操作: 1 2 3 4 # rbd ls -p openshift openshift-storage01 # rbd resize openshift/openshift-stora ...

  9. ceph kernel rbd (二): rbd map , rbd unmap

    当我们使用krbd 的时候,第一件事就是rbd map,这个命令的目的是将一个rbd image 挂载到linux 成为一个block 设备. 比如: [root@atest-guest build] ...

最新文章

  1. Linux服务器安装软件
  2. SSRS 2012 聚合函数 -- 隔行换色示例
  3. 配置ELK添加marvel插件
  4. java中字符流 字节流_理解Java中字符流与字节流的区别
  5. 洛谷P2286 [HNOI2004]宠物收养所 [STL,平衡树]
  6. 《程序是怎样跑起来的》(上)
  7. 【STM32】新建基于STM32F40x 固件库的MDK5 工程
  8. 多命令顺序执行,单引号,双引号,反引号,转义符
  9. Java Duration类| isNegative()方法与示例
  10. python-实现动态web服务器
  11. Find The Multiple POJ - 1426 (BFS)
  12. ruby array_Ruby中带有示例的Array.delete_if方法
  13. ORACLE备份策略(ORACLE BACKUP STRATEGY)
  14. vue 打印出git提交信息_VUE项目构建打包生成Git信息(VERSION和COMMITHASH文件)
  15. 第二章:09流程控制[2switch]
  16. (附源码)计算机毕业设计SSM餐厅订餐系统
  17. php网上商城系统下载,php网上商城系统 v3.0 rc6
  18. 二维数组与数组指针详解
  19. [Jpa 运行报错] Error executing DDL “alter table project_user_f.
  20. 白硕:区块链技术与数据隐私(附视频)

热门文章

  1. Centos 7 配置允许联网\设置静态IP\安装ifconfig工具包
  2. SQL Server 智能感知插件SQL Prompt 4 智能提示
  3. 阿里云ack如何查看绑定的nas存储
  4. python工具篇--python编译器IDLE
  5. 安装NX9.0时出现Java VM载入错误
  6. Swift AES加密
  7. 蓝牙耳机哪款音质好?2022蓝牙耳机音质排行榜
  8. Neo4j数据库GDS算法演示
  9. 小云APP移动建站初体验
  10. AP计算机科学内容HTML,AP新增科目:计算机科学原理课程介绍