|
|
记录初始pg状态记录下初始pg现状,防止osd服务down掉之后,主、从、历史副本发生变化
' a! W# U+ p# B1 W# V; f3 Z2 Cceph pg dump|grep incom > pgincom.txt
* ~8 i1 m% m; ?, o. Vceph pg 1.5 query > 1.5query( {. c" K' d# R9 ~7 _7 p
7 t% |# X% B' o. |设置osd noout 防止处理时间过长,剔除集群:
: z n' ~: J/ S3 Rceph osd set noout
! t$ Q* D% G& P9 U
" x4 X D4 n' ?& `( X4 j' ]停止pg对应osd
/ i, p' y5 Y# n7 m" j3 [& D; i" I w. a- o& E+ n0 S. o
systemctl stop ceph-osd@$OSD_NUM
1 p4 c6 f/ T( m7 L' r t) b I# k" T# L4 _7 [
导出备份pg和导入pg查找历史pg所在osd和其他副本pg所在osd,查看pg中的对象,先对比pg的主副本之间 pg里面的对象数 哪个对象数多 就把哪个pg export出来,然后import到对象数少的pg里面,选择完整对象的pg导出,再导入到主pg中(导入前备份)& L5 ^$ r1 k- M1 e- V
8 L: B* ?# l) {
然后再mark complete1 a# [. ^. ~* q8 F: A8 G- B
% L$ e) L, Q* L! h0 t' R0 Z0 Q查看对象
# j; K2 e0 A, { _, n6 f( z' Yceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6 --pgid 2.28 --op list
# } E4 H: o* V ]. _, d9 Q. V导出ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6/ --pgid 2.28 --op export --file 2.288 i5 ?/ B+ Z3 E( }3 h8 B, l7 F
导出并删除:ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6/ --pgid 2.28 --op export-remove --file 2.28
$ G/ Y j" ]: r" N0 v
( ^/ d: C# ?0 E8 X3 r. i导入
" l9 P. n: j( Sceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6/ --pgid 2.28 --op import --file 2.28
$ X9 _* Z, x$ A- Y8 C6 C8 N: _- H' b X- `4 P- Y9 D) z$ v( c0 i0 C
删除pg对于数据不完整的pg,实在无法修复的,执行删除操作( N: ~9 P) P" R! I! ~4 Z0 P: o
% \- @: Q% [: f3 P/ u- y
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6/ --pgid 2.28 --op remove --force
7 w& m" Y# _1 g1 ]
1 [9 {6 J. g- ?8 j+ R5 m, A, M, t% o, v7 L, ^
标记pg状态为complete+ V2 R, c- V' X7 N3 Y) u0 d* g
修复完的pg进行cpmplete标记2 @0 }. }/ [2 \7 `
* H2 j' l; J7 R* E c# h
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-6/ --pgid 2.28 --op mark-complete
: V# O9 s b% c& [6 q
& h6 q9 ~- h2 S: n. [' e- f6 b, o7 Y k) E# D% ?+ L" S
0 _1 D* _# M$ t; T$ o6 z+ ~3 A
启动服务systemctl start ceph-osd@$OSD_NUM
4 Y% x: n( G/ E+ K8 U- F3 C$ J; Z1 e& W$ b5 V' F' l7 l! Z5 o
取消osd noout ,保证监控能告警。: O' z, m) i9 a' M# y6 |, I
ceph osd unset noout
! H* _2 t# r5 y+ Y) Q& k8 `' [& Q
$ q3 Z( v3 Z; ?4 ?1 g% m
( S; B/ c( I' N3 c- K, z( N
6 [" f O# z- n
. }. x4 l& P5 W& D3 r0 M+ N$ d5 y+ o w
& p. C+ ?& |$ v8 _, @6 {
|
|