将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 53|回复: 2
收起左侧

HEALTH_WARN Reduced data availability: 23 pgs inactive; 23 pgs not deep-scrubbed

[复制链接]
发表于 2022-11-10 09:15:23 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 2 金钱 才能浏览
 楼主| 发表于 2022-11-10 13:51:45 | 显示全部楼层
一般手动修复损坏的PG即可,使用ceph pg repair {pgid}) v. y4 X" i# M- B# Z; z
6 V+ }+ F$ @& S) ]
PG状态为inconsistent时,说明PG中存在对象不一致的情况。有可能时某个OSD磁盘损坏,或者磁盘上的数据发生静默错误。+ |9 H) Q7 T- d4 O" B  r, g

4 S1 Z6 N9 t1 Q/ o$ O  t. P% h下面手动构造一个PG数据损坏的例子,并修复它。$ E0 H) W$ S) C; n0 F" ?5 B1 U

; u/ S8 K9 {; K6 I; ^# 1.关闭OSD服务
8 p+ N  c" {+ \9 M. [$ systemctl stop ceph-osd@{id}
. Z" b) h; z( d* D4 H% y1 Q8 i, y# {. e
# 2.使用ceph-objectstore-tool 挂载 /var/lib/ceph/osd/ceph-0 到 /mnt/ceph-osd@0) a+ e3 F- M0 c3 N9 P. a7 J9 X. f
[root@node-1 ceph-objectstore-tool-test]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0/ --op fuse --mountpoint /mnt/ceph-osd@0/" N8 W* W. n$ ~) W* k2 G. c- }* _
mounting fuse at /mnt/ceph-osd@0/ ...8 T( B1 q  V' ]7 Q

4 f* I7 F. m* G# 3.删除 /mnt/ceph-osd/@0/10.0_head/all文件夹中某个目录文件(即PG中的对象),即破坏了10.0pg的某个对象
9 A0 k' Z) V1 ]% W8 K! }; {; \7 T[root@node-1 all]# rm -rf \#10\:01ec679f\:\:\:10000011eba.00000000\:head#/5 d, \1 ]7 {4 W3 p$ u3 J
rm: 无法删除"#10:01ec679f:::10000011eba.00000000:head#/bitwise_hash": 不允许的操作
5 U# B* s+ n2 `: w* Z- w) s1 u: ?rm: 无法删除"#10:01ec679f:::10000011eba.00000000:head#/omap": 不允许的操作
& A0 p4 q! |& O1 n1 Urm: 无法删除"#10:01ec679f:::10000011eba.00000000:head#/attr": 不允许的操作
  P$ k. a$ d1 C" Q* _2 {; H+ W+ u& ^) i' K
# 4.卸载/mnt/ceph-osd@0,重启 OSD服务,等待集群恢复正常; d7 ~' U( y+ h
! h; m! s$ k$ d9 [9 h
# 5.手动对10.0 PG做scrub,命令:ceph pg scrub 10.0,等待后台scrub完成% V, N- @! G2 S5 m3 L; t! D4 @; n
[root@node-1 ~]# ceph pg scrub 10.0
# `" _, c8 w# o% D/ k, pinstructing pg 10.0 on osd.2 to scrub
$ h& F; i/ W1 w, I2 L
$ u1 ~% X9 V9 X1 J7 l. c3 p! {" H% r% b- g' ?# 6.发现集群报错,PG id是10.0,状态为active+clean+inconsistent: N0 L2 c. d7 {$ w' K
[root@node-1 ~]# ceph health detail
* y6 r2 u- N: Q. J) @* o& rHEALTH_ERR 2 scrub errors; Possible data damage: 1 pg inconsistent
0 J3 G! j# S5 |' @+ _* lOSD_SCRUB_ERRORS 2 scrub errors
" ]2 y5 o' T0 R) m& xPG_DAMAGED Possible data damage: 1 pg inconsistent% y! d* q, j8 a" h$ H1 S8 X( I  b
    pg 10.0 is active+clean+inconsistent, acting [2,1,0]
4 b* X( J" @6 p! i1 ]/ R8 P  @: u* I1 S8 u$ e% }. Z
# 7.执行修复操作,PG状态:active+clean+scrubbing+deep+inconsistent+repair
* x/ F- i( L$ ?$ X/ m  @6 ][root@node-1 ~]# ceph pg repair 10.0; m' [2 y: e6 |* r. I+ i" T5 \
instructing pg 10.0 on osd.2 to repair$ j  V# x4 ^& @7 ]5 h: F
[root@node-1 ~]# ceph -s- C% J$ _; q. ~% ^
  cluster:6 {' O: j1 F, d
    id:     60e065f1-d992-4d1a-8f4e-f74419674f7e
& W* S2 y. g( \4 [    health: HEALTH_ERR
7 H5 `. a& a8 j  R            2 scrub errors+ J" x4 e% b9 s2 X
            Possible data damage: 1 pg inconsistent* K( Z1 B" ?; ]* M6 Z3 G, M
  。。。
* h1 U3 u2 q8 R5 Q* e' W  data:# C! K7 L! U2 @' K% Z: a
    pools:   9 pools, 464 pgs
2 P' N4 E6 o% g4 V0 w4 b7 T    objects: 53.99k objects, 802 MiB" ~9 z0 X, i2 ]( E. n  {9 H0 _7 j
    usage:   16 GiB used, 24 GiB / 40 GiB avail+ [4 j5 t% c2 Y0 E) V- Z. R
    pgs:     463 active+clean
; F1 i4 i' r2 I0 B. q             1   active+clean+scrubbing+deep+inconsistent+repair
( k! H6 J' H8 ?4 s; H. S
6 Q: D0 f+ P6 p& B* O* x1 t# 8.等待集群恢复健康6 \. Y7 v' Q7 `" T! t, d5 B, ?
[root@node-1 ~]# ceph health detail% G8 {, g$ l! P: S8 Y% l
HEALTH_OK
/ W9 O3 y3 J; m& |# k2 P& v, ?  Q- f9 @7 K1 I

- y4 C( F+ T8 F- A$ L) _/ ~7 A如果ceph pg repair {pgid}命令无法修复PG,可以使用ceph-objectstore-tool导入整个PG的方式。3 ]5 h1 j, X# \- d, z( Z
" U) ~+ L2 Y/ U  I9 K

* \6 w+ ?- s: l
8 x: L7 x" x- dosd_recovery_max_single_start  #越大,OSD恢复速度越快,集群对外服务受到影响越大,默认为1
. ?7 H7 S3 J$ q7 W# rosd_recovery_max_active        #越大,OSD恢复速度越快,集群对外服务受到影响越大,默认为3
- _7 P7 C1 }( A9 p2 j1 kosd_recovery_op_priority       #越大,OSD恢复速度越快,集群对外服务受到影响越大,默认为3& X% A4 @8 S, Z
osd_max_backfills              #越大,OSD恢复速度越快,集群对外服务受到影响越大,默认为1- a; t" a8 ^+ h* z  j, b1 l
osd_recovery_sleep             #越小,OSD恢复速度越快,集群对外服务受到影响越大,默认为0秒% L2 s! X+ P/ u7 c

& Z7 C- ^; {5 C9 \( m: f/ T; h[root@node-2 ~]# ceph config set osd osd_recovery_max_single_start 323 f3 l0 q9 V* u( ?
[root@node-2 ~]# ceph config set osd osd_max_backfills 325 \! @  b5 G) d" m4 r; u) u4 v. `* S. E
[root@node-2 ~]# ceph config set osd osd_recovery_max_active 32, }- _0 T% U4 N# j! m
设置后,OSD恢复速度大大加快,注意这三个配置要同步增加,否则只增加其中一个,会由于其他短板而无法使得恢复速度加快
0 v% L& ^$ `( `" Q9 N$ l) W" W* z8 S, u& ~. ~! x* x% W9 L5 y
# ceph -s 检查恢复速度,设置上述参数前,恢复速度只有6 objects/s。0 c8 J8 ^7 l! n* c/ @

: n& ]# P9 I, j  x5 R
* A5 z% j$ N, K* f/ K8 v6 h8 z: F7 T  ~
一般来说,集群三副本的情况下不太可能出现PG丢失的情况,如果一旦出现了,那也就意味着这丢失的数据无法找回。9 S, V$ T, _$ O, S: i; J/ O  X

3 z" z$ v' Y5 D$ J! y+ R( x# 1.查找丢失的PG
2 q: }+ A! z! wroot@storage01-ib:~#  ceph pg dump_stuck unclean | grep unknown
% |$ m4 s, _5 D; K% z20.37                         unknown     []         -1     []             -1 4 S, j; j5 {( g' a( D1 ?1 c% i
20.29                         unknown     []         -1     []             -1
; H- P, E$ D0 R5 u20.16                         unknown     []         -1     []             -1 1 q/ t) g/ V2 x+ B. o; T. b/ U
( C) ^+ h. l+ N) ?, H5 v8 {. V
# 2.创建PG) I0 f0 g% a5 {8 b  p
root@storage01-ib:~# ceph osd force-create-pg 20.37 --yes-i-really-mean-it
) \( V6 n1 r2 s! f: W' npg 20.37 now creating, ok5 M$ [2 ^- i# _& B7 |
1 Y# @+ V2 m6 r2 j: \, C
注意:不要使用单副本的集群。2 y) d" y( c) C6 h$ y
+ H! y- q8 @+ F& @! h% }, q

1 E. t/ f: C0 H: I  L出现“1 pools have many more objects per pg than average”警告时,说明集群中某个pool的PG数量配置过少,其每个PG承载的对象高于集群平均PG承载对象10倍以上,最简单的解决方法就是增加pool的pg数即可。
* P1 s2 h' _) D, `5 M5 ]/ f3 u1 H
# s7 q1 Q8 h4 D9 @
2 B  w% O. ?, i3 Q% k* t) L
# 告警:1 pools have many more objects per pg than average
( A+ _# ~9 L. x- b! ~[root@lab8106 ~]# ceph -s
# K- Z- o: Z1 }! a( vcluster fa7ec1a1-662a-4ba3-b478-7cb570482b62
. @' y2 K2 A: ]8 y2 ~health HEALTH_WARN/ i3 y, R- L  J% G% V1 @0 V
1 pools have many more objects per pg than average4 E# P7 ?4 R! E6 V
9 T  q) W. y) c4 I% E0 g

5 t) a6 f  u6 O5 S# 增加该pool的pg数,N版以后,只需要调整pg_num即可,pgp_num会自动调整。# ?4 i$ K; N/ A( D$ i
ceph osd pool set  cephfs_metadata pg_num 64' T1 W5 Y2 M3 Y* w8 I
, f: B* B3 _) {$ T0 }

" y  B- u' C# J$ C+ k, Q
( @, B; R* d6 ~# x* N
 楼主| 发表于 2022-11-10 13:51:53 | 显示全部楼层
情况7 L' X6 \. R1 S/ ^5 Z1 v; i% ?
ceph 在一次掉盘恢复后, 有 pg 出现 state unknown 的状况. 运行 ceph health detail, 显示:
) X5 \! w5 S9 u' P
2 w3 ~8 I1 S& L0 {[root@storage02-ib ~]# ceph health detail
- P) z; r+ c4 Q2 \  NHEALTH_WARN 211801/3035471 objects misplaced (6.978%); Reduced data availability: 4 pgs inactive7 b+ c$ {$ Y% J& p$ M. z' I2 H$ R
OBJECT_MISPLACED 211801/3035471 objects misplaced (6.978%)$ n4 @: l+ l7 o- y2 p4 j
PG_AVAILABILITY Reduced data availability: 4 pgs inactive
+ x* m0 x1 J( K1 l' l7 U5 G0 }    pg 20.16 is stuck inactive for 12365.100778, current state unknown, last acting []
- ^( A  O8 F) }' q& k% A    pg 20.29 is stuck inactive for 12365.100778, current state unknown, last acting []2 C9 U  n6 ~) w" Q% X- a
    pg 20.2d is stuck inactive for 12365.100778, current state unknown, last acting []
8 K3 K6 z0 o' e# y1 D    pg 20.37 is stuck inactive for 12365.100778, current state unknown, last acting []
  I5 i/ E" G9 G" }显示这4个 pg 卡住了.
' a1 v6 x; c+ x( p+ D1 p' @: j4 n! h0 z" m' m8 W0 p
运行 pg query, 查看该 pg 的具体信息, 显示:" Y' o' s! T: G- L6 I; ~

- D) L, j$ E( D- L' v. {. Y3 groot@storage01-ib:~# ceph pg 20.16 query
" `% m1 D: k: G: F% NError ENOENT: i don't have pgid 20.16
2 X6 D% j2 y- Z无法找到该 pg id.
# V0 L# y5 a) _5 J" s' k. @6 G# L  q% x+ y: `5 x
运行 pg dump_stuck unclean, 显示:
) B8 D( s+ N- Z$ [
+ |  x& s  A( w; M9 B+ M3 \( Broot@storage01-ib:~#  ceph pg dump_stuck unclean" J/ ~6 R0 G" T. J
ok
; X% A* b, C4 C9 hPG_STAT STATE                         UP     UP_PRIMARY ACTING ACTING_PRIMARY
$ h3 u; k6 O. @8 s( F1 x21.f9   active+remapped+backfill_wait  [7,4]          7  [4,9]              4
+ r9 d3 g1 p, }21.f7     active+remapped+backfilling  [4,8]          4  [4,2]              4 6 |0 ^1 }* b/ z5 u0 h3 }' _' k
21.d9   active+remapped+backfill_wait [10,0]         10  [0,9]              0
- F  u4 f- V- O/ p9 {21.c9   active+remapped+backfill_wait  [8,4]          8  [4,7]              4   L/ p) y7 L1 z$ A9 r& R
21.b8     active+remapped+backfilling  [2,7]          2  [6,7]              6 ) b1 S5 f' ^- I0 u8 U( N) E1 t" r# c
21.af   active+remapped+backfill_wait  [0,5]          0  [0,8]              0 6 U/ N' W0 s# a4 _5 c
21.a3   active+remapped+backfill_wait  [4,8]          4  [4,9]              4 . G8 M! D; A. Q# R
21.9c   active+remapped+backfill_wait [9,10]          9 [5,10]              5
' r, ]+ u4 b: T21.cb   active+remapped+backfill_wait  [5,3]          5  [2,3]              2 5 E% n5 x" q% R1 ?8 i( e
21.95     active+remapped+backfilling [10,4]         10 [10,7]             10
' |7 w# o- d- S  W8 @21.f3   active+remapped+backfill_wait [2,10]          2  [2,5]              2
) j/ l, D# i. V21.3f   active+remapped+backfill_wait  [4,2]          4  [2,6]              2 , P! A) i5 z3 V) p3 `, e
21.3a   active+remapped+backfill_wait  [3,6]          3  [6,9]              6
5 p+ h0 t* N1 O) u- Z20.37                         unknown     []         -1     []             -1
% A& |8 j4 j* P/ P# B* }8 l21.b4   active+remapped+backfill_wait  [2,7]          2 [2,10]              2 ; L2 p" {; U8 O" T. R+ o$ ~, {3 o# A6 ~
21.56   active+remapped+backfill_wait  [8,7]          8  [8,5]              8
2 v! W. Y6 g7 s21.68     active+remapped+backfilling  [7,2]          7  [0,2]              0
, Y6 q5 s! F( i21.2e   active+remapped+backfill_wait [10,6]         10  [5,6]              5 * Q7 U: m. t8 @, l" }; P1 z  D1 |
21.7f   active+remapped+backfill_wait  [9,8]          9  [9,7]              9 & S4 I1 c. W! ]" T+ @  i1 s' M
21.e9   active+remapped+backfill_wait  [4,9]          4 [9,10]              9
/ u- v9 O5 ~$ Z3 g9 O" T21.55   active+remapped+backfill_wait  [9,4]          9  [9,6]              9 & P% q  r4 ~# [* E* R. F1 K! l
21.5e   active+remapped+backfill_wait  [0,6]          0  [0,9]              0
3 o, ~) a7 m- O4 A: H2 K21.87   active+remapped+backfill_wait  [7,8]          7  [7,4]              7
. n6 c; }' g/ u. m( ]8 P' F21.76   active+remapped+backfill_wait [10,8]         10  [4,8]              4 5 [( G! y2 t" J1 X3 B9 U
21.a1   active+remapped+backfill_wait  [2,5]          2  [5,6]              5 : g5 h- f3 V$ L$ W& O& y, m) |
21.43   active+remapped+backfill_wait  [3,0]          3  [0,5]              0 8 T, k* B8 g; u9 q5 c% d
21.82   active+remapped+backfill_wait  [7,3]          7  [7,9]              7
$ P) c8 ^: e2 Y5 r20.2d                         unknown     []         -1     []             -1
( R# Z4 n+ k$ J0 X. D5 {8 q! `  _21.2d   active+remapped+backfill_wait  [4,8]          4  [4,2]              4
9 C( f. z; T8 ?/ i21.1c   active+remapped+backfill_wait  [8,0]          8  [0,6]              0
3 K5 t; b5 e% T- ?5 i4 a/ Q21.22   active+remapped+backfill_wait  [4,9]          4  [4,7]              4 - m' R7 C" `2 `" [
21.79   active+remapped+backfill_wait  [4,6]          4  [4,0]              4 + e: H% K9 E* ~( a
21.28   active+remapped+backfill_wait  [7,4]          7  [0,4]              0 5 J. X9 W  }( S) `+ q
20.29                         unknown     []         -1     []             -1 4 j9 d2 {4 B  k5 {
20.16                         unknown     []         -1     []             -1
$ n8 E7 r8 B' _/ [" ^& u: a4 [29.4    active+remapped+backfill_wait  [6,1]          6  [6,4]              6 ) l) V1 N2 S1 V5 j) J' F5 K
21.23   active+remapped+backfill_wait [10,0]         10  [0,3]              0 ! |; Y3 L! p1 I& ^/ K3 x& _
21.63   active+remapped+backfill_wait  [9,0]          9  [0,2]              0 ' G1 t1 }* Z8 h: r9 v+ M$ H
29.5    active+remapped+backfill_wait  [1,9]          1  [0,9]              0
! s& E& M2 y7 H% V. R8 Z3 K21.6c   active+remapped+backfill_wait  [6,5]          6  [6,8]              6 8 O+ B! q# A: A7 m
21.e    active+remapped+backfill_wait  [0,7]          0  [4,7]              4
' S3 P$ i3 V# e6 e* P分析
' s! E) `5 R% X& w! _* d看来是这几个 pgid 彻底找不到了. 我的 osd pool 有三个, 分别叫 l1 (1副本), l2 (2副本), l3 (3副本).7 ]1 z8 [: K* _" x% A

( o" b* k. Q. j" f9 J- f+ i* T6 m估计可能是之前写入 1 副本的数据由于硬盘挂掉导致的数据丢失.
* Q- \- P$ L8 f% _+ e$ Q# w& @
既然是1副本, 也不要求数据可靠性了. 并且本身存储的也是一些下载到一半的数据, 也没什么关系.
% k1 l5 c8 m/ X) m" f2 p; ~# ?& ^' c  \$ k" P& y* R
修正5 Z" n/ K5 G* u0 k0 ]5 u
通过阅读 CEPH 官方 PG troubleshooting 文档 , 发现了解决方案:! E( X4 w4 Y! q9 [; E
. c' H1 T3 h5 v' B- d# X
POOL SIZE = 19 C$ ^4 u; J4 Q* V- \" F

4 M. S7 c0 b" f' q  q1 D+ yIf you have the osd pool default size set to 1, you will only have one copy of the object. OSDs rely on other OSDs to tell them which objects they should have. If a first OSD has a copy of an object and there is no second copy, then no second OSD can tell the first OSD that it should have that copy. For each placement group mapped to the first OSD (see ceph pg dump), you can force the first OSD to notice the placement groups it needs by running:$ J9 E/ s+ ~$ d1 X% @
; m3 l5 R4 @6 l4 Y# v" E# B
ceph osd force-create-pg <pgid>
9 f8 }! U- J: T: I) d9 m; K# e2 U8 C- t. ?5 o
即, 多 osd 副本可以互相通知 pg 信息, 但是单副本就会丢, 为了恢复这个pg, 我们可以强行创建它.& G( ?1 e5 P- V2 _- Y

9 r5 e3 c" N. k) x9 O, troot@storage01-ib:~# ceph osd force-create-pg 20.371 D% j8 P4 }  {; q
Error EPERM: This command will recreate a lost (as in data lost) PG with data in it, such that the cluster will give up ever trying to recover the lost data.  Do this only if you are certain that all copies of the PG are in fact lost and you are willing to accept that the data is permanently destroyed.  Pass --yes-i-really-mean-it to proceed.: c. c2 a6 T9 N% j. U0 A$ o5 F/ p
运行创建命令, 提示, 运行会永久的丢失该 pg 的数据, 需要加上 --yes-i-really-mean-it.3 d* \* d- d/ R/ p" g1 V4 @- I* X
3 z  M0 w/ ], z3 A1 [7 }
root@storage01-ib:~# ceph osd force-create-pg 20.37 --yes-i-really-mean-it# l3 w/ ^; e1 t; a1 h- B
pg 20.37 now creating, ok/ \3 F# [6 S. j0 }# ]
执行成功.
7 A* d! h& q5 _9 v, B) Q
% E( B: Q2 Z2 n0 R3 o查看新创建的 pg.- D$ y3 ?6 U5 t

# n# `' i6 f8 ]) zroot@storage01-ib:~# ceph pg 20.37 query
# o8 |( v7 A; O. c- M( G* Z{
  u' T6 c5 v8 a    "state": "active+clean",* |1 Q( {/ z/ F. Z
    "snap_trimq": "[]",
1 x! j* j! @8 w; s) u/ R6 t# k    "snap_trimq_len": 0,
7 F6 K+ k- z/ V) Z$ T    "epoch": 814,
- t9 H" p+ n& }( J  J, w- o  b    "up": [
7 [) E* v+ Y0 ?$ `: h4 j        6
# x4 @2 r1 O4 b+ Z* ]    ],3 G! @& h+ b! |6 o, _
    "acting": [4 r6 z! P* U, w' c* g% M
        6
$ J: J0 M( h/ R  @; ]  d    ],
. L4 q: d9 l" \5 ^5 I8 I8 J- ^! \4 R    "acting_recovery_backfill": [
$ ^' w5 W4 W* e3 [5 \+ Y        "6"$ w0 X' f! l" k7 v" g7 |+ k
    ],
0 f5 o7 Q$ U  Z: z; W% G, S    "info": {
; N4 G8 d' k' ^! @- n, y( O  r3 R        "pgid": "20.37",
& @" H  }" D" V2 Y6 P/ p5 L! ]* K        "last_update": "0'0",( V8 S# ?2 s" L) [' M
        "last_complete": "0'0",* x3 Z6 i6 `/ e  }# p1 O
        "log_tail": "0'0",# J9 l) _3 U/ D0 h; `% k$ c
        "last_user_version": 0,
