|
|
6 g* `8 k8 o- y$ K: p1 y3 p
ceph -s4 `% |6 Y( T* L4 E
cluster:) x6 S- o: f _5 H6 |6 r9 ^7 q
id: 5fa16469-8be4-4457-8a78-12b1910afff7- ]7 f3 ^0 \' m# @
health: HEALTH_WARN
1 [) P- ?- n/ ], e6 S6 t( r3 E% W# e 1 OSD(s) experiencing BlueFS spillover
8 e6 t; I$ q& w7 j0 ?0 H
6 r w8 v# j% L: a/ J3 e. m
" V2 j; o3 Y7 B( {+ r5 F8 H- ?7 M
2 g9 t9 X& V% ]6 C8 b ceph health detail
) W9 n i: Y/ x k4 r& kHEALTH_WARN 1 OSD(s) experiencing BlueFS spillover
: N) Z( V" g: M: U6 }1 s8 L( U[WRN] BLUEFS_SPILLOVER: 1 OSD(s) experiencing BlueFS spillover
* `, T2 m8 Z* ^& ^ osd.18 spilled over 39 GiB metadata from 'db' device (186 GiB used of 186 GiB) to slow device
2 x2 N) @6 b: m, D, s A! x9 T a0 c7 K/ z/ `
问题很奇怪,以前没有遇到过
$ N9 |" R$ t& O6 d1 O1 W" l( B8 t2 L$ Y% J2 X5 o9 F3 j5 _+ l
HEALTH_WARN 1 OSD(s) experiencing BlueFS spillover
# ~" a G% w' b* a% h& a; [[WRN] BLUEFS_SPILLOVER: 1 OSD(s) experiencing BlueFS spillover
0 e6 N9 F- ]. z# V. u) Y) t osd.18 spilled over 39 GiB metadata from 'db' device (186 GiB used of 186 GiB) to slow device0 L( w7 A. Q; r& ^/ \
4 C/ `4 S3 n6 v: f0 [( e, {/ g
* r" `9 u5 m- [6 R
查看官方解答说明:
) a3 b+ J; U- ?
2 A5 n' x$ t D# X9 R
& [# h( R m3 W导致 BlueFS Spillover 的代码问题已在 RHCS 5.0 及更高版本中解决。
: C* y8 i% n! G; N( ^& |! p* u请参阅 Root Cause 部分中的提及的 Bugzilla 和 Errata。: F, D2 R! [. G
( t! Q0 a+ x1 O1 Z A2 \
如果您可以接受因为这个问题导致的 HEALTH_WARN,且您的 Ceph 集群计划很快会升级到 RHCS 5.3 或更高版本,则不需要进行任何操作。
5 x# n6 j7 Y4 W: j/ {
! ]3 |! l0 X7 g8 {- v) f如果您希望清除 HEALTH_WARN,请在每个 OSD 上执行以下操作(一次在一个 OSD 上执行)。" B) y8 u/ i1 P" i' K
- compact OSD& O& Q7 u8 D0 C
- 保护到托管 OSD 节点的 shell,并重新启动 OSD
7 [3 n" G1 o: W3 p6 l3 F: c- 再次 compact OSD( }$ |& [2 i" \9 }; I
- 保护到托管 OSD 节点的 shell,并重新启动 OSD- J& V2 k& c0 ]0 t& }
2 q/ o1 {3 s0 t& J" `8 }' x- G) |
解决办法:
2 r1 _& Q" u8 a' |
5 v% O$ ]. M7 p2 i/ K! |& K8 `- i) C0 Z( f
# ceph daemon osd.<id> compact <--wait 2 minutes afterwards
8 _* m- f0 \8 {3 H9 Q- h
% B( v# X a1 O# c
7 O7 @% u2 q: i- v; u( [' `示例:
0 P/ r% o- L. u5 l8 Q- A, |ceph daemon osd.18 compact{ "elapsed_time": 22.966318924999999}$ Z* R2 g p! f
/ i& U2 z8 _+ y j: n
# systemctl stop ceph-osd@{id}; sleep 2; systemctl start ceph-osd@{id}7 C2 J7 h$ Z8 D: X# _
示例:systemctl stop ceph-osd@18.service ;sleep 2 ;systemctl start ceph-osd@18.service
! N6 i' c# Y1 |2 w( h* w- i+ c2 R% c& G- ]3 [8 T% E
Remember to repeat both commands a second time after ~1 minute执行这两条命令要保证1分钟之后。
# d2 K* g) \2 K- }
9 ~! Y2 @+ X, K8 e* v J再执行ceph -s状态恢复正常。% \9 c1 i, ]5 P0 r) i# }% k9 _( E$ q
ceph -s cluster: id: 5fa16469-8be4-4457-8a78-12b1910afff7 health: HEALTH_OK
* u! |) h! x4 b9 u
" g+ r6 @ y$ @/ L6 }, b; q* ^, o& N/ d" V& W7 c0 ~
% [9 v5 Y6 c j1 J6 \& A
# K4 T& u, z; r2 N' T0 m2 D9 P
|
|