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

这篇具有很好参考价值的文章主要介绍了第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Reblanceing数据重分布的概念

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

第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布,ceph,网络,linux,数据库,服务器,运维,算法

在扩容前集群有两个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

第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布,ceph,网络,linux,数据库,服务器,运维,算法

视频:

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文章来源地址https://www.toymoban.com/news/detail-851822.html

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

到了这里,关于第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ceph集群的扩容缩容

    实验所用虚拟机均为Centos 7.6系统,8G内存,16核CPU: Ceph-admin: 用作ntp server和ceph本地源 Ceph-1: ceph-deploy、mon1、osd3 Ceph-2: mon1、osd3 Ceph-3: mon1、osd3 使用ceph-deploy工具 见文章中的“添加磁盘” 手动添加 参考文章:https://cloud.tencent.com/developer/article/1664651 在新osd主机上创建osd,并创

    2024年02月11日
    浏览(22)
  • Ceph集群修复 osd 为 down 的问题

    由于突然断电了,导致 ceph 服务出现了问题,osd.1 无法起来 尝试重启 发现重启无望,可采用以下步骤重新格式化硬盘并将其加入 ceph 集群中 ( 注意:以下步骤会将硬盘中的所有数据抹除 ) 此步骤需要在 Down 掉的 OSD 所在节点上操作 安装 OSD 时,会将 osd.1 挂载至/var/lib/cep

    2023年04月17日
    浏览(25)
  • xfs文件系统扩缩容

    ext4文件系统可以进行扩缩容操作,但xfs的文件系统只能扩容,无法直接缩容 所以如果需要进行xfs的缩容,可以先使用xfsdump备份文件系统,然后对逻辑卷(/分区)进行缩容操作(此时原xfs文件系统会损坏),然后再重新格式化该逻辑卷(/分区),最后xfsrestore将备份还原到该逻辑卷

    2024年02月12日
    浏览(34)
  • zookeeper动态扩缩容(无需重启)

    目录 一、启动一个zk 二、扩容一个zk 三、缩容一个zk 四、重新配置集群的节点 前言: zookeeper动态扩/缩容的reconfig命令旨在不需要重启zookeeper中任何一个节点的情况下,对整个zookeeper集群进行动态扩/缩容。 zookeeper客户端支持的命令: 在实际验证中发现一些细节问题,先记录

    2024年02月21日
    浏览(35)
  • Kubernetes中Pod的扩缩容介绍

    在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需 要减少服务实例数量的场景。此时可以利用 Deployment/RC 的 Scale 机制来完成这些工作。 Kubernetes 对 Pod 的扩缩容操作提供了手动和自动两种模式,手动模式通过执行

    2024年02月07日
    浏览(40)
  • k8s扩缩容与滚动更新

    使用kubectl run创建 应用 端口暴露出去 使用kubectl  create 创建应用 端口暴露出去 run 与 create 区别: run 为一次性的创建运行,删除后不会自动生成,没有 pod 控制器 create 创建的,删除后还会自动生成,有 pod 控制器,拥有副本集控制 scale 应用 默认情况下 应用只会运行一个副

    2024年02月12日
    浏览(32)
  • k8s教程(pod篇)-扩缩容

    声明:本文为《Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)》的读书笔记 在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的场景。此时可以利用 Deployment/RC 的 Scale机制 来完成

    2024年02月08日
    浏览(47)
  • 研发工程师玩转Kubernetes——自动扩缩容

    在《研发工程师玩转Kubernetes——使用Deployment进行多副本维护》一文中,我们通过Deployment实现了多副本维护——即维持在一个确定数量的副本个数。而在现实场景中,我们往往需要根据服务的压力,采用水平(横向)扩容的方式——即增加多个副本,来分担压力。当服务压力

    2024年02月06日
    浏览(31)
  • 18. Pod 自动管理——HPA 自动扩缩容机制

    前言 HPA 自动扩缩容机制 前面我们学习了 Deployment、 StatefulSet、DeamonSet、Job,明白了 Kubernetes 为了帮助我们更好的管理 Pod,提供了一系列好用的工具。但是还远远不止于此,以上工具还需要我们手动设置 replicas 副本数量。 我们来想象一种场景,我们服务已经正常上线了,运

    2024年02月03日
    浏览(28)
  • Apache Doris 极简运维之BE扩缩容(1)

    已部署三个BE节点并且状态显示正常运行中 CPU :1C CPU型号 :ARM64 内存 :2GB 硬盘 :36GB SSD VM镜像版本 :CentOS-7 Apahce Doris版本 :1.2.4.1 集群规模 :1FE * 3BE 注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!! 所以强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节

    2024年02月11日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包