第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布

news2024/12/24 0:23:25

文章目录

    • 1.Reblanceing数据重分布的概念
    • 2.验证Reblanceing触发的过程
    • 3.Reblanceing细节
    • 4.临时关闭Reblanceing机制

1.Reblanceing数据重分布的概念

当集群中OSD进行扩缩容操作后,会触发一个Reblanceing数据重分布的机制,简单的理解就是将扩缩容前后OSD中的PG在每一个OSD中进行均匀分布,如下图所示:

image-20220404102217707

在扩容前集群有两个OSD节点,这两个OSD中分布着十个PG,扩容后,集群中有三个OSD节点,此时就会触发Reblanceing数据重分布机制,将原有的两个OSD中的一部分PG移动到第三个OSD中,使的每个OSD中的PG数量均衡。

Reblanceing数据重分布移动的是PG并不是Object,Object是存放在PG里的,如果要移动Object,数据量是非常大的,并且Object的数据也非常多,严重影响集群的性能,而PG的数量是有限的,移动PG是最好的方式。

Reblanceing数据重分布机制如何触发:

当集群中有新的OSD加入进来后,会将信息上报给Monitor,Monitor就会从Cluster Map中得知OSD Map发送了变化,只要OSD Map发送了变化,就会触发Reblanceing机制,使OSD中的PG平滑的移动到新的OSD。

在实际生产环境中,如果PG中的数据量非常大,在触发Reblanceing机制时,会对集群的性能有所影响,如果一次性增加很多个OSD节点,那么就意味着会有大量的PG被移动,此时就会对集群的性能产生巨大的影响,因此建议,每次在扩容OSD时,只扩容一个OSD。

2.验证Reblanceing触发的过程

向Ceph存储中写入大量数据,然后扩容一个OSD节点,观察Reblanceing的触发过程。

1)在Ceph存储中写入大量的数据

[root@ceph-node-1 ~]# cd /cephfs_data/
[root@ceph-node-1 cephfs_data]# dd if=/dev/zero of=reblanceing-file.txt bs=1M count=8192

2)新加一个OSD

[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create  ceph-node-2 --data /dev/sdd

3)观察Reblanceing机制的触发过程

[root@ceph-node-1 ~]# ceph -s

image-20220404110841795

视频:

Reblanceing触发过程

3.Reblanceing细节

在触发Reblanceing机制后,PG的迁移是比较慢的,那是因为OSD默认情况下只有一个线程,将线程数适当增加,可以提高迁移的速度,但是也会消耗部分的性能。

[root@ceph-node-1 ceph-deploy]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config show | grep max_backfills
    "osd_max_backfills": "1",

触发Reblanceing机制后,集群是使用配置的cluster_network进行通信的,在实际环境中,一定要将public_network和cluster_network网络分开,并且cluster_network网络要使用万兆口,可以提高速度。

4.临时关闭Reblanceing机制

在做Reblanceing时,如果集群正面临着业务繁忙,此时再使用Reblanceing就会对集群的性能产生影响,可以临时关闭Reblanceing,当业务量较小时,再开启。

1)关闭Reblanceing

1.关闭Reblanceing
[root@ceph-node-1 ~]# ceph osd set norebalance
norebalance is set
[root@ceph-node-1 ~]# ceph osd set nobackfill
nobackfill is set

nobackfill也会做数据填充,也需要关闭

2.查看集群的状态
[root@ceph-node-1 ~]# ceph -s
  cluster:
    id:     a5ec192a-8d13-4624-b253-5b350a616041
    health: HEALTH_WARN
            nobackfill,norebalance flag(s) set				#reblanceing处于关闭状态

2)开启Reblanceing

[root@ceph-node-1 ~]# ceph osd unset nobackfill
nobackfill is unset
[root@ceph-node-1 ~]# ceph osd unset norebalance
norebalance is unset

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows下使用ZLMediaKit-API+FFmpeg+opengl拉取解码播放流媒体

ZLMediaKit简介 ZLMediaKit是一个基于C11的高性能运营级流媒体服务框架,和SRS类似,功能强大,性能优异,提供多种支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/…

插入排序解读

在众多的排序算法中,插入排序以其直观易懂和在某些特定场景下的高效性而备受青睐。今天,我们就来深入探索一下插入排序的原理、实现方式以及它的优缺点。 一、算法原理 插入排序相当于打牌中抓牌插入的方式。插入排序的工作方式是通过构建有序序列&…

007高并发内存池_回收内存

​🌈个人主页:Fan_558 🔥 系列专栏:高并发内存池 🌹关注我💪🏻带你学更多知识 文章目录 前言一、ThreadCache回收内存二、CentralCache回收内存2.1 建立映射 三、PageCache回收内存 小结 前言 …

Google视觉机器人超级汇总:从RT、RT-2到AutoRT/SARA-RT/RT-Trajectory、RT-H