, `/ h" h+ b4 V% d        "last_backfill": "MAX",6 G% |4 P) Y, P; y
        "last_backfill_bitwise": 0,0 G. I1 s/ |5 ?) o- F# V& {" z
        "purged_snaps": [],
! {. d" H% P7 z* n        "history": {
+ h" B7 P4 l8 ?) i5 J            "epoch_created": 795,
9 D/ n3 F# c7 Y1 W            "epoch_pool_created": 795,' N5 K0 _) e6 u
            "last_epoch_started": 797,
+ V# T# W- e( E5 n0 ^            "last_interval_started": 795,
, H; \4 o* W' L* O2 Y$ q8 C4 G            "last_epoch_clean": 797,4 c* B3 M% g9 w9 T+ H1 r% F$ p1 g
            "last_interval_clean": 795,
) ^( T* P7 y1 D* G6 y* {# I- S' Z% p            "last_epoch_split": 0,- Z6 U" U, O0 q3 T
            "last_epoch_marked_full": 0,
% x1 g+ u' U1 ~. o4 h$ F/ I            "same_up_since": 795,
# [% h3 I! ^$ ^( E3 Z* T7 \            "same_interval_since": 795,) N  \; T- R8 b
            "same_primary_since": 795,# p  R0 C$ v6 o7 y' a
            "last_scrub": "0'0",
# y3 X* T0 \' A. r, I            "last_scrub_stamp": "2019-03-05 03:02:04.611341",
2 ]7 i6 j1 C# `5 f            "last_deep_scrub": "0'0",
; P; ]$ W- I* J* ~0 g            "last_deep_scrub_stamp": "2019-03-05 03:02:04.611341",; X- z! ?9 f' Y/ k0 X& R0 {
            "last_clean_scrub_stamp": "2019-03-05 03:02:04.611341"
