借鑒秦總的文章
https://mp.weixin.qq.com/s/WtozWOzNWlIJnWmcVUpYJQ
Nautius的分布調(diào)優(yōu),方法略有不同。
1:開始調(diào)優(yōu)前,集群是10個1T ssd,兩個hdd。pg分布情況是。

image.png
除了HDD的,ssd的最大最小差34個pg,還是極其不均衡的。
2:開始調(diào)優(yōu)
nautilus改變了balancer module 此module是默認(rèn)永遠開啟的,所以我們不需要設(shè)置開啟此module
$ module 'balancer' is already enabled (always-on)
啟動balancer服務(wù)
$ ceph balancer on
設(shè)置crush-compat
$ ceph balancer mode crush-compat
(Luminous的max_misplaced在Nautilus已經(jīng)不存在了)
看下狀態(tài)
$ ceph balancer status
{
"active": true,
"plans": [],
"mode": "crush-compat"
}
對集群所有pool進行權(quán)重調(diào)整計算
$ ceph balancer eval
current cluster score 0.081403 (lower is better)
生產(chǎn)一個調(diào)優(yōu)配置記住n版本必須制定pool
$ ceph balancer optimize plan1 ssd
開始執(zhí)行調(diào)優(yōu)計劃
$ ceph balancer eval plan1
plan plan1 final score 0.010106 (lower is better)
查看調(diào)優(yōu)結(jié)果
$ ceph balancer show plan1
# starting osdmap epoch 19047
# starting crush version 113
# mode crush-compat
ceph osd crush weight-set reweight-compat 0 0.959158
ceph osd crush weight-set reweight-compat 1 0.886730
ceph osd crush weight-set reweight-compat 2 0.924439
ceph osd crush weight-set reweight-compat 3 0.830849
ceph osd crush weight-set reweight-compat 4 0.981423
ceph osd crush weight-set reweight-compat 5 0.454987
ceph osd crush weight-set reweight-compat 6 0.454987
ceph osd crush weight-set reweight-compat 7 0.968349
ceph osd crush weight-set reweight-compat 8 0.910090
ceph osd crush weight-set reweight-compat 9 0.963822
ceph osd crush weight-set reweight-compat 10 0.943591
ceph osd crush weight-set reweight-compat 11 0.941545
根據(jù)計劃進行最終調(diào)優(yōu)
$ ceph balancer execute plan1
調(diào)優(yōu)結(jié)果不滿意,回滾繼續(xù)重新來一遍(我執(zhí)行后發(fā)現(xiàn)效果不好,重新來一遍)
$ ceph balancer reset
經(jīng)過多次嘗試得到完美結(jié)果

image.png
關(guān)閉balancer模塊
$ ceph balancer off
3:后記
pg分布這個重要性就不說了,建議在集群上線前必須要進行這個操作。對集群的整體性能提升絕對是有效果的。