|
|
问题背景:在一个物理节点上,两个做成单盘raid0的osd数据盘,直接拔掉两个数据盘交换插槽位置插入。发现系统无法识别到硬盘了。再把两个盘拔出,只将其中一块插回它原先的插槽位置,发现依然无法被系统识别到。2 `+ y" F9 d. J' a; Q" H! D6 o
~3 j! B/ R! ^. a7 s
登陆到发生该问题的物理节点环境,先使用如下命令查看raid卡上的所有物理硬盘设备情况:
" v1 {$ Z+ C7 }; F' ?
% K4 ~1 T5 h( d/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll -Nolog | grep -i -E 'state|Slot\ Number'
7 v0 A" T: ~: q
" L: j( b! r) `& l& Y
2 h5 o3 O/ C5 S
7 z$ c; y; e }; l主要观察每一块物理硬盘的Firmware state属性,发现有一个插槽位置的硬盘Firmware state: Unconfigured(bad)。说明插入的硬盘已经被raid卡识别到了,需要重新进行配置,让该盘上线,才会被操作系统识别到。
6 `$ D7 [1 m. `5 v5 q9 N$ `2 h# ~6 m: g% }1 p) K
问题解决:
4 w/ z' |, \; T( \ v
9 c8 A9 w3 a! h& y% x, R/ `1、使用如下命令将硬盘的Unconfigured(bad)-> Unconfigured(good):
0 t) Y& ~3 A1 Z8 k% Y$ q5 D/ f& F R6 e
/opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -Physdrv "[252:5]" -a0
/ |6 Q3 y- Y& Y J3 o: g! Y- B L' w
) a- y2 D P: o, X! L. Z5 n m% f+ Y9 }
( C' _( f; L& f, r: ^1 v! F/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0 #查看所有磁盘信息4 s8 `5 n" @9 o' u6 e2 N
[252:3]:252为raid卡的Enclosure Device ID,5为硬盘的Slot Number,-a0表示物理节点上的第0号控制器。这三个参数都可以通过查看raid卡上的所有物理硬盘设备命令得到。
4 R, B( E8 M( H) I g1 V! L' ]# p- T( ?3 d# e O
2、使用如下命令将Foreign State:Foreign状态的硬盘中的raid信息倒入到raid控制器,可以直接上线:
, N# e" D9 V$ ^1 A
3 U) i7 B$ f' {, r& n9 s/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -Import -a0 \6 r3 Z1 V" @9 P
. _5 @6 g* G. }
. o: i* {( @9 C! `
- t0 a) g3 ]0 r( S' [ |
|