找回密码
 注册
查看: 564|回复: 0

ceph 存储osd微调配置权重weight中数据均衡问题

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2023-3-16 13:00:24 | 显示全部楼层 |阅读模式
1、 处理故障的pg
: F# ^8 h: |1 r9 R/ w+ e从ceph的状态中,可以看到,有一部分的pg处于stale/down/peering等状态,这部分异常的pg不能提供对外提供服务,影响了业务的可用性,通过ceph health detail找到这部分异常的pg,发现其中有一些pg的upset中都没有映射到osd,或者三副本只选出来2个osd,没有选出来第3个osd,下面是当时故障的pg的状态:# h1 N! ^/ G; y6 |1 e" A
/ [0 z6 l. E$ H- p8 t
4 m5 z5 }2 o! l, h, y5 F7 [/ z+ S
6 x$ E! \5 J, w& w- ^
这个现象很有可能是权重不平衡导致的,关于权重在0.94.7版本的ceph中,有两个参数,一个是weight,一个是reweight,weight会参与crush算法,计算出要落位osd,然后reweight是在此基础上再去决定是否选择此osd,但是reweight不会参与crush算法,crush算法本质上是一个概率算法,因此当权重相差悬殊的时候,很有可能选不出来osd,客户环境中部分osd的reweight设置成了0.09,有将近一半的osd都将reweight设置成了小于1的值,这就有可能导致pg出现异常,从而选不出osd。因此尝试将故障pg对应的osd的reweight重置为1:
/ U- d7 I2 ^) e8 a' r) N- U# ]& ^( v. J! {6 B2 X5 U
; c: |! d7 C7 U5 J, v; O. V% Q
ceph health detail | grep stale0 i. a5 l5 G: u( c4 v
ceph pg <pgid> query
* r. F* a1 J2 ]* M$ ^" Yceph osd reweight <id> 1
9 L; Y, \( k9 J2 B8 N: ]置为1之后,观察到该pg重新映射出了osd,并且消除了stale状态,恢复了服务。因为reweight的不确定性,我们调整权重,一般不调整reweight,让它始终保持为1,在L版之前的ceph中,需要通过调整weight值进行数据平衡,L版之后新增了weight-set功能,可以更有效的去平衡数据。
% j" r8 i' g+ r, G, f6 h- `2 C  g: t/ z. |) O' J' U( h
此时,可以将所有reweight不为1的osd重置为1:
/ d: m& U" Q/ f; i, S
4 ~8 A/ }% K5 s- U. p; v& x5 G4 @- C# X
for i in `cat reweight_osds.txt`; do setsid ceph osd reweight $i 1; done% G1 D* u" k8 ]7 T* x+ ?
重置为1之后,stale的pg全部恢复了正常,业务也恢复了正常。) e! t5 v, B- f

6 N" v$ x  |/ }, U6 p1 ]& W8 Q9 O/ y2. 数据重平衡; x6 Q4 P- l: X8 _
后续需要做的操作就是继续平衡数据,但是要保持各个osd-domain的权重值大小一致,然后可以微调osd的weight值,将一个osd-domain中高使用率的调低,同时也要将另一个osd-domain中低使用率的调高,平衡数据,直到各个osd的使用率趋于均衡。
0 ~+ A8 O# `/ J
& Q5 j" ~0 T: F; L% N3. 恢复mon服务
7 f0 [& B+ e$ D0 C, ?等待数据平衡完成之后,压缩61 62的mon服务,然后启动,再将63加进集群。% `* z+ s! {! x5 l- C
- K9 \" n6 }9 J
至此故障处理完成,所以最终总结一下,引起该故障的本质原因,在于调整数据均衡的方式不对,权重调整的幅度过于大,不同osd之间的权重相差悬殊,导致pg出现了问题,进而引发了后续的一系列问题。因此,关于权重值需要关注以下几点:
! ?5 v8 E8 I4 v; z2 S4 |6 I" ~, v7 ^
% i. [  M# _" a3 H  w# U3 {8 J保持各个bucket的故障域的权重是相等的,bucket里面的osd权重值可以不一致,但是osd上的权重值得保持相等,扩容/缩容,都需要考虑这个问题
+ p" M( K& K9 B" g: K$ t9 ]8 Aweight不要设置过大与过小,需要跟它的实际容量保持一致
& }1 {6 \2 p$ x4 L) M5 ?' @4 Z尽量不调整reweight值,即使调整,也是微调
1 G; Q  @4 k5 e' D5 _! n, f/ t' n8 o" F2 e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:13 , Processed in 0.017133 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表