前言 随着对视觉语言机器人研究的深入,发现Google的工作很值得深挖,比如RT-2 ​想到很多工作都是站在Google的肩上做产品和应用,​Google真是科技进步的核心推动力,做了大量大模型的基础设施,服(推荐重点关注下Googl…

C语言——关于指针运算的例题分析

1.指针运算中关于 sizeof 和 strlen 的例题分析 1. sizeof(数组名),这⾥的数组名表⽰整个数组,计算的是整个数组的⼤⼩。 2. &数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址。 3. 除此之外所有的数组名都表⽰…

SpringBoot之SpringBoot整合MyBatis

本章详情 使用SpringBoot和MyBatis通过注解的方式操作数据库使用SpringBoot和MyBatis通过XML配置文件的方式操作数据库 项目搭建 1. 打开idea,选择Create New Project 2.选择Spring Initializer,然后点击Next 3.填写组织,坐标等信息,然后点击Next 4.选…

信息泄露漏洞的JS整改方案

引言 🛡️ 日常工作中,我们经常会面临线上环境被第三方安全厂商扫描出JS信息泄露漏洞的情况,这给我们的系统安全带来了潜在威胁。但幸运的是,对于这类漏洞的整改并不复杂。本文将介绍几种可行的整改方法,以及其中一种…

LeetCode-347. 前 K 个高频元素【数组 哈希表 分治 桶排序 计数 快速选择 排序 堆(优先队列)】

LeetCode-347. 前 K 个高频元素【数组 哈希表 分治 桶排序 计数 快速选择 排序 堆(优先队列)】 题目描述:解题思路一:哈希表记录出现次数,然后用最小堆取,因为每次都是弹出最小的,剩下的一定是K…

【鸿蒙开发】系统组件Column

Column组件 Column沿垂直方向布局的容器。 接口: Column(value?: {space?: string | number}) 参数: 参数名 参数类型 必填 参数描述 space string | number 否 纵向布局元素垂直方向间距。 从API version 9开始,space为负数或者…

error:LNK2005 已经在*.obj中定义 的原因分析及对策

LNK2005是一个重复定义错误,造成LNK2005主要有以下几种情况: 目录 全局变量的重复定义 情况A:全局变量在.cpp文件中的多次声明 情况B:变量名重复 头文件的包含重复 解决方案 #ifndef标识符宏定义 pragma once预编译 头文件…

C++第十五弹---string基本介绍(一)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、什么是STL 2、STL的版本 3、STL的六大组件 4、STL的重要性 5、如何学习STL 6、STL的缺陷 7、为什么学习string类 7.1、C语言中的字符串…

autodl常用工具命令

以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 tar/zip命令镜像版本参考torch包全版本下载torch和cuda版本对应conda命令conda打包conda 环境重命名conda环境复制和转移conda环境删除 tar/zip命令 参考链接 文件目录打包&#x…

macU盘在电脑上读不出来 u盘mac读不出来怎么办 macu盘不能写入 Tuxera NTFS for Mac免费下载

对于Mac用户来说,使用U盘是很常见的操作,但有时候可能会遇到Mac电脑无法读取U盘的情况,这时候就需要使用一些特定的工具软件来帮助我们解决问题。本文就来告诉大家macU盘在电脑上读不出来是怎么回事,u盘mac读不出来怎么办。 一、m…

PTA题解 --- 静静的推荐(C语言)

今天是PTA题库解法讲解的第七天,今天我们要讲解静静的推荐,题目如下: 解题思路: 这个问题的核心在于如何在满足给定条件的情况下,最大化推荐学生的数量。首先,我们需要过滤出所有天梯赛成绩不低于175分的学…

3.2.k8s搭建-kubeadm

目录 一、虚拟机准备 二、所有节点环境准备 1.所有节点做hosts解析 2.所有节点重新命名 3.所有节点安装docker 4.所有节点为docker做linux内核转发 5.所有节点配置docker 6.所有节点关闭swap分区 7.所有节点验证网卡硬件编号是否冲突 8.所有节点配置允许iptables桥接…

Nginx配置文件修改结合内网穿透实现公网访问多个本地web站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

水质监测站解析

TH-LSZ05水质监测站作为水资源保护和环境管理的重要工具,其功能和作用正日益受到人们的重视。随着科技的不断进步,水质监测站也在不断更新和完善,以适应不同场合和需求的监测任务。 首先,在技术创新方面,水质监测站正…

域控网络的创建

打进内网的方法 1.web服务器 域控创建 配置自己的ip winr:ncpa.cpl 然后属性将自己电脑的ip修改为静态ip 将DNS 修改为自己的ip 输入 winR 输入dcpromo 创建一个域 名为 cc.com 尝试去ping通 并将DNS 修改为自动 看看ping通的区别 在另一台电脑DNS修改为刚刚…

Android Studio 生成 keystore 签名文件及打包验证流程

一、创建keystore签名文件 1、在菜单栏中,依次点击 Build - Generate Signed Bundle/Apk...(生成签名) 2、选择 APK 选项,点击按钮 Next 到下一步 3、新建key store秘钥文件,点击按钮 Next 到下一步 4、按如下提示填写信息,点击按…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第二套

华为海思校园招聘-芯片-数字 IC 方向 题目分享(有参考答案)——第二套(共九套,每套四十个选择题) 部分题目分享,完整版获取(WX:didadidadidida313,加我备注:CSDN huawei…