! N+ f6 l  R% s" Y        },
) Z- G3 s1 |# C$ W        "stats": {5 l) N; ?5 t  s/ r8 a
            "version": "0'0",
, u8 ~: q! k5 S, N" n            "reported_seq": "25",- {# v+ U0 M8 ~; A
            "reported_epoch": "814"," `; q5 R# r- y( }$ ~9 P
            "state": "active+clean",
! C2 x! X- K) ^0 K/ x& @            "last_fresh": "2019-03-05 03:07:59.418140",& ]# |. v2 I" b$ I4 l" Q+ P: ^9 b
            "last_change": "2019-03-05 03:02:06.260474",
! n& r: C; x# Z6 [& F! S            "last_active": "2019-03-05 03:07:59.418140",
$ U* Z3 p, _3 m. T            "last_peered": "2019-03-05 03:07:59.418140",/ U4 d; d; `9 q+ U* |% |
            "last_clean": "2019-03-05 03:07:59.418140",
4 E/ D( r" o* E7 r            "last_became_active": "2019-03-05 03:02:06.260323",
) M4 J) n9 @' w6 r: X& Q. W# d& h1 P            "last_became_peered": "2019-03-05 03:02:06.260323",2 S8 {2 \" J  T9 a- X3 c) Q
            "last_unstale": "2019-03-05 03:07:59.418140",3 l# N6 H' q! a0 R! v
            "last_undegraded": "2019-03-05 03:07:59.418140",! u9 v" U8 n& k5 Z9 H
            "last_fullsized": "2019-03-05 03:07:59.418140",+ \; w: c7 f  N
            "mapping_epoch": 795,; P* Q& I( l7 }
            "log_start": "0'0",
1 ?! d' L) C; ]0 M+ Q5 L* T$ W3 V            "ondisk_log_start": "0'0",. C& V& s8 C& r! A1 a
            "created": 795,% U, V7 r8 X  f8 s: w& o* ]
            "last_epoch_clean": 797,' L& S9 g/ M, y9 Z
            "parent": "0.0",
, Q3 u# `  ]5 W% t2 Z4 i            "parent_split_bits": 0,
8 e! x4 Z# I9 x9 D            "last_scrub": "0'0",
- ]: Y# |8 V$ j" s# A# v            "last_scrub_stamp": "2019-03-05 03:02:04.611341",* s, _) C2 l- H; p* k$ b
            "last_deep_scrub": "0'0",
