ceph分布式存储-数据不均衡调整
时间:2022-07-22
本文章向大家介绍ceph分布式存储-数据不均衡调整,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 查看数据分布是否均衡
#查看osd使用情况
$ ceph osd df tree
ID CLASS WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR PGS TYPE NAME
-1 196.21051 - 190T 347G 190T 0.18 1.00 - root default
-3 65.40106 - 61390G 115G 61274G 0.19 1.06 - host ceph-xxx-osd01
0 hdd 5.45009 0 0 0 0 0 0 0 osd.0
1 hdd 5.45009 1.00000 5580G 8640M 5572G 0.15 0.85 125 osd.1
2 hdd 5.45009 1.00000 5580G 7797M 5573G 0.14 0.77 128 osd.2
3 hdd 5.45009 1.00000 5580G 10811M 5570G 0.19 1.06 131 osd.3
4 hdd 5.45009 1.00000 5580G 11150M 5570G 0.20 1.10 124 osd.4
5 hdd 5.45009 0.95001 5580G 13175M 5568G 0.23 1.29 114 osd.5
6 hdd 5.45009 1.00000 5580G 9769M 5571G 0.17 0.96 141 osd.6
7 hdd 5.45009 0.90002 5580G 11773M 5569G 0.21 1.16 102 osd.7
8 hdd 5.45009 1.00000 5580G 11805M 5569G 0.21 1.16 118 osd.8
9 hdd 5.45009 1.00000 5580G 12964M 5568G 0.23 1.27 123 osd.9
10 hdd 5.45009 0.90002 5580G 12315M 5568G 0.22 1.21 123 osd.10
11 hdd 5.45009 1.00000 5580G 8549M 5572G 0.15 0.84 115 osd.11
-5 65.40106 - 66971G 115G 66855G 0.17 0.97 - host ceph-xxx-osd02
12 hdd 5.45009 1.00000 5580G 8975M 5572G 0.16 0.88 115 osd.12
13 hdd 5.45009 1.00000 5580G 10832M 5570G 0.19 1.06 106 osd.13
14 hdd 5.45009 1.00000 5580G 10183M 5570G 0.18 1.00 111 osd.14
15 hdd 5.45009 1.00000 5580G 9337M 5571G 0.16 0.92 93 osd.15
16 hdd 5.45009 1.00000 5580G 11508M 5569G 0.20 1.13 111 osd.16
17 hdd 5.45009 1.00000 5580G 6237M 5574G 0.11 0.61 118 osd.17
18 hdd 5.45009 1.00000 5580G 9822M 5571G 0.17 0.97 116 osd.18
19 hdd 5.45009 0.95001 5580G 13169M 5568G 0.23 1.29 122 osd.19
20 hdd 5.45009 1.00000 5580G 7996M 5573G 0.14 0.79 132 osd.20
21 hdd 5.45009 1.00000 5580G 7671M 5573G 0.13 0.75 97 osd.21
22 hdd 5.45009 1.00000 5580G 7959M 5573G 0.14 0.78 121 osd.22
23 hdd 5.45009 0.85004 5580G 15036M 5566G 0.26 1.48 102 osd.23
-7 65.40839 - 66978G 115G 66862G 0.17 0.97 - host ceph-xxx-osd03
24 hdd 5.45070 1.00000 5581G 8716M 5572G 0.15 0.86 128 osd.24
25 hdd 5.45070 1.00000 5581G 11036M 5570G 0.19 1.08 113 osd.25
26 hdd 5.45070 1.00000 5581G 9507M 5572G 0.17 0.93 113 osd.26
27 hdd 5.45070 0.85004 5581G 12854M 5568G 0.22 1.26 105 osd.27
28 hdd 5.45070 1.00000 5581G 9550M 5572G 0.17 0.94 102 osd.28
29 hdd 5.45070 1.00000 5581G 9189M 5572G 0.16 0.90 109 osd.29
30 hdd 5.45070 1.00000 5581G 7804M 5573G 0.14 0.77 105 osd.30
31 hdd 5.45070 1.00000 5581G 11366M 5570G 0.20 1.12 116 osd.31
32 hdd 5.45070 1.00000 5581G 9286M 5572G 0.16 0.91 110 osd.32
33 hdd 5.45070 1.00000 5581G 10233M 5571G 0.18 1.01 115 osd.33
34 hdd 5.45070 1.00000 5581G 8223M 5573G 0.14 0.81 107 osd.34
35 hdd 5.45070 1.00000 5581G 10989M 5570G 0.19 1.08 121 osd.35
TOTAL 190T 347G 190T 0.18
MIN/MAX VAR: 0.61/1.48 STDDEV: 0.03
#查看osd_num,PGS, %USE
ceph osd df tree | awk '/osd./{print $NF" "$(NF-1)" "$(NF-3) }'
osd.1 125 0.15
osd.2 128 0.14
osd.3 131 0.19
osd.4 124 0.20
osd.5 114 0.23
osd.6 141 0.17
osd.7 102 0.21
osd.8 118 0.21
osd.9 123 0.23
osd.10 123 0.22
osd.11 115 0.15
osd.12 115 0.16
osd.13 106 0.19
osd.14 111 0.18
osd.15 93 0.16
osd.16 111 0.20
osd.17 118 0.11
osd.18 116 0.17
osd.19 122 0.23
osd.20 132 0.14
osd.21 97 0.13
osd.22 121 0.14
osd.23 102 0.26
osd.24 128 0.15
osd.25 113 0.19
osd.26 113 0.17
osd.27 105 0.22
osd.28 102 0.17
osd.29 109 0.16
osd.30 105 0.14
osd.31 116 0.20
osd.32 110 0.16
osd.33 115 0.18
osd.34 107 0.14
osd.35 121 0.19
2. reweight-by-pg 按归置组分布情况调整 OSD 的权重
$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
3. reweight-by-utilization 按利用率调整 OSD 的权重
$ceph osd reweight-by-utilization
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
4. 数据均衡后还原权重
#统计osd_num, REWEIGHT
$ceph osd df tree | awk '/osd./{print $NF" "$4 }'
osd.1 1.00000
osd.2 1.00000
osd.3 1.00000
osd.4 1.00000
osd.5 0.90002
osd.6 0.95001
osd.7 0.90002
osd.8 1.00000
osd.9 1.00000
osd.10 0.90002
osd.11 1.00000
osd.12 1.00000
osd.13 1.00000
osd.14 1.00000
osd.15 1.00000
osd.16 1.00000
osd.17 1.00000
osd.18 1.00000
osd.19 0.95001
osd.20 1.00000
osd.21 1.00000
osd.22 1.00000
osd.23 0.85004
osd.24 1.00000
osd.25 1.00000
osd.26 1.00000
osd.27 0.85004
osd.28 1.00000
osd.29 1.00000
osd.30 1.00000
osd.31 1.00000
osd.32 1.00000
osd.33 1.00000
osd.34 1.00000
osd.35 1.00000
#依次设置osd权重为默认值,1.0
#ceph osd reweight {id} {weight}
#说明:osd weight的取值为0~1
$ ceph osd reweight 5 1.0
- MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
- Easyui 让DataGrid适应浏览器宽度
- Easyui 让Window弹出居中与最大化后居中
- WCF技术剖析之十六:数据契约的等效性和版本控制
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(13)-系统日志和异常的处理③
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②
- Enterprise Library Policy Injection Application Block 之二: PIAB设计和实现原理
- 育碧与研究所共同开发的AI,是什么样的?
- 大家都在关注AI,但这些事你可能并不知道!
- AI—未来医疗
- 微信小程序新功能上线 一键连Wi-Fi手机变门禁卡
- 使用xUnit为.net core程序进行单元测试(中)
- Asp.Net 用Jquery和一般处理程序实现无刷新上传大文件
- WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何在ggplot2图形上添加显著性差异注释?
- 动态曲线图(linechart)--Matplotlib绘制
- 分布式事务、分布式锁、分布式session
- Redis为什么变慢了?常见延迟问题定位与分析
- PyTorch Trick集锦
- client-go 之 Indexer 的理解
- 你的登录接口真的安全吗?
- Python,你真的会使用 staticmethod 和 classmethod 吗?
- GitLabCI/CD自动集成和部署到远程服务器
- istio-cni详解
- 【Pytorch 】笔记八:Tensorboard 可视化与 Hook 机制
- K近邻算法:以"同类相吸"解决分类问题!
- ROS与PCL中点云数据之间的转换
- 啊,http2还没搞明白,http3又来了?
- 掌握Linux文件权限,看这篇就够了