|
1. OSD概念 OSD:Object Storage Device,主要负责响应客户端请求返回具体数据的守护进程,一般一个集群会有多个OSD,每一块盘都会对应一个OSD。 2. OSD 状态 - 1 Y$ p& X; d! z' v1 C% N: i
: r" o# f t$ Y9 u, D. N[root@data1 ~]# ceph osd stat8 a5 j" ~2 k% t3 ~4 G3 h# y8 z9 Y
! X; P2 M& z9 r
- % f: x2 p7 F9 |0 G
, h- y) S: B; u1 G' ]
4 osds: 3 up (since 23m), 3 in (since 13m); epoch: e345
. Y Q% q$ K$ d W4 R, g) p& P' n3 ]1 A; r$ p. O! `
9 X3 w: ]) `9 T T# \
OSD状态说明: a. 集群内(in) b. 集群外(out) c. 活着且在运行(up) d. 挂了且不再运行(down) 正常情况下OSD的状态是up in状态,如果down掉OSD,它的状态会变为down in,等待数据均衡完成后osd变为down out状态,Ceph 会把其归置组迁移到其他OSD, CRUSH 就不会再分配归置组给它。 3. 查看OSD的状态
5 Q- v+ F6 H/ a/ v
( @ P5 _- j6 J. w, B# 查看集群的osd状态$ ]# ?) {/ Q9 E. ^( h+ }
+ x* w% X6 b% c
- * Q9 |& G: Q- P& x8 D! t
+ I! ]* C9 O2 E0 }1 k( G
# 查看指定osd的状态:ceph osd dump 3
9 w" w+ @, k7 ]& C& h& o# R* O1 c3 L
- ) W, x7 g$ D# W3 W* ]( Q
9 k% D7 E) b$ y! t1 [' f
' R% K5 b w" K% {. Q7 J9 w( |7 B P% D4 r! A8 m- H+ N3 ?
- 2 `0 [) X4 l$ v! S
* F& a' N" p4 d. w[root@node1 ~]# ceph osd dump8 f" \( k0 t1 k# }
- c. Y* }2 @$ a4 W2 w
/ ?) E6 _- C* t7 G4 \
% m! o- R2 ]1 E$ V4 Nepoch 242
4 ?9 T' E( D1 |0 Q3 w( Q- F- M: \* c
7 ]$ {/ Y+ U/ o. e7 S$ Q0 K- o9 r; t5 r; }5 s( H0 k- e
fsid a1001d7b-e11e-48b5-9d18-759aeb238b21
+ @: {" n) @- g' m7 g/ R0 R) M. Q9 A" W* |
6 s9 F% s, Y( G" u; ]0 Q
" i, E% E3 p: ^4 u; ecreated 2020-05-25 15:25:44.802972* N$ c$ k5 x" k) T" S
$ n9 a% n/ o b8 v l4 K- 5 V5 Y* a1 T4 S0 c% p& A, U
) T3 q* ^! g+ r3 H& s- ?2 Bmodified 2020-05-26 13:22:00.626733
5 A, J- J, ?$ {! n- F& a4 E: ^ M+ [& D$ m" ?5 g' W. }( H5 f0 v% @
- % ] ^7 o, R n" D
' W) [/ v) p5 X3 v4 e1 l& f2 m6 Y
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit# i4 f1 o% S2 J; G% ^
1 O, t/ n+ v. g8 O/ ]# H - 0 p6 u; J3 j. W" C5 S2 b. F# e( e
" _4 i, M ?% J" E
crush_version 23+ g7 k, N8 O4 C3 K& K
7 H& W! J8 j4 C5 ~. n; c3 T; M - ( ?; n1 ~! { Q. T! |
* T, X4 X: b5 O; g3 R
full_ratio 0.95; Z$ i4 O1 P8 I. m" }, L+ g
7 C, D5 J: P o/ X W - : {1 Y' B' d9 ^! I$ s5 H
$ A+ M: ]2 f+ B+ x8 a; C0 T
backfillfull_ratio 0.9
2 \2 j) \1 c: Y) {" Q7 G* J- `0 u& c, M# x& [% z+ [
- 3 e, P; s. F' R5 @, G% i
4 h, F. M) _, z( {nearfull_ratio 0.85: F8 v- e: r' c! G
" |, `& T, }- A
- $ E. a0 T4 h" M3 j3 Y1 Y
6 ^& E. y/ C+ D1 Rrequire_min_compat_client luminous6 g! v: a0 F8 \! Q4 R. o+ v
) [5 ~& J6 h% I9 I# k
, F1 s1 M1 _/ G$ Y1 t
2 I( |1 b/ o2 E, m1 s8 dmin_compat_client luminous
- K8 f, l$ h$ k" ?! e6 u5 D
. x- S/ s5 g3 s6 R+ c
U( U4 G8 T" A2 w! C% ?6 M- h' U. h8 k
require_osd_release nautilus5 I7 j3 o% U" N. n% e+ o
, P. k0 n+ p4 k4 B5 w. B( \
b4 x0 y( p# i4 l* b
, b4 r4 u0 }5 R) k: mpool 8 'pool' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 128 pgp_num 128 autoscale_mode warn last_change 60 flags hashpspool,selfmanaged_snaps max_bytes 214748364800 stripe_width 0 application rbd
- E7 I# d+ Y _2 |7 x; [9 v7 @' o4 J
- Y9 J- K3 ?6 d% L- P5 C5 H
5 ~, h" b& Y7 c+ r
removed_snaps [1~3]
: [ |% V! ?5 |# I: \) u, {+ H0 e/ W6 D: P! K3 b7 C# m
- 3 C ?) K/ z: l$ r8 N5 x+ d. Z
9 Y; F+ D0 t* ^9 w l
max_osd 4& m: | C8 Q8 p$ H' d+ M. S$ g
1 m/ y: A0 Z2 {/ v/ U$ j
- . k1 T0 R5 @) p8 }: k9 i- w
! q/ }9 M3 Q6 bosd.0 up in weight 1 up_from 231 up_thru 235 down_at 230 last_clean_interval [13,228) [v2:192.168.102.21:6800/1518,v1:192.168.102.21:6801/1518] [v2:192.168.102.21:6802/1518,v1:192.168.102.21:6803/1518] exists,up 23438b52-b147-456e-8368-7fcb71daf267& D) s1 p. J5 P
' f0 u2 R' V* x0 j" q
: ^& ? [. r/ u) B* k) G! A4 n: t. X2 K; u# h$ P* S4 u( W, D
osd.1 up in weight 1 up_from 229 up_thru 235 down_at 227 last_clean_interval [13,226) [v2:192.168.102.19:6800/1517,v1:192.168.102.19:6801/1517] [v2:192.168.102.19:6802/1517,v1:192.168.102.19:6803/1517] exists,up f66ea32b-bc4a-4806-92bd-958b6f291676
) w2 n4 Z" h r
, T) t7 v) F4 }- + f# h7 {+ A0 o7 F) I3 ~" ~6 {- N
, t4 B% A4 _& mosd.2 up in weight 1 up_from 235 up_thru 235 down_at 228 last_clean_interval [13,227) [v2:192.168.102.20:6800/1501,v1:192.168.102.20:6801/1501] [v2:192.168.102.20:6802/1501,v1:192.168.102.20:6803/1501] exists,up 76ca3ce8-5f01-4272-835b-796881f27f8a9 {9 |3 c" X/ X) s
5 P9 |: ]" x0 s' y3 y - , d9 ]/ Y! ?- t* y! n7 j4 r3 q/ i+ C7 B
$ b* V! t4 p* J7 Q c6 Hosd.3 down out weight 0 up_from 0 up_thru 0 down_at 0 last_clean_interval [0,0) exists,new' E# ~. }1 S; K3 O( C3 a! D% U
$ G9 d5 W; J9 |
) d) k" p& w4 x1 l/ o. ` S
4. 查看OSD目录树
" w8 L, E* t* E0 Z/ N( B7 E1 A+ G8 U6 @
[root@node1 ~]# ceph osd tree( U+ l+ j* S8 R2 ]
" |# i k" j; e. |
1 i' E1 x* E" F1 ?2 U! l
' ^; y+ ]. d' S1 _* hID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF 7 T6 G( F6 t2 d+ y- s% \
3 h) ]" N& O. W3 O- 6 p, F& h& l# w8 _
8 q) G( }0 g! p( W+ l+ p0 [; [$ V
-1 0.78119 root default 4 R$ P+ h3 \# A9 `) b
M$ r7 N( z6 i8 W5 d1 s2 T! f
) G `! r( K+ y. X; v1 \/ s2 T: x& W# h4 m. x0 F9 G
-2 0.78119 rack rack 3 b0 j6 S' b! [# P
& I0 p9 \6 A; L5 d$ m
- 5 Q; V7 E4 \6 J+ T
7 e$ k, w5 v. f1 w$ p* i! C2 e-11 0.19530 host node1 , x9 ]0 m* {1 q* R+ ]$ Z! e
7 d- n# [, a% n8 Y
- . l, T" |8 n2 h y" V" ?
# @4 j2 K' {% ^: i
3 ssd 0.19530 osd.3 down 0 1.00000
9 B3 q0 R$ t4 F4 U" @- S3 _: f- a/ ?" N8 o' q1 s' Q' W5 w
, U% f$ y- V5 ]% }3 x6 F. `) x( ~# W* p$ q! K
-3 0.19530 host node2 ; {" W& y! l4 x) `/ V
3 V5 [$ J5 x f5 x$ r6 f
- 4 w6 {: O4 ]0 M1 E& o) {5 W
# C; X5 I6 f- G5 e3 ?: I6 U g) w
1 ssd 0.19530 osd.1 up 1.00000 1.00000
5 K. \. k: c' r! V# I( `8 U0 s' l# I/ `$ |- h& r4 s
7 @0 N- z. h! N" E
$ x `3 S# p* U -4 0.19530 host node3 % n& W1 F0 X8 J1 Z7 B1 n9 D
8 G4 ], m8 H6 \% Z+ W- z x
7 O0 L# S; t% n# G. w4 P
! w1 ^4 U' m i ~+ P4 ]- y; ?, A 2 ssd 0.19530 osd.2 up 1.00000 1.00000
Q2 J; {! {# ^' y3 H
& s9 D! O6 {$ W( X; [' a: P# h
$ F+ K% V# H" W% a3 A3 y. `8 _( f" B0 n( `1 U# }7 |
-5 0.19530 host node4
3 ^. t* s" o% g# C- d4 l( F, p! _( q: G0 o5 T; T
- : u" x1 s4 ]. Q! J
e. y2 L1 O/ A" M3 g
0 ssd 0.19530 osd.0 up 1.00000 1.00000
- b. p5 T! B4 F9 i
0 n, V- [' S# {9 b0 @# R- d, G
9 n$ L8 w- o+ Z% e! A- U
5. 下线OSD - : A0 ? g) i# A9 ~* {
: m# K, L i: R$ p#让ID为3的osd down 掉,此时该 osd 不接受读写请求,但 osd 还是存活的,即对应down in状态# q8 ~+ X! ~3 s7 x/ K+ W
P. P$ P0 F) q4 Y
- ; l; j" x( f& u* y! V2 F
+ n5 O, D2 | v; F2 ]
" [# @ f: i4 a; ?
/ k# E. _8 V6 t* N
' S, P/ W! i! B+ x
* a& ?, I6 |: r[root@node1 ~]# ceph osd down 0 q( ?, ?5 c" U y' l) y2 _
3 d4 Z6 R( t& k5 H
0 T' s1 {+ m9 a- I: f% x1 Y6 V4 f8 c3 d3 h
% v4 L, M7 `3 R, M; R9 K5 V
: b& I8 t* {6 y1 T9 ]; V5 A
7 N# v, U, x: ?* q& U8 | H1 n) u! `+ c: @
[root@node1 ~]# ceph osd tree
, Y! z9 D! p2 Y( Z5 `1 g+ R( e% K0 T# t4 H0 T
- 8 O0 p4 C: ^3 I- [ h( O# t
7 u4 l& l2 Z. {) WID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
: q% r) }7 E! Q% @/ [# }3 Q5 ^. A$ J1 Z/ P) B
5 c2 @, f/ K, ~' H" W* M* M- s' n1 r4 x
-1 0.78119 root default
+ Q! U, g3 C/ G1 P0 e
/ M" ]2 D* p- v% L) x, m; F
4 C+ N9 q* K2 c) @) R3 f* b" {" L" t, ?" r" E( u
-2 0.78119 rack rack 3 o, x0 K1 x! T: |
; L. s2 D$ z+ y+ I4 O
& S% r# J6 W7 }, S7 a: g2 n
0 |) r3 K' l* ~' S" y-11 0.19530 host node1
: ~ n0 s# Y1 [4 d5 G' D* H$ l4 W6 T. d- g( q- Z6 d- j
- - r$ R* k, R' |' d* y4 w# X# t5 x
; f6 A' Y3 M: V$ p3 Z9 h 3 ssd 0.19530 osd.3 down 1.00000 1.00000
: I% i! y B! N% L/ D
% l% `+ A/ `4 m
( H; Q: q; r* u2 j2 ]" V
) L+ o; S1 G1 A( |$ s9 k+ B -3 0.19530 host node2
. W* m1 U% O8 n3 }( Q
6 n+ Q$ o/ j3 A" m/ V) ^" g
5 Z! f5 B1 X* C+ g* f) c2 v% y K) T
1 ssd 0.19530 osd.1 up 1.00000 1.00000 ' L8 B5 Y3 y% p1 p1 Y
) q; s6 B) M0 E2 M4 h2 M& K6 A
- 9 W9 v5 T( P' O) G
* N+ `/ p! b( M8 f5 Y
-4 0.19530 host node3 % K$ f9 S3 F7 L6 t$ b" x" H* u
: Z* N5 X2 X" a( h
2 I/ \$ U5 h7 Z4 i
0 [$ ~& R. J9 a% ]7 { 2 ssd 0.19530 osd.2 up 1.00000 1.00000 7 S/ C9 X1 c0 u9 } ^) [
0 V7 z5 f/ T% U# j }
0 Z- I) g. _% f' u
5 n% Y5 r; H. r+ {/ j) w5 Y# O -5 0.19530 host node4 1 G6 o# p' Z" H$ m& F. t
( T# m6 d4 z7 q& ~ q! @
- ; r- b+ M8 W! G) S8 J+ @- O
9 X- u" Z4 i, p
0 ssd 0.19530 osd.0 up 1.00000 1.00000
: H* w' w: o+ L
" w) m: |% `3 z: e& y) X$ f
# f8 T9 k: ]' Z1 Y( f) ?) ]
5. 上线OSD - 7 K* ]8 I s, m) }* B, a
( j" y/ x3 C, X7 |. r* [7 S
#让ID为3的osd up起来,此时该 osd 接受读写请求,对应up in状态, D4 d2 m* G) x" R$ ]
9 {7 c1 X% h' C; X* ^% r6 P+ r5 k
; t) a0 s" r; K4 S' \0 K+ f% _# Z' _; P9 G3 d0 b. |( c8 s" U8 W
8 B; B% J% j& Q% C
2 V( |9 v, ]. E; b; A. @4 A% |
! `1 B' x# I( j0 V+ y0 w
) y- H" u% N6 R, B5 O4 ?[root@node1 ~]# ceph osd up 3+ b/ ~, h% Y: T' t7 U$ N3 ?' y5 {
1 R& O, L/ ?1 N1 O$ {
- 5 Y, z+ g' G- L! e
$ i9 ]' n% { c2 ?# k
$ H/ R" c8 p/ L
( S8 L- f9 F$ E2 Y2 G
/ M9 g* W3 e% G3 ~) K
" ^8 M: q, P( Q4 t3 T0 R/ C[root@node1 ~]# ceph osd tree
% s$ S* }+ c. `/ `" E
$ q* L9 n8 c8 D$ Q, B- 4 O; M9 q* E9 J( L; L" w& r
$ X: ^3 [* _* b( E2 Y6 nID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
/ q5 e j1 m+ S" C. ^( L# g0 y5 O8 W. a$ Y1 o
- . a/ o0 O4 O7 }
# u0 n$ ?( L# B& P, i -1 0.78119 root default : X8 S' W4 C$ }+ B T
( Y+ A& I1 N- Q' C: l* H
" q4 O" Z0 X6 s5 S# E" U# {2 m* ?- l6 z6 ?2 o$ e
-2 0.78119 rack rack . r* Y# G/ L9 s* K8 z3 p
, [! Z' z" u. k) s
* T) r' } F' ]' D* P* ]. L: r8 O! D! d
-11 0.19530 host node1
$ N4 R9 A9 a; p7 Q3 Z* C( B0 {4 z7 E
, o |' x8 [; ^$ q. D4 {- : c! m% E) k7 w
0 [/ E9 b0 b4 r1 f3 r' j! \' |
3 ssd 0.19530 osd.3 up 1.00000 1.00000 $ D7 d- u" J0 B; S
' G1 r0 }9 s$ p; B; a& Z! i - 9 j) F9 a6 t$ z- m+ [ b( L# ^
& x6 _6 |: Q/ ~
-3 0.19530 host node2
" H; |$ V- Q+ D4 f; G5 z& {6 u' S+ w) J: t; W( q& k
- % Y" C n6 \) n) R% z1 Z
) `; K6 O9 o) }0 g7 }$ F 1 ssd 0.19530 osd.1 up 1.00000 1.00000 # _3 V, H7 e# w6 k# ~& r% J7 I
6 m7 J" x* V) u! A7 t - ) h- [3 `' S" H: b8 I) z1 E/ F
, y0 i5 z* A1 E4 ]+ `) s/ { h -4 0.19530 host node3 , ^- \3 U9 B: G0 l7 Q
d4 O+ p' w% Y. V5 _: U
5 n& Z. u$ u+ \0 a. j% ~7 Z4 ^$ o [0 W6 C2 n
2 ssd 0.19530 osd.2 up 1.00000 1.00000
7 H+ v: o3 m( b7 T% z6 {% `. V, K7 e9 r, }7 q: g
/ {* ?. [8 v j4 F- \' H+ b r! j+ T& Y+ }1 P2 s
-5 0.19530 host node4
# a0 r/ y: u7 ^6 q* w' g8 E
) r; S5 Y. S' l6 o2 }2 V* h7 g$ w
/ f% v8 P6 v. |" b" J7 ]! c/ z, w% }7 I5 H( X
0 ssd 0.19530 osd.0 up 1.00000 1.00000 9 I1 m: F7 F7 c, i- E
0 [# S' D0 C* K2 I( t; H# v* Y1 {/ n
% a2 t0 C+ S4 v) S& L
6. OSD踢出集群 - # \0 s- @9 V4 D
: N; E+ m+ O' ?2 C$ p* u- K& r# |#让ID为3的osd踢出集群,对应down out状态
: n, X5 p* z3 q& Z8 O) a
2 c3 j9 J# o& P Q - 4 J' a/ V( }7 H, a' e! E
5 _1 l- z; z3 x O) k' m
7 H! c- ^" e1 F0 f9 s; I |2 p+ v+ L+ u6 W. J6 _- I5 M
- 7 {( w; q% P# o- \
}6 D& [3 s, X# n7 s. ~% m[root@node1 ~]# ceph osd out 36 Q; L- R3 w. u
2 B" {; v6 M; o
m5 B! G: y: H! V. `! Z
7. OSD加入集群
0 l Q& ~% b6 K) m+ w \1 u% i) ]6 t$ v' T T
#让ID为3的osd加入集群,对应up in状态,即上线一个OSD& U( K Y9 ]7 O! [7 h
' ?2 A s/ t+ l" n
) T! l$ E" G; l$ m/ H
, U( R- ?* g. q5 x" x
! v" ?- s6 a: r/ w
% X$ E2 s. h8 j' K& a/ y* D _& {- : j- e9 X; D# G1 R3 B
" ~7 ~4 k# M) { d9 q
[root@node1 ~]# ceph osd in 3) _0 h/ A/ O; E3 V/ {
. i! b/ T" W0 Q' b/ D* a$ W" n
8. 删除OSD - / m7 R* n4 S( l
. |, ` e" _9 |4 r+ x; I" i, A4 R#在集群中删除一个OSD,需要先停止OSD,即stop osd( g5 l3 J, O. R/ V/ \" Y3 U
6 k' C$ ]% c( K* j7 \/ G
4 N/ Q/ `4 y/ V2 @3 B' L5 I/ @6 A2 b7 l( E
! _, [5 ^' K& ~( R: a1 I. c: k% m, D' s8 F$ ?/ H$ h
6 U* G' W2 p5 k" B! q
; U: {' v( i* r0 l* o[root@node1 ~]# ceph osd rm osd.3
( P5 D' U! [' @4 k8 x: O2 L' ~; B9 m& i$ H! S: r! r
6 S/ J. n$ I3 n
9. 从crush map中删除OSD - ) G' R6 y0 V8 w, {
2 ^. q2 z: ]& f3 ^9 I5 c" e
#在crush map中删除一个OSD+ s2 Y; }& y* G8 Y
+ b9 a- h) h0 V" o3 v
9 R' W B0 D) P+ N0 x( @: `, A- u% v
& T* D; _4 f0 B) ?
/ I3 A8 v) N. \3 ^ f) X% y# T! l
( c* z5 M! D9 O& \+ _9 W) o$ W+ t2 D+ r$ u; k8 E4 H0 n
[root@node1 ~]# ceph osd crush rm osd.3! f. Y. f8 c; ^' s& o7 Z: H P9 R( }
2 ~6 X; M& L( e2 Z3 `) X
4 g8 L, O; O7 k" E U0 D1 u
10. 删除host节点 - & S7 T6 ]4 B- X
+ Y. X. u. N3 p, w% {$ O* v#从集群中删除一个host节点
- r* U8 F |/ X. F3 m4 Q0 _! d
m" a b6 b; g$ m; A. E - ) i3 \* Q& e2 m: l# Z; a3 u
3 V8 S+ {7 q8 P4 t, R# L
' D$ C& @5 Z$ q B G0 a/ M0 {8 l# ?* n1 N* r9 `& T( j# S
- 2 I3 ?" e( }' m8 Q- w# }
4 b# o: `( Y5 F) T6 T6 r& e[root@node1 ~]# ceph osd crush rm node1
9 v4 |/ F1 M B9 h0 b6 }2 T8 i, Y! R3 w9 @/ E
1 I b" Q. @; V3 C, m' d: {
11. 查看最大OSD个数 - . e$ V7 i* A7 K/ Y+ q- a' @0 K
9 {9 e0 I& T9 r# L( z: d. d
#查看最大osd个数,默认最大是4osd节点- P9 D( S0 t, `6 q) f
4 N' b6 M2 V4 o, l- g/ Y" U - ) V. k+ s7 n, D! x3 f4 W
" @- O5 }8 A* y; p6 v8 b5 ]
2 j2 p3 l' A5 S1 ^6 D' Z- h* v F2 y4 j' L
, z2 e& G8 E' V% b7 f1 \6 t
6 Y9 z+ U# q$ E5 H1 B[root@node1 ~]# ceph osd getmaxosd
; L6 y1 y$ p0 e8 k, p( _ P% u. Z4 H P6 k- B( n" ^
5 K$ t* _' w, Z+ Q; v& l+ k
12. 设置最大OSD个数
- p, @2 w* S# L7 h: Y; [9 e
! N8 x8 ?" Q9 @$ x Y% I#设置最大osd个数,默认最大是4osd节点2 g( g3 s" u. {0 Y! q
& w9 Z' X2 D. Y* B+ c- b
- ) [% a1 q- S$ ~ s/ ]: I, I
* K9 n; x* M3 u4 T5 N+ `+ \% u2 g+ G) m5 {" H r
' e+ M* h1 m4 c; B+ Z9 p' F# B - 3 j) G' A+ [! W" w$ [
) }( v( h' U& }1 y z1 J1 ~; B/ ^[root@node1 ~]# ceph osd setmaxosd 60
3 e; `/ X2 ^$ k7 J: u- L* p+ H3 [; j! B1 V
+ c* n4 Q+ a( u @' q5 h
13. 设置OSD的crush权重 [root@node1 ~]# ceph osd crush reweight osd.3 3.014. 暂停OSD - * `: T6 A/ ?7 d4 \+ P ?1 M! e
$ Z d- z: k) n4 d: B% N#暂停后整个集群不再接受数据
6 f0 L1 ~. b: w" W$ O- g; _
0 q2 Y( a3 s: m, q. Y0 ^
$ c |3 L& W( [6 O# f: V9 g) N2 z9 k& R
O7 r1 ?/ l0 ~& C
# L) p. u* D) l& i- 6 u) i8 S$ j1 @5 F- p' z+ p
% |; |/ X0 Z8 @6 S
[root@node1 ~]# ceph osd pause
# Z. G: k$ G+ {1 E+ x& Y, R; t! I( B/ |
* b9 h& l, }7 X4 [9 |0 n" L! ^- w
3 J' k. p7 W; ]- z
15. 开启OSD
4 {$ T3 ~/ e$ c! L6 y+ \: t# c3 k' Q4 D- E* L
#开启后再次接收数据
5 d; C4 Q( ~3 a6 r& F5 s" X+ H
1 [( M9 ^& O+ J4 y, y# E) \) a
, o' ~3 [( r9 b" i+ ?
+ d/ O* m$ {; ^( c1 Q8 n7 W
( z$ u7 K! d1 }0 G
6 s! H9 T" Y' j. Q7 G" z- 6 L" u6 x; {( y5 D6 O1 b$ p
* A w* w2 v# W* j1 ?- r[root@node1 ~]# ceph osd unpause q# ?/ m2 a( n
/ B/ ]+ C2 b4 B6 f6 o" p
! O; h4 S! ?6 G5 S) l$ n# V
16. 查看OSD参数 [root@node1 ~]# ceph --admin-daemon /var/run/ceph/ceph-osd.1.asok config show17. 查看延迟
5 Z0 W% D. _; L+ j
; I( `) { I3 P# ~) q) P# 主要解决单块磁盘问题,如果有问题及时剔除OSD。统计的是平均值 u/ X; Q. m& C b" f2 P
/ ^2 _/ [ K5 A- N) O4 `
; |, |3 X6 |7 T& Q2 I
3 ?' a( D" g, ?# commit_latency 表示从接收请求到设置commit状态的时间间隔
* k. u3 x/ m8 m* t: T1 V# {; x ]1 V1 B/ i+ ^4 o/ \# A
4 A6 x1 J8 ]# ?; G3 ~+ G, L' Y" x" K0 B) s) W- x
# apply_latency 表示从接收请求到设置apply状态的时间间隔/ }. z, B1 W/ D/ k, A2 X& v
" w1 {( ^+ E0 J5 T
9 C& o+ n/ b6 d$ r( I) n7 h" A) T9 U- U: @* V3 X6 E* N
- P M8 d2 a5 {8 L( H3 _# E& N
' P+ U& c! g; n% `) B8 T
L( L/ o; T0 @4 @% W5 p) W- {9 R- r/ H' S7 l# c
[root@node1 ~]# ceph osd perf4 ^1 g9 N7 g6 ` |( U6 [( W0 X
# i& p9 v- w8 R- , u. k+ T! T3 y
5 P* L+ S& w/ v0 S: j& Y, V# k
osd commit_latency(ms) apply_latency(ms)
6 t# ]+ j6 Y8 ?; b( ]. u# N
9 k5 U% {- h& [/ O2 R' z
' H! H, n' W5 r% ~3 p6 N9 b) U5 ^5 x: V& p
3 0 0
0 A- |( Z$ {* `/ X; q
+ L6 P0 B, [; H: t* V
% o1 P! X \5 T) t$ h8 e D& v3 K# d4 a, k2 a
2 3 3 , k( ]1 c7 e: V5 _ k6 d
# c2 x" m9 }+ x- 9 K {3 v( G, x- c; L( L6 d% z% `3 N& i" n
: P0 U- x! k, F- d' q' R 1 4 4 2 P! F6 }$ D9 B6 k' u; r3 z
6 D$ Y" l5 K) `) w; W; K3 q+ l - 3 Y; d q4 G- r: E' O) y1 h+ }9 \4 L
" Z/ Y# z. s( `7 `# U' @
0 3 3 ; ]* S1 F" ^6 h
U; r7 e6 V; W7 ^4 R7 E
: \+ y9 g( ?; X
18. 主亲和性
' S4 f Z6 K: s! g0 J2 f! H% N
( P( I0 a% p& [# Ceph 客户端读写数据时,总是连接 acting set 里的主 OSD (如 [2, 3, 4] 中, osd.2 是主的)。
( K6 ^( G% A1 t
# a# o( Y) P- C- F$ N% \0 b- % k, l4 _* @& e9 Y) v& T9 G
1 m/ \- R8 Q1 M$ ?6 P. Z2 E3 v# 有时候某个 OSD 与其它的相比并不适合做主 OSD (比如其硬盘慢、或控制器慢),最大化硬件利用率时为防止性能瓶颈(特别是读操作),3 I, R) K/ o3 o- U5 {* G
4 [+ z5 I7 o0 U1 y) e3 O
$ O2 K' n3 v* |/ u; x! W7 V" Q5 J. c/ G& W: ]3 I
# 你可以调整 OSD 的主亲和性,这样 CRUSH 就尽量不把它用作 acting set 里的主 OSD 了。
( q0 P& F1 w; \- m$ O+ ]5 T/ U* @7 P2 T6 S5 ^9 d4 N
- & f/ L( _& \' Z
0 s8 A4 H2 R8 |2 b7 i( M0 S6 u2 e! Y7 ?& u1 I
! r& p! I; p0 m$ {1 n - $ H8 r. h! {+ M
( [+ {9 s- G) ~#ceph osd primary-affinity <osd-id> <weight>
A/ ~* t$ C' w" e+ G9 g
: x v$ r0 `' R7 Q0 q - ! f. y, A$ q c
& R7 D0 e) ]8 h4 S3 o9 l0 p5 t
- k, e& T6 n" C; ^. W9 j0 _5 e$ c" d) Z2 e! y9 X6 p
- # e9 {- i9 X: p6 z; K% M
" ^7 \+ |8 A6 y[root@node1 ~]# ceph osd primary-affinity 2 1.0, h& c0 S; l- f7 n7 L6 T
- I# z& P: C& }$ x
( s n( ]7 O$ s5 |) l2 |, M% R3 _" l( I+ F
8 ~( J* r9 @2 F0 b6 [# V, _' l! e2 w# X1 w. t3 E. k
- 5 t' w: q- @* m# C. @
, I& g) C% ]1 j2 H/ L# S
#主亲和性默认为 1 (就是说此 OSD 可作为主 OSD )。此值合法范围为 0-1 ,其中 0 意为此 OSD 不能用作主的,#1 意为 OSD 可用作主的;此权重小于 1 时, CRUSH 选择主 OSD 时选中它的可能性低
' I+ y; R2 Y8 }4 |, h0 |( r T: A! A( Z5 p! R6 ]% Y. {
* w& L; o% ~3 P2 }2 v& `$ W
19. 查看osd对应盘的利用率 - 1 m( {, g/ t' \* t3 N# x6 ]
% ]4 I/ `1 M a
[root@node1 ~]# ceph osd df' X/ j3 k5 X5 Q9 A7 q
, B6 u3 A0 }/ x8 P
$ u' m% u& Z7 d7 Z/ G; `2 m1 J8 B+ t ?1 \5 u; P$ i" x A
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS
% z1 W- F8 d0 E1 F+ ~ j" _
- _9 B' V& ~+ R4 i. Y: ]- 5 C" I1 j1 B, ^6 h
& _0 M3 j6 p- J0 c
3 ssd 0.19530 0 0 B 0 B 0 B 0 B 0 B 0 B 0 0 0 down 9 K/ K. Q$ q9 w4 S4 r3 |3 [( |
8 U( H/ D8 H* K+ ^9 d8 U4 l
- % e, V7 l y! l' M. P* Q
' ?0 `/ B& V( z* C! b: _' G m 1 ssd 0.19530 1.00000 198 GiB 43 GiB 39 GiB 39 KiB 1024 MiB 155 GiB 21.88 1.01 189 up ' Z( G+ H( d; |* q
* {1 r' i, A/ I% n/ L
- " s5 { |/ b; s9 Y
; @8 u5 ]4 e* S' I1 f0 ?* j
2 ssd 0.19530 1.00000 198 GiB 43 GiB 39 GiB 48 KiB 1024 MiB 155 GiB 21.60 1.00 191 up " ^+ z5 _, f$ ]2 U; J) M: `0 g
7 Z! Z. p( |+ b) w4 I, x+ ?
/ a+ v5 U" u% g- i1 [& ~5 B' s" I4 J: U
0 ssd 0.19530 1.00000 198 GiB 42 GiB 38 GiB 41 KiB 1024 MiB 156 GiB 21.20 0.98 188 up
7 Z5 P4 e. N/ b$ X1 b# R0 m4 L4 p
7 n! M8 l# \& T, @$ q; q
: ]. @8 e# x) T+ q; H6 r) u6 o y
* ^2 k' c+ S% x& B1 Z; D TOTAL 594 GiB 128 GiB 116 GiB 130 KiB 3.0 GiB 466 GiB 21.56
E h% B' `% \( B% h( a& U% u- t5 q
1 r6 H5 g2 b* B) `- 6 B8 s" Y- T6 S7 f5 u# d
5 F% v1 ]0 @' U7 E! Q5 a! W4 sMIN/MAX VAR: 0.98/1.01 STDDEV: 0.28- w' d* z O4 w0 @
. m7 l6 b+ Y, u( ^; n
1 s2 s3 T* _& g" K9 n8 h* t
20. 提取crush图
( T P0 K7 W8 [8 o" J
. ]" N3 u3 f L% i# 提取最新crush图
9 |1 W) ~* Z/ B/ @1 y
; B! S9 o# s; H; X" D
[. R7 a y! w6 i1 d: U( c0 H: N! S, ~
# ceph osd getcrushmap -o {compiled-crushmap-filename}
5 m. ^( \( L% Z
0 Q2 t( g$ g; z2 e2 r$ \- 0 m2 d" S& t* O5 U' d! Z3 @
- U& N0 X7 u) A% q; `' j: `2 [6 y9 E
7 F. X2 Y) d2 a: e - # N+ }3 U [ r0 O8 R1 w' ^
$ S( C5 R& X- h' J0 Z Z! ?
[root@node1 ~]# ceph osd getcrushmap -o /tmp/crush
8 L9 N: |' P2 \1 T
" T- O: m/ }% S! {; @6 @ - ; `: K9 a+ V# J. {6 P
0 l* @& b; B' n: A$ O2 X+ a
, z6 y( \* z& g) [3 k: }8 p0 U$ E. `% o
- ) P9 g- b) i' o2 ?8 H( m$ g$ B8 |5 `( b
8 C1 w3 H F8 T4 _+ z- t0 a
# 反编译crush图8 Z3 E9 D% D% f$ k8 k7 ~
" F, c! ]' ? L# C
- ; Y4 J" C9 c2 I! Q+ r
! ]* b4 s& s! y
# crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename}) q! J& {, }* I- Z7 z% f7 D
) x5 `2 D( {, k( y% H o( N: }
- 6 a+ g+ r, d3 P5 L9 Y3 B
* z1 L1 s2 S% i9 q1 l7 ^
[root@node1 ~]# crushtool -d /tmp/crush -o /tmp/decompiled_crush. @. t2 r3 a* _6 r' _4 S- \
: R* _7 ^& b6 L7 W4 C2 S1 ]
& Y2 C4 Q: f3 y4 h! ~
21. 注入crush图 - / e9 a+ }/ p: U& t" Z; |
6 Z. C8 k. j9 Q7 Q#例如修改故障域host为osd,需要提取crush图,修改故障域,然后注入crush图
+ ~ y1 U4 e$ ~% R
, }5 _' x. h* R l# Z; O - - m2 k' [8 s8 m, D* r% u8 Z& i
! W" A2 h% e" G3 b
1 u8 L" {) `2 O0 P1 [+ y9 e
- F( d8 |2 x5 }! A: V- T
' b+ h3 X. z3 d! P' R+ W7 y8 S: X r: o5 h5 k: n s5 a
# 编译crush图
5 P& S3 [* z% F! w8 n/ T2 R2 i3 T( v6 |1 G
- 6 a4 K6 P" c+ b" ?4 Y7 R
: I- ?8 F! `7 N# crushtool -c {decompiled-crush-map-filename} -o {compiled-crush-map-filename}
) G7 m% t' F9 V) ?( n9 l- O
3 ^9 J* b7 Q% w5 J/ P# Y
6 G5 J" R6 M5 f2 T; P' i7 P8 ?4 i- }$ |" d, W
2 [% ~, f6 B8 t' Z9 e2 _
+ W' A' G! w/ D2 E3 R& Q
5 ? D0 @ ]: H- L: ?. N
, d/ r" m+ h4 u: ?[root@node1 ~]# crushtool -c /tmp/decompiled_crush -o /tmp/crush_new
. y' {& a1 c$ o
! x" A5 o7 w: T' k, j3 U- . t& W3 G5 Z) b( B
- u2 v" S' Y. ~& E L! x H( ?
: f$ ?. r5 y( @* ?+ L
9 d! j" N5 @; b# u0 T7 O1 t0 ~$ n
2 {8 e/ ^- m8 [7 c1 u2 K" y# _; Y2 [ n
#注入crush图5 t2 r+ Q8 l9 j
, r. O2 ] ~) W7 o- # P. c: y( \- ]' f
, B0 m2 i+ ^5 B* n8 V/ o# ceph osd setcrushmap -i {compiled-crushmap-filename}
' k# l6 g, C) ?2 _4 g& M, z% L8 ^ Q( h2 A3 \: w4 x0 L
0 [ D4 |7 X* L
2 Y* M+ | a8 `3 f ][root@node1 ~]# ceph osd setcrushmap -i /tmp/crush_new4 s3 ?( ?! C/ ^) x
+ }; Y6 h7 o* H4 K& A; y; W4 v R" x9 k! o# j0 X% |
22. 停止自动均衡 - 3 I: k E8 z/ [
# d5 `9 V0 a- z( v+ Q8 W, s" G! k9 b" L# 在集群维护过程中,如果某一个机架或者主机故障,而此时不想在停机维护osd过程中让crush自动均衡,提前设置为noout5 ^. o) t) ~9 U U9 u
4 }2 _7 |. n# B2 A8 F
) [ p0 {; p+ _4 h+ k9 R/ v% w4 i3 ~" r
+ D! ]! v9 S& t1 z% y
8 p7 \1 O( ]; \) A1 {% C- " B5 l5 M2 F7 y0 ]9 [+ q
. y' p3 U/ }7 w& T V |[root@node1 ~]# ceph osd set noout/ O( S* |( e9 Y/ i8 r* B
# B2 T6 U8 B3 [2 q# C
4 o8 F+ {! B1 [( y- @- A
23. 取消停止自动均衡 - & }1 E. {, f* c$ V
9 u: {8 u2 i1 L b1 b# 取消停止自动均衡/ h( B4 h: d* ~. e/ |, j$ U5 h
4 k2 D) v- x6 z4 T: D - 2 q J9 m! d$ Y' I, ~! o
) E+ N2 W& C1 z3 U: s3 G+ L0 {3 o2 E `2 R# i
! o& N, D5 R3 _3 y1 e
- / ~" p0 W: n$ B% c
& E7 x% _3 [# G# t6 T' N8 u; E: E+ B
[root@node1 ~]# ceph osd set noout
( F% C8 q+ s, M! D! F- ]) p M6 E* C, y5 g* s# w) H: U0 A& G
; n' @; w1 ]2 a
24. 删除OSD的痕迹 - 7 d; @8 a+ q, I- g) E8 ~
! w" q( W! O, y) e6 w$ L/ g# 删除OSD的所有痕迹,包括其cephx加密秘钥,OSD ID 和crush map entry
1 a. l) l: ~/ Z9 l! w* e# z+ N6 \1 @3 C" x; [; o9 r, _. w
; E& M# c$ i: V" n6 F1 j4 O; q: i3 F6 i" o: h2 `! j
: T L" |0 F5 J! M. q1 F. n- V3 A. F# \( c% |( x
; f& U: i$ y" m {7 c" a) @$ H3 Z6 v B7 f7 M" M
7 z$ q- T* H+ `3 c% w
1 e' d9 `% L- b+ j/ _5 d5 K$ b- & X C H- ~! l8 Y5 I i" k m
# U6 p7 \( z/ A6 P, r+ s3 u
ceph osd purge <osdname (id|osd.id)> {--yes-i-really-mean-it}
) l: n+ J! v3 A1 g& b% B I0 w" M! J* H4 G4 a8 H
- # i3 ], W2 C! ]
9 F; M f: e% z1 U9 P! d* \. o
- K0 e% S# a0 e' J
[& O# x: M# K- s8 r2 e0 J/ m h
; k; S7 a& E0 p, ^5 |4 x- r/ Q2 d
' W* g/ W* ?! x$ x8 ]6 o" Q- ][root@node1 ~]# ceph osd purge 1 --yes-i-really-mean-it
& j& X/ \% O# Z+ H" F; N! k( m0 c7 D$ `: t7 E% A5 e; i1 t
* T+ ]2 P7 ^% w+ F
' @/ `- Z8 y$ P6 } p1 X# V. M
& K' K6 P: I5 O* a' W/ O
0 T9 v6 y2 u) h' u; i2 _: F
U7 Z2 C, V* l4 b3 L+ y- o此时osd已经不在集群中0 i: W3 ~! O" }! y/ ]( u
+ t: q, W0 Q; c6 L( p2 o# Z1 X; Y7 l% f- & a6 U: V2 u6 q( a; X
; w0 G' x, X8 L! l4 `7 a) l- U" c
+ e, L; R' x- V; l) [
! N9 M( f( D8 D3 ~
- 1 Z4 }! _! | Q6 B. S* S$ M3 }
& C) L' h( q" g1 w! H" V# a[root@node1 ~]# ceph osd tree
# Z, F: P2 V9 Z9 p$ F* }5 u+ d1 z. ^) ^2 Z% J# v }
- 1 D0 W% L9 K( s g- V% d
{; e" B3 i U -1 0.04799 root default+ K+ n+ |4 d, \, V2 {; m
* L: N0 q3 X0 m* X* W
( D$ l2 K1 N/ W5 E7 y" o
+ R' K6 S2 ?. a/ @& T -2 0.00999 host luminous0% `7 s) g( E0 [; |
' J1 Y' m( Q3 g$ O" d- + J; z4 a, f8 N R0 @( v
5 n! q0 Z& L T8 U$ L: ]
5 0.00999 osd.5 up 1.00000 1.00000- X+ K6 P1 G. `6 ?
3 ^ w+ T5 z* h6 m
( w l, z' o3 k! c9 T4 R* @/ b8 a: f1 ?! j) D
-3 0.01900 host luminous2. a7 a6 ^1 x7 k j3 x' R L$ ?
5 w7 I% _2 D( F" @5 l: z& v, S! Q
- : J* j/ u+ L3 ~3 b8 N; y; I' p5 g
' g! j8 b: s$ f% r* ~7 m' o1 _
0 0.00999 osd.0 up 1.00000 1.000009 q% J, i& w; }, C- {1 j' R
# ?" V; z$ ^. K1 |; t2 d/ T
- + F( S$ N/ Z q/ c$ Q; e
0 d$ o7 L1 A6 ]* j8 Y 4 0.00999 osd.4 up 1.00000 1.00000
# W! J. g4 k$ i
6 s! M: E) f8 S2 l0 S, H
: Y" U. k. o8 a' e& q: T% R/ `- e- b, S' m: x3 Y
-4 0.01900 host luminous14 u7 c$ I, a0 ^* {, C
. O5 f N) |* L! J( q( g$ I
- ; v! Y/ k. x$ |/ a
' C9 r/ ?4 W# C5 ?" [- _
2 0.00999 osd.2 up 1.00000 1.00000
4 R. F4 f- ]( B7 f( A0 N. U" e9 u" k; [: P
- u& i9 @0 K: w4 I+ I8 Z# Y: m1 }
5 O( Z( J) e) l% G8 @
3 0.00999 osd.3 up 1.00000 1.00000
' J' M( q6 K7 ]& @- _
8 m6 s8 J- L! G1 S+ g5 Z
$ j( Q. y* Q. o# c; q \7 q; f: D
: `8 C* v/ S$ l, O3 K2 ~ ~1 K) `1 n9 U+ o8 _
|