6 ?: Z, K5 C0 d; D. @- D) v: r            "last_deep_scrub_stamp": "2019-03-05 03:02:04.611341",, d1 j* W8 `0 m; f
            "last_clean_scrub_stamp": "2019-03-05 03:02:04.611341",
7 T: D7 E# |- N* n$ C6 N; g            "log_size": 0,6 F; ~8 @& f% K# {4 L5 R' L0 \- ^
            "ondisk_log_size": 0,) l! L2 k; R$ z% Y. O4 E6 b% |( `
            "stats_invalid": false,
& [+ [) b+ b# s            "dirty_stats_invalid": false,
! i7 O9 I5 C' x- a            "omap_stats_invalid": false,
# P& n; k5 C# G4 T+ e% z            "hitset_stats_invalid": false,
8 E# R' j3 d; u* p            "hitset_bytes_stats_invalid": false,: J* x+ }5 J/ T8 s! A7 }1 p+ F
            "pin_stats_invalid": false,3 P* ~1 C9 C' P" I$ Y) z* v) ]
            "manifest_stats_invalid": false,1 j% [8 v8 N% @' a6 Y8 ]
            "snaptrimq_len": 0,
( X  t% H1 H9 T: h9 }& z9 o( C            "stat_sum": {: B0 E" X6 \, i# x1 [9 _$ k
                "num_bytes": 0,
! E& ~! N  t6 E7 U" L                "num_objects": 0,
( l  b$ y) e, X; J8 l  ]                "num_object_clones": 0,
. w/ s8 T: U5 z' q/ e- a                "num_object_copies": 0,+ k& y7 E0 u' P
                "num_objects_missing_on_primary": 0,  d; c) M7 t6 d% Y6 C
                "num_objects_missing": 0,0 v/ f4 r% c+ E+ j4 Q! Z
                "num_objects_degraded": 0,
# a$ r9 o; ]; ~: K# d, Y                "num_objects_misplaced": 0," I8 N0 ]7 [2 b$ m* Z- a
                "num_objects_unfound": 0,% [8 G+ ?0 w8 c
                "num_objects_dirty": 0,# [- S) U" }/ [  ]! u! }' ^
                "num_whiteouts": 0,
% y) @* U' Z  p! f- c' {                "num_read": 0,
) _- U1 O' ^; q. p( x, g                "num_read_kb": 0,
( n2 A- A3 I1 v                "num_write": 0,6 S, J! j8 A3 ^: U7 H1 D# H/ A! N8 ~
                "num_write_kb": 0,8 N, j) [1 h5 D: ]0 `
                "num_scrub_errors": 0,% J1 V! w. d4 g0 s% h
                "num_shallow_scrub_errors": 0,3 R# f3 s& D* G9 C' j& u3 y% S5 L! u
                "num_deep_scrub_errors": 0,
  ^1 ^/ K6 b/ T& F, I3 U# t                "num_objects_recovered": 0,' R5 O7 ]1 y8 a! K6 D$ z) E
                "num_bytes_recovered": 0,
+ e% k( o- u' F+ l  ^4 i/ i6 |1 u                "num_keys_recovered": 0,
2 b( B0 u+ f3 ^  w$ r                "num_objects_omap": 0,4 c- K& p0 C6 B
                "num_objects_hit_set_archive": 0,4 }* Z* d1 t+ `# Z! b4 g
                "num_bytes_hit_set_archive": 0,) W; \  o2 f8 H4 O8 c5 s3 s
                "num_flush": 0,
% A5 X# ^. D* U/ C+ W7 {# K9 x                "num_flush_kb": 0,
; X5 O$ Q9 z1 ^3 L                "num_evict": 0,! g# m& X$ E% R' d% ^$ {  x
                "num_evict_kb": 0,7 I0 p; m! `4 p, |/ H4 R8 C, I, z
                "num_promote": 0,7 b' ]& e) B: j7 `- g+ W
                "num_flush_mode_high": 0,
! f8 A; H* `: g$ h. z( P8 j                "num_flush_mode_low": 0,
7 M' G6 d4 Z- g6 w                "num_evict_mode_some": 0,4 W, n1 Q$ V6 P! p
                "num_evict_mode_full": 0,7 k) B0 I+ d0 D6 j3 E7 N0 E% C. D
                "num_objects_pinned": 0,
: A% p3 D& R/ T7 Y. `! w                "num_legacy_snapsets": 0,0 f& y* l; c. G' [
                "num_large_omap_objects": 0,7 P& L% x/ G3 f. |; a
                "num_objects_manifest": 0+ `6 x3 g5 m1 W
            },
6 A: o2 S# z2 V  [( G+ f# l+ N. O3 e8 [# C            "up": [# h4 F% J+ Z) Y, k2 o
                6
  l, |2 @; A; q0 _, u4 u+ E) [            ],
# U6 g% `* @' U+ ?/ ^4 g            "acting": [
/ b( i: i; N4 G- m6 T* K                6
' f* I: @& O+ [1 a$ S            ],# N& L3 ~  `- R
            "blocked_by": [],3 J' j% B: k: |. }
            "up_primary": 6,  Y' G% a# J" q7 r
            "acting_primary": 6,
8 t/ V, c& J0 u6 y+ P/ ?8 n            "purged_snaps": []
) @) ]4 M0 ~/ m0 @        },2 G  V  p5 z; ]* X
        "empty": 1,3 W& e/ X5 u! i5 Z, p
        "dne": 0,6 h; Y% I7 V1 O9 g" r% `- e
        "incomplete": 0,
