首页 > 其他分享 >ceph 数据均衡调整

ceph 数据均衡调整

时间:2024-10-31 11:22:14浏览次数:4  
标签:10 MiB ceph GiB 均衡 KiB osd 调整

情况一:ceph osd full - osd磁盘满的处理

根据Ceph官方文档中的描述,当一个OSD full比例达到95%时,集群将不接受任何Ceph Client端的读写数据的请求。所以导致虚拟机在重启时,无法启动的情况。

 

解决方法

方法一:

  根据官方的建议,首选的方案是添加osd磁盘,添加后将触发数据的重新均衡,full的osd使用率降到95%以下后err状态自然会清除。

 

方法二:

  调整每个osd的weigh值,使数据重新分布

  语法:ceph osd  crush reweight  osd名称  新的比重值

  ceph osd crush reweight osd.4 0.0099

[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd df
ID  CLASS  WEIGHT   REWEIGHT  SIZE    RAW USE  DATA     OMAP     META      AVAIL    %USE   VAR   PGS  STATUS
 0    sas  0.00969   1.00000  10 GiB  1.1 GiB   92 MiB  152 KiB  1024 MiB  8.9 GiB  10.91  1.01   99      up
 5    ssd  0.00980   1.00000  10 GiB  1.1 GiB   60 MiB   65 KiB  1024 MiB  8.9 GiB  10.59  0.99   94      up
 1    sas  0.00980   1.00000  10 GiB  1.1 GiB   93 MiB  133 KiB  1024 MiB  8.9 GiB  10.92  1.02   98      up
 2    ssd  0.00980   1.00000  10 GiB  1.1 GiB   59 MiB   89 KiB  1024 MiB  8.9 GiB  10.58  0.98   95      up
 3    sas  0.00989   1.00000  10 GiB  1.1 GiB   89 MiB  115 KiB  1024 MiB  8.9 GiB  10.88  1.01  100      up
 4    ssd  0.00980   1.00000  10 GiB  1.1 GiB   63 MiB  113 KiB  1024 MiB  8.9 GiB  10.62  0.99   93      up
                       TOTAL  60 GiB  6.4 GiB  458 MiB  668 KiB   6.0 GiB   54 GiB  10.75
[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd crush reweight osd.4 0.0099
reweighted item id 4 name 'osd.4' to 0.0099 in crush map
[root@rook-ceph-tools-6f44db7c58-zw47s /]#
[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd df
ID  CLASS  WEIGHT   REWEIGHT  SIZE    RAW USE  DATA     OMAP     META      AVAIL    %USE   VAR   PGS  STATUS
 0    sas  0.00969   1.00000  10 GiB  1.1 GiB   93 MiB  152 KiB  1024 MiB  8.9 GiB  10.91  1.01   99      up
 5    ssd  0.00980   1.00000  10 GiB  1.1 GiB   60 MiB   65 KiB  1024 MiB  8.9 GiB  10.59  0.99   94      up
 1    sas  0.00980   1.00000  10 GiB  1.1 GiB   93 MiB  133 KiB  1024 MiB  8.9 GiB  10.92  1.02   98      up
 2    ssd  0.00980   1.00000  10 GiB  1.1 GiB   60 MiB   89 KiB  1024 MiB  8.9 GiB  10.59  0.98   95      up
 3    sas  0.00989   1.00000  10 GiB  1.1 GiB   89 MiB  115 KiB  1024 MiB  8.9 GiB  10.88  1.01  100      up
 4    ssd  0.00989   1.00000  10 GiB  1.1 GiB   64 MiB  113 KiB  1024 MiB  8.9 GiB  10.62  0.99   93      up
                       TOTAL  60 GiB  6.4 GiB  459 MiB  668 KiB   6.0 GiB   54 GiB  10.75

 

情况二:ceph 数据不一致时,可以对ceph pg的数据进行平衡

1:检查数据分布是否均衡

查看osd_id,PGS, %USE,status

出现部分osd使用率高,部分很低的情况,就可以考虑进行数据平衡

[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd df
ID  CLASS  WEIGHT   REWEIGHT  SIZE    RAW USE  DATA     OMAP     META      AVAIL    %USE   VAR   PGS  STATUS
 0    sas  0.00969   1.00000  10 GiB  1.1 GiB   93 MiB  152 KiB  1024 MiB  8.9 GiB  10.91  1.01   99      up
 5    ssd  0.00980   1.00000  10 GiB  1.1 GiB   60 MiB   65 KiB  1024 MiB  8.9 GiB  10.59  0.99   94      up
 1    sas  0.00980   1.00000  10 GiB  1.1 GiB   93 MiB  133 KiB  1024 MiB  8.9 GiB  10.92  1.02   98      up
 2    ssd  0.00980   1.00000  10 GiB  1.1 GiB   60 MiB   89 KiB  1024 MiB  8.9 GiB  10.59  0.98   95      up
 3    sas  0.00989   1.00000  10 GiB  1.1 GiB   89 MiB  115 KiB  1024 MiB  8.9 GiB  10.88  1.01  100      up
 4    ssd  0.00989   1.00000  10 GiB  1.1 GiB   64 MiB  113 KiB  1024 MiB  8.9 GiB  10.62  0.99   93      up
                       TOTAL  60 GiB  6.4 GiB  459 MiB  668 KiB   6.0 GiB   54 GiB  10.75

2:reweight-by-pg 按归置组分布情况调整 OSD 的权重

[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd reweight-by-pg
no change
moved 0 / 579 (0%)
avg 96.5
stddev 2.62996 -> 2.62996 (expected baseline 8.96753)
min osd.4 with 93 -> 93 pgs (0.963731 -> 0.963731 * mean)
max osd.3 with 100 -> 100 pgs (1.03627 -> 1.03627 * mean)

oload 120
max_change 0.05
max_change_osds 4
average_utilization 9838.0461
overload_utilization 11805.6554

EX:

    $ceph osd reweight-by-pg
    moved 35 / 4032 (0.868056%)                                         #35个PG发送迁移
    avg 115.2                                                           #每个OSD承载的平均PG数目为115.2
    stddev 10.378 -> 9.47418 (expected baseline 10.5787)             #执行本次调整后, 标准方差将由10.378变为9.47418
    min osd.15 with 93 -> 92 pgs (0.807292 -> 0.798611 * mean)            #当前负载最轻的OSD为osd.15,只承载了93个PG, 执行本次调整后,将承载92个PG
    max osd.6 with 141 -> 132 pgs (1.22396 -> 1.14583 * mean)         #当前负载最重的OSD为osd.6, 承载了141个PG, 执行本次调整后,讲承载132个PG
    oload 120
    max_change 0.05
    max_change_osds 4
    average_utilization 21.1365
    overload_utilization 25.3638
    osd.6 weight 1.0000 -> 0.9500                                        #执行本次调整后,对osd.6,osd.23,osd.7,osd.27的reweight进行调整
    osd.23 weight 0.8500 -> 0.9000
    osd.7 weight 0.9000 -> 0.9500
    osd.27 weight 0.8500 -> 0.9000

情况三:ceph 数据不一致时,可以按利用率调整 OSD 的权重

[root@rook-ceph-tools-6f44db7c58-zw47s /]# ceph osd reweight-by-utilization
no change
moved 0 / 579 (0%)
avg 96.5
stddev 2.62996 -> 2.62996 (expected baseline 8.96753)
min osd.4 with 93 -> 93 pgs (0.963731 -> 0.963731 * mean)
max osd.3 with 100 -> 100 pgs (1.03627 -> 1.03627 * mean)

oload 120
max_change 0.05
max_change_osds 4
average_utilization 0.1075
overload_utilization 0.1290

# ceph osd reweight-by-utilization

moved 10 / 843 (1.18624%)                                                                #10个PG发送迁移

avg 140.5                                                                                             #每个OSD承载的平均PG数目为140.5

stddev 8.69387 -> 12.339 (expected baseline 10.8205)                       #执行本次调整后, 标准方差将由8.69387 变为12.339

min osd.3 with 127 -> 127 pgs (0.903915 -> 0.903915 * mean)  #负载最轻的OSD为osd.3,只承载了127个PG, 执行本次调整后,将承载127

max osd.0 with 154 -> 154 pgs (1.09609 -> 1.09609 * mean) #负载最重的OSD为osd.0, 承载了154个PG, 执行本次调整后,讲承载154个PG

oload 120

max_change 0.05

max_change_osds 4

average_utilization 0.0904

overload_utilization 0.1084

osd.4 weight 0.9500 -> 0.9000

检查数据的平衡状态:

# ceph -s

标签:10,MiB,ceph,GiB,均衡,KiB,osd,调整
From: https://www.cnblogs.com/xmwan/p/18517326

相关文章

  • Vue项目创建与目录调整
    Vue项目创建与目录调整创建项目使用Vue-Cli创建地址......
  • 如何在Linux上配置软件负载均衡(如HAProxy)
    在Linux环境中,确保应用服务的高可用性和性能是至关重要的。本文将引导你完成以下步骤:1.理解软件负载均衡的重要性;2.选择合适的负载均衡器;3.详细配置HAProxy为例;4.进行性能调优和测试;5.监控和维护。开始负载均衡配置之前,首先需要明确其作用和目标。1.理解软件负载均衡的重要性......
  • Nginx 中动态调整 worker 进程绑定到特定 CPU 核心
    在Nginx中动态调整worker进程绑定到特定CPU核心,可以通过以下两种方式实现:###1.使用`auto`参数自动绑定Nginx1.9.10版本引入了`auto`参数,允许Nginx自动将worker进程绑定到可用的CPU上。这种方式不需要手动指定每个worker进程绑定到哪个CPU核心,Nginx会自......
  • <十七>Ceph 块存储理论与实践
    Ceph集群的检查可以简化为MON状态检查、OSD状态检查和PG状态检查。上一章节我们重点介绍了MON的状态和维护方法。本章节将重点介绍OSD状态和块存储常用命令。Tips:如果是故障排查,请在确保MON状态正常的情况下进行OSD和PG状态检查。Tips:下面的简单理解只是......
  • (51)MATLAB迫零均衡器系统建模与性能仿真
    文章目录前言一、迫零均衡器性能仿真说明二、迫零均衡器系统建模与性能仿真代码1.仿真代码2.代码说明三、仿真结果1.信道的冲击响应2.频率响应3.迫零均衡器的输入和输出前言使用MATLAB对迫零均衡器系统进行建模仿真,完整的MATLAB设计源代码形式给出设计方法和仿真......
  • 大流量下负载均衡普遍策略
    大流量下负载均衡普遍策略负载均衡种类网络层次结构划分:【OSI七层网络模型】【ICP/IP四层网络模型】【传输数据名称】==============================================================================================......
  • 人工智能_神经网络103_感知机_感知机工作原理_感知机具备学习能力_在学习过程中自我调
    由于之前一直对神经网络不是特别清楚,尤其是对神经网络中的一些具体的概念,包括循环,神经网络卷积神经网络以及他们具体的作用,都是应用于什么方向不是特别清楚,所以现在我们来做教程来具体明确一下。当然在机器学习之后还有深度学习,然后在深度学习中对各种神经网络的探讨就会比较......
  • (49)MATLAB实现迫零均衡器原理与代码
    文章目录前言一、迫零均衡器设计说明二、迫零均衡器MATLAB源代码1.函数说明2.代码实现3.辅助函数前言使用MATLAB实现迫零均衡器。给出完整的MATLAB设计源代码。一、迫零均衡器设计说明理想的迫零均衡器有无限多个抽头权系数,是不能实现的,本文考虑有2M+1个抽头权......
  • 初识调整法(贪心)
    引例:\(证明:圆内接四边形中正方形的面积最大\)$在圆上顺时针任取四点A,B,C,D构成凸四边形,固定对角线AC,分别令B,D在对应的圆弧上自由滑动.$$\becauseS_{四边形ABCD}=\frac{(d_{B-AC}+d_{D-AC})\cdot|AC|}2$$\therefore最大化S_{四边形ABCD}\Rightarrow......
  • go微服务介绍【负载均衡,主从数据库,微服务架构】【实现了:高并发,语言之间互通】
    1.go单体架构程序一天访问量5万以下没问题2.使用负载均衡:单体架构的程序部署在多台服务器,可实现每天几十万的访问量3.如果是几百万或上前万的访问量,数据库也需要扩展,用到主从数据库4.当每天有上亿访问量,或者更高并发量的时候,上面的方法就有点力不存心了,这个时候我们就可以使......