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

ceph集群pg出现unfound objects处理办法

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-8-2 10:30:57 | 显示全部楼层 |阅读模式
现在OSD 1知道一些对象存在,但是没有这个副本活的OSD。 这种情况下,到这些对象的IO将被阻塞,集群希望失败的OSD快速地回来。这时假设返回一个IO错误给用户是适当的。
& s. [! ~" U' a( ^2 t% ?: u" {& J4 Z
修复建议:
! }- N( o+ v; m1、启动停止的osd
) X8 ?5 _! ~. E3 c首先,你应该确认哪些对象找不到了:- o& ]) v4 V2 o( W8 j, G
/ I: S8 T% m' {
# ceph pg  1.d list_missing 9 }/ Y$ L5 ?- [; y, D+ I  P2 `" x

) _7 f9 e" Z! D: t3 p& q- w[starting offset, in json]
% P. }3 X0 M" ]5 L& J& B8 O5 I/ j
4 v% R) Q5 p1 {! h{ "offset": { "oid": "",
7 x: p4 x# d+ `    "key": "",
2 `7 ?3 S* s; x/ \0 t  H+ y/ W    "snapid": 0,
% t0 o0 j7 G* G% L9 M! ?    "hash": 0,4 J4 H1 Z  G9 R+ h2 U
    "max": 0},) y8 H, E4 o: q8 B4 F) @; K
"num_missing": 0,
8 l7 m; z8 Y" w. {: ?; P"num_unfound": 0," ^' g, K- M" }) X: A7 f8 D
"objects": [
8 s, c8 c! p; p& w! J7 L- [   { "oid": "object 1",
! C, i  {5 U5 S) e; p; v8 i     "key": "",1 o4 N1 D  ~3 ]6 K
     "hash": 0,
2 J$ b0 L( H+ B; M& g5 M! e4 n     "max": 0 },. F  v$ D5 t# f: c5 ^! h0 D, ~
   ...
& Q8 ~; D) g) H3 R) ?, ~3 X# h: e],
: s0 n; k! [+ g; H( M* `) ^"more": 0}
: `7 p- K+ x+ x
$ E  {- x* c: F% g, x0 l% Y0 f* D( y如果在一次查询里列出的对象太多, more 这个字段将为 true ,你就可以查询更多。5 N' B5 l2 Y4 u) k7 r6 p
其次,你可以找出哪些 OSD 上探测到、或可能包含数据:
/ t% P+ F4 f' T# r' H' m# o" W7 b8 M. n, C. j
# ceph pg 1.d query
# d3 E, @% W9 O3 ~6 t
5 V+ A+ |% U3 ]+ W"recovery_state": [
9 E3 U9 R4 E" ]5 f" v" l: S: l    { "name": "Started\/Primary\/Active",
& M  _  V6 R: \/ I      "enter_time": "2022-08-01 15:15:46.713212",: V5 R0 T8 n) Y( F
      "might_have_unfound": [
, M- }* Q, e. d1 R            { "osd": 1,# y: G$ h9 |7 D% X
              "status": "osd is down"}]},2 t1 X1 R7 n4 z2 Y3 s
. c8 o- f! h0 O2 T* R' @# J; A8 i3 _
所有停止osd.1
: s' y; X8 v2 ^" L% N+ @- T: I: x4 m, D9 ]6 `$ D; {
2、如果还无法恢复,你可能只有放弃丢失的对象。执行如下命令回滚或删除对象:! ?3 b" H6 \7 f! M' C5 ~6 ?+ h: X/ G

' `# t/ a7 J" Q0 Iceph pg  {pgname}  mark_unfound_lost revert|delete
6 Y) Z' V4 k- G# ]8 x; O( l7 t5 C7 Z/ _5 _
revert选项:回滚到对象的前一个版本6 A; e- X  |9 I( \+ F8 }% t3 E
delete选项:完全删除这个对象$ i: B. T& ?. P4 `4 D' H
使用这个操作时注意,因为它可能是使预期存在这个对象的程序混乱。3 F/ C& N2 a3 D9 N+ s( b
列出带有丢失对象的PG的名字:
' Y( n2 U1 a1 R$ a" W! L. t+ H8 h4 p8 ?  m) x; z% A* k
ceph pg {pgname} list_missing6 o+ H- ^$ K6 W+ R; U, }+ u
- o) F8 |5 G/ i% F6 r" R, P
举例:
4 k4 |- m' I2 _2 G9 S. `2 j" d2 H* y
+ c6 |2 w/ Q& F' y) [: X( k[root@node2 ~]# ceph health detail | grep unfound! @. D3 |5 j0 T. C( V
HEALTH_ERR 50 pgs backfill_wait; 3 pgs backfilling; 60 pgs degraded; 1 pgs inconsistent; 1 pgs recovering; 19 pgs recovery_wait; 60 pgs stuck degraded; 73 pgs stuck unclean; 41 pgs stuck undersized; 41 pgs undersized; recovery 126807/1654284 objects degraded (7.665%); recovery 186892/1654284 objects misplaced (11.297%); recovery 1/551428 unfound (0.000%); 1 scrub errors: m6 K' x5 H9 d! v0 J& y$ i: G) F  g( q
pg 3.39 is active+recovering+undersized+degraded+remapped, acting [14,2], 1 unfound
6 n0 X5 x$ z$ d7 q, Vrecovery 1/551428 unfound (0.000%)
& r& b  r1 Q6 Q0 d
6 e* L% N$ M# z[root@node2 ~]# ceph pg 1.d mark_unfound_lost  delete
+ Q4 o/ @" }8 O6 k+ Ipg has 1 objects unfound and apparently lost marking- W  W6 f* L0 V0 z
————————————————
, ]9 S8 ?2 C5 [5 A1 W, K. ?
) U: }' G  {- X0 }$ k4 Z* H
% i& Z: k% A( K9 S0 U; J7 J9 j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 23:01 , Processed in 0.022604 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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