数据平衡

当在集群中新增一个OSD设备时,整个集群将会发生数据迁移使数据重新分布达到均衡。在Ceph集群中数据迁移的的基本单位是PG。其实在迁移过程中是将PG中的所有对象作为一个整体来进行迁移。

数据迁移触发流程:

1、当新加入一个OSD时,会改变系统的CRUSH Map,从而引起对象映射过程中的变化;

2、PG到OSD的映射关系发生了变化,从而引发数据的迁移。

当ceph集群中出现组件故障时(通常是指OSD,当然也有可能是网络),ceph会将OSD标记为Down,如果在300秒内MON没有收到回复,集群就会进入恢复状态。这个等待时间可以修改ceph配置文件中“mon osd down out interval = xxx”项来调整等待时间。

Peering

当新的OSD启动或者某个OSD失效时,OSD上的主PG会发起一个Peering的过程;Peering过程是指一个PG内的所有副本通过PG日志来达成数据一致的过程,当Peering完成后,PG就可以对外提供读写服务。

Recovery&Backfill

Ceph的Recovery过程是根据在Peering的过程中产生的PG日志推算出的不一致对象列表来修复其他副本上的数据。

Recovery过程的依据是根据PG日志来推测出不一致的对象进行修复;当某个OSD长时间损坏后重新将新的OSD加入集群,它已经无法根据PG日志来修复,这个时候则需要执行Backfill(回填)过程。Backfill过程是通过逐一对比两个PG的对象列表来修复。当新的OSD加入集群产生的数据迁移,也是通过Backfill过程来完成数据一致。

转载于:https://blog.51cto.com/opencloud/1952356

ceph学习笔记之七 数据平衡相关推荐

  1. mysql没法修改数据_MySQL学习笔记之数据的增、删、改实现方法

    本文实例讲述了MySQL学习笔记之数据的增.删.改实现方法.分享给大家供大家参考,具体如下: 一.增加数据 插入代码格式: insert into 表明 [列名-] values (值-) creat ...

  2. 学习笔记之数据可视化(二)—— 页面布局(下)

    续上一章 2.7 地图区域(.map) 2.7.1 实现步骤: 2.8 用户统计模块 2.8.1 布局: 2.8.2 柱状图 2.9 订单模块 2.9.1 订单区域布局 2.9.2 订单区域(orde ...

  3. 学习笔记之数据可视化(二)——页面布局(中)

    续上一章 2.6 监控区域布局 2.6.1 布局结构解析: 2.6.2 样式描述: 2.6.3 HTML结构及CSS样式代码 2.6.3 ### 监控区域-效果 2.6.7 点位区域(point) 2 ...

  4. 学习笔记之数据可视化(二)——页面布局(上)

    ~续上一章 2. 项目页面布局 2.1 基础布局 2.1.1 PC端屏幕宽度适配设置 2.1.2 主体容器viewport背景图片 2.1.3 HTML结构 2.1.4 css样式代码 2.2 边框图 ...

  5. 学习笔记之数据可视化(一)——项目适配方案

    目录 最终效果展示 1. 数据可视化适配方案 1.1 项目需求 1.2 PC端适配方案 1.3 使用到的技术 2. 数据可视化项目开发 项目准备 1.1 文件准备 1.2 引入js和css文件 1.3 ...

  6. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...

  7. JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询

    JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPOL进行查询 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技 ...

  8. Kotlin学习笔记12——数据类和密封类

    Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...

  9. Ceph学习笔记2-在Kolla-Ansible中使用Ceph后端存储

    环境说明 使用 Kolla-Ansible 请参考<使用 Kolla-Ansible 在 CentOS 7 单节点上部署 OpenStack Pike >: 部署 Ceph 服务请参考&l ...

最新文章

  1. 求和(dfs序+线段树)
  2. android系统动态切换输入法,一种动态切换Android系统输入法的弹出模式的方法与流程...
  3. php数组分开_PHP学习之五:数组(三)合并、拆分、接合和分解数组
  4. yellow weasel
  5. js中while死循环语句_Java系列教程day06——循环语句
  6. ADO学习(九)如何阅读ADO文档
  7. 大数据、java、python、区块链、人工智能哪个发展前景更好?
  8. CI项目设计Redis队列
  9. 用until编写一段shell程序,计算1~10的平方和
  10. Egret白鹭开发微信小游戏手机震动功能
  11. 170308、oracle查看被锁的表和解锁
  12. 【数据结构】可以逃课其它字符串算法的字符串哈希算法
  13. AFNetwork 作用和使用方法具体解释
  14. 方案:软件集成测试工作流程指南
  15. 手机常识——查看手机曾经连接过的wifi密码
  16. bioRxiv|利用机器智能设计抗新型冠状病毒药物
  17. 隐藏式超远无线充电,可隔空5~10公分正常充电。
  18. uv纹理坐标设定与贴图规则
  19. 每台计算机的ip地址解析,ip地址是什么?【详解】
  20. 书法人生-纷繁芜杂真的是生活的真相吗?

热门文章

  1. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识
  2. Javascript与正则表达式
  3. Java高并发编程:Callable、Future和FutureTask
  4. MVC,MVP,MVVM设计模式的比较
  5. python中的arange函数_Python 中的range,以及numpy包中的arange函数
  6. 关于HTML两侧留白的解决以及解决过程
  7. javascript BOM对象详解
  8. 云服务器apache mysql php_服务器配置教程:阿里云服务器安装PHP环境(附PHP+MySQL+Apache后台小Demo)...
  9. Kafka:分布式消息队列的抽象模型
  10. mysql pmm进程_mysql性能监控软件pmm