|
|
5.配置ceph状态标志位
; N: J3 \6 C) q0 T: B2 W; m目标主机:存储控制节点
2 [$ v4 Q/ l3 d% c/ u; |, w; ?( N( K执行以下操作命令:
1 ?1 J# K& t+ uceph osd set norebalance
& Y+ |/ D' \) U( Cceph osd set nobackfill8 ^- x+ s) L4 w4 }5 U% p
ceph osd set noout4 R% \- x/ v& M8 `& h5 G) w! [
ceph osd set noscrub$ _- D K$ K( |0 f) |
ceph osd set nodeep-scrub
& ?3 a5 }; e: ^" o) ]' N6.移除损坏的osd
" `5 B; g) V: B- I9 s$ K目标主机:存储控制节点8 V u; t$ [5 x9 D8 K# Q& x/ j
替换 [id] 为需要移除的故障 osd id,此处应为osd.207
f' m! W! u0 _ceph osd crush reweight osd.[id] 0( {) t4 B4 V; s7 p! N' D
ceph osd crush rm osd.[id]8 W9 Q) w) U" x v) O7 z
ceph osd rm osd.[id]
' c( A+ Y' e! o5 r) m' _ceph auth del osd.[id]# c+ o2 A- T G
ceph osd crush reweight osd.207 0
- u1 @1 _* X) C1 | i9 gceph osd crush rm osd.207
+ N. J( J0 `) L9 G! Q9 oceph osd rm osd.207" E/ E5 w, z6 R+ p* A
ceph auth del osd.207
/ [! i9 Y. c8 j% d9 t7.卸载该OSD对应的磁盘
3 W* ?" i( s5 `+ ~# b# L7 t目标主机:需要处理的存储节点' X2 F- ]' g" O( n
umount /dev/sdj1
) p* @9 J& \+ x6 p# U: X8 H如果该磁盘已无法识别,则检查目录有没有异常挂载(目录信息为“???”),存在则执行卸载目录操作。
9 [; x- l; y0 T% Vll /var/lib/ceph/osd/
' M" M# n) n4 U( s! ?1 Iumount -l /var/lib/ceph/osd/ceph-207
6 i3 ]8 s! Z( Y# |如步骤3图所示,该盘已经无挂载信息,则不需要操作。
* g$ _8 ]4 s4 J0 T8.更换损坏硬盘
) Q+ \. h* r L& \此步骤可以直接更换硬盘,不需要对存储节点(服务器)进行关机;如果需要进入raid卡配置,则需要关机重启,不会影响现有集群,更换完成后启动服务器。: D: S1 s) _" n9 h. C
9.检查日志盘分区权限4 }- \8 A8 Z2 ^+ Y/ V
ls -l /dev/sdb3
& f4 A) w) s2 K+ Y3 |- t此处日志盘分区为步骤3查到的对应分区,权限应为ceph:ceph,若不是,则需要手动修改权限,否则osd服务启动不成功。
. i2 O* ]( v" b2 ^% Pchown ceph:ceph /dev/sdb3
- D p0 p- k8 Y# ?+ j2 M1 G7 r. g1 d7chown.png
" p! p P9 }1 `6 c Z6 P+ s# h10.重新添加osd节点新硬盘至集群0 p7 w5 Z7 Y; U& D% K" c
方法一:在mon节点使用工具添加。
$ W$ X4 T$ t: F' s目标主机:mon节点/ x, F5 u$ f: O! ~9 e# W
ceph-deploy --overwrite-conf osd prepare [hostname]:[数据盘]:[日志盘分区] --zap-disk' q- V5 a! C! N- O$ J
ceph-deploy osd activate [hostname]:[数据盘分区]8 X! o( ^# c: ~$ D( u
本文应执行如下命令4 s) E" F: a0 d1 b" t* G# `
cd /root/ceph-cluster
4 r# @: b9 v6 w8 D9 L' Lceph-deploy --overwrite-conf osd prepare hdzwy1-osd-172-16-0-63:/dev/sdj:/dev/sdb3 --zap-disk& S! ^" t7 D" h& R" [
ceph-deploy osd activate hdzwy1-osd-172-16-0-63:/dev/sdj1
8 a( ?2 M1 f# _ f方法二:在需要处理的存储节点直接添加 z6 L9 \5 \; N) A8 F, d
ceph‐disk prepare [数据盘] [日志分区] ‐‐zap‐disk ‐‐filestore
; y/ S+ N! T+ ?6 V8 E6 O. e) a- ]# p Rceph‐disk activate [数据盘分区]
+ ^# f1 r3 B+ i9 x8 P本文应执行如下命令:
" M8 H3 y$ T5 G+ S7 [3 G5 Zceph‐disk prepare /dev/sdj /dev/sdb3 ‐‐zap‐disk ‐‐filestore6 B1 x5 K9 d- t
ceph‐disk activate /dev/sdj10 u9 v5 \& F( }: i6 p
11.检查ceph集群状态: X4 _$ j( H4 g1 u, B5 ^
目标主机:存储控制节点
# @3 T& [& ~9 Q- h+ d4 I/ Cceph -s1 k: L* z" d" T+ I
加入OSD的2分钟内,会进行PG的remap操作,remap到新OSD上的PG会处于 peering状态,无法对外IO,故会对部分虚拟机造成慢请求。& h |; `: O+ Q' A
如果处于peering状态的pg数量未减少,且慢请求一直持续,请执行回滚操作
( l( J! r6 S+ Q7 x- H2 L* F4 N12.移除 ceph 状态标志位: V8 W, I& i, M: L9 u
目标主机:存储控制节点 s$ i, K/ ?, z y9 w5 i; \
确认需要添加的 osd 添加完成且 pg peering 全部完成之后,执行以下操作
; Z3 H8 C0 p; R2 V2 sceph osd unset norebalance& t% q$ s9 ?- W( \
ceph osd unset nobackfill
# i* g; t" \7 X* @) @! s6 v$ `0 r13.移除剩余ceph状态标志位$ U: X" J# [, r+ |' |
待集群所有 pg 状态恢复为 active + clean 之后,执行以下操作! x* {9 ]3 w, t, \" D1 [8 q
ceph osd unset noout& s3 x" B5 s. [" p. h" g& ]; I
ceph osd unset noscrub
0 ]+ ~* L" k' K9 Lceph osd unset nodeep-scrub( e N, E# c, w% \0 q. U! }
至此,ceph集群更换osd结束。
5 f( K: x: t% m5 Y/ U9 K |
|