! x4 J0 [3 ^# E        "last_epoch_started": 797,
2 J' F7 d# m6 r$ l2 x9 I2 b        "hit_set_history": {
& S! b. ?/ f0 A( L# h0 }            "current_last_update": "0'0",
9 G! S" b' D. w5 Y( p            "history": []& {' S5 {& s, U& ?
        }
2 i' r5 ?9 V; b    },
2 ?" ^8 r5 M/ s# J  \) Z' D    "peer_info": [],+ `! {& L0 [8 Z: T6 [
    "recovery_state": [
" @+ @3 r5 u) G6 o0 P; e6 T        {
( y9 R; `. x/ Z0 U$ |0 G7 H$ U: u            "name": "Started/Primary/Active",
* H2 N3 r6 r' Q- o8 A& j            "enter_time": "2019-03-05 03:02:06.252112",
4 q6 m; V1 l" `  n+ H            "might_have_unfound": [],
( _: p# B, A! w* D" s            "recovery_progress": {
" o& Q1 P. S9 u! k' Y0 s' M                "backfill_targets": [],
  N; u8 l8 o( I# R7 S5 G& |. B                "waiting_on_backfill": [],9 b8 |  G. n+ o
                "last_backfill_started": "MIN",
+ k& W7 a6 ^6 d! B7 K4 _                "backfill_info": {# J9 N7 `1 M4 M" l& b: v) s% c, z
                    "begin": "MIN",/ _  {1 x; w5 s1 P" c+ t
                    "end": "MIN",
! n. g5 h6 E# ]* A4 U3 p                    "objects": []
" s; M" f- V( d  t2 B                },
. I" y- h7 u# C! M                "peer_backfill_info": [],! `" z+ W# g5 X0 k! E% H, U# I
                "backfills_in_flight": [],
9 G( E6 Y& B; @& ?  P6 Q                "recovering": [],2 I5 r3 C( K/ ~+ U  L
                "pg_backend": {
5 ]9 |' w  R  i+ S7 u2 e                    "pull_from_peer": [],# Y3 `2 t. x0 N. A" S) o/ {! Q
                    "pushing": []
% I! n' A: F* ]6 G5 |                }
/ g6 u5 M1 \; a5 H1 A8 F            },5 ?; W0 W% K" b( j
            "scrub": {1 t# R9 Z3 `1 d. {# |
                "scrubber.epoch_start": "0",, e4 l8 N. V2 x) t8 R
                "scrubber.active": false,( a! M% y4 l# j( e4 ]/ m: ~  y
                "scrubber.state": "INACTIVE",( e" n( {0 j9 a7 K
                "scrubber.start": "MIN",9 M6 H% W9 ?. e, Q3 x
                "scrubber.end": "MIN",, g/ p6 L/ z6 ~9 h' }5 I4 L& u
                "scrubber.max_end": "MIN",2 f% J7 N8 ]# w; e1 ]) @( ?8 j
                "scrubber.subset_last_update": "0'0",
% |' @9 F, N) H$ }2 p  \                "scrubber.deep": false,
# {% Y! ]* Z, z; V8 a1 i2 W! M                "scrubber.waiting_on_whom": []
! w; W+ S% c7 o# B            }; n- @) F  S0 x
        },
: A9 y, q6 a* i& J' F- |+ ?        {
7 o7 i3 {, T" m6 s9 `$ @            "name": "Started",# c$ R+ Y5 s+ D+ _7 A# [9 b; m: g
            "enter_time": "2019-03-05 03:02:05.356513"
: y0 y; O( `6 h% R. Q7 e+ a        }
! a+ c' S% _" l2 x, w9 n$ H- u6 C1 Y    ],
. T' T, {+ g; L, B4 [    "agent_state": {}9 U! `5 X* M% [0 Z
}
$ j8 G' P9 b! B/ ~+ G  r
! p" f3 s+ D* `7 k% c8 @* \% q- N% x9 U: q/ x6 n  k
结论
, T6 z* P( B4 l/ F5 Z至此, 修复完毕.( v$ |+ {! z9 h3 j  F! _

+ \/ d( _% @5 s9 a; x后续检查, 1 副本的下载文件夹丢了几个小姐姐【手动滑稽】
; r; m) W. s5 r. B
1 ]( Q0 I' P' r: i$ o建议在直到具体是什么问题的情况下才进行这样的操作. 如果是重要的数据, 请不要使用 1 副本, 并做好备份后再进行操作./ H; @; e+ |" ?3 ~7 E

0 R9 _) `* ^1 `; A6 M如果是2,3 副本情况下的 pg stat unknown, 建议做好心理准备... 很可能就是没了.0 |: o4 V% A0 Y2 _

! Z1 N! f0 l6 X! [8 \# X& I如果是其他 pg stuck 的情况, 建议仔细分析再进行操作.4 o- b2 b( p* B4 J0 J4 L

# ~' P! @9 w# l: S8 j以上.
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2022-12-10 11:04 , Processed in 0.784313 second(s), 24 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

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