|
|
问题背景:在一个物理节点上,两个做成单盘raid0的osd数据盘,直接拔掉两个数据盘交换插槽位置插入。发现系统无法识别到硬盘了。再把两个盘拔出,只将其中一块插回它原先的插槽位置,发现依然无法被系统识别到。
. B/ J) L: } a5 f" Q8 Y0 H
+ t& y, [2 x- g' i登陆到发生该问题的物理节点环境,先使用如下命令查看raid卡上的所有物理硬盘设备情况:
. I% _" b% M7 |
& d' Q0 H& ], w6 z6 h! {/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll -Nolog | grep -i -E 'state|Slot\ Number'+ w8 N- e6 D. l5 K) a" t4 D( S3 b! C1 C
/ H5 v7 S0 W4 \% R+ d3 A
' ~' h/ H! ^/ A0 {$ V& ], b0 M0 m4 U; j
主要观察每一块物理硬盘的Firmware state属性,发现有一个插槽位置的硬盘Firmware state: Unconfigured(bad)。说明插入的硬盘已经被raid卡识别到了,需要重新进行配置,让该盘上线,才会被操作系统识别到。
/ W1 N/ e' j: D4 \
" H. o* z* u7 J" d {3 U; M问题解决:
$ m* B" A Q* v3 n1 j; w1 ?7 v) D9 X) \& X9 U
1、使用如下命令将硬盘的Unconfigured(bad)-> Unconfigured(good):
: ^( P0 L$ L' m* q+ J
' _$ C& B" e. h) O. W/ M/opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -Physdrv "[252:5]" -a0( A3 T" r# ^: V+ U+ o/ k' b5 S
) J* _2 [9 F, M+ h# ^
/ p& [, A, D$ r# W' F( H9 b, v$ s* N+ o% ~2 y- F
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0 #查看所有磁盘信息0 D9 ?' w5 e+ |/ Q! ]" W+ G7 p) \
[252:3]:252为raid卡的Enclosure Device ID,5为硬盘的Slot Number,-a0表示物理节点上的第0号控制器。这三个参数都可以通过查看raid卡上的所有物理硬盘设备命令得到。# s/ t* i0 Q" F9 V0 s
+ }. S, j f: X- L' Y; X
2、使用如下命令将Foreign State:Foreign状态的硬盘中的raid信息倒入到raid控制器,可以直接上线:
+ j. y0 S* B- W
7 ^3 ?% v9 O1 w7 @& I, c& U/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -Import -a0
" i" P) V: k* j# b7 p/ W" M& x5 C& g6 o y& b
! M* b9 k2 u/ v+ Q
' Z. z2 B c5 c/ a0 ~3 ~0 s) y
|
|