|
|
问题背景:在一个物理节点上,两个做成单盘raid0的osd数据盘,直接拔掉两个数据盘交换插槽位置插入。发现系统无法识别到硬盘了。再把两个盘拔出,只将其中一块插回它原先的插槽位置,发现依然无法被系统识别到。
w7 O% e. W6 q l0 y+ |. B0 e. b/ r
登陆到发生该问题的物理节点环境,先使用如下命令查看raid卡上的所有物理硬盘设备情况:
7 H6 O! L, G1 a8 |4 @
$ t0 B1 F C- H/ e4 _4 F4 D/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll -Nolog | grep -i -E 'state|Slot\ Number'
. b t3 }9 } Z8 \# C, U) Q. N2 r: ?" C4 s3 L9 H
- {7 \6 i* N' l: m# L4 ]0 t, `- \2 c3 E2 b' s' D! ]5 n2 @
主要观察每一块物理硬盘的Firmware state属性,发现有一个插槽位置的硬盘Firmware state: Unconfigured(bad)。说明插入的硬盘已经被raid卡识别到了,需要重新进行配置,让该盘上线,才会被操作系统识别到。- c) M* r$ {% k- c( W/ V0 ~
0 t$ t0 e3 t# \) p" w* ]问题解决:: D/ Q7 K R. [6 ^5 v" d5 I# |$ y
z6 t. Q7 _5 j: t
1、使用如下命令将硬盘的Unconfigured(bad)-> Unconfigured(good):. C' ?% U7 Q }7 U3 d/ N
' M; f. A% m" u C7 U% |4 ^) t/opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -Physdrv "[252:5]" -a0. @; v3 n, C5 N/ Y$ d7 O" o8 w
% V1 I% Q5 Q9 N& `# h
! C, ~% q8 l8 J) _+ L3 N
% C* P7 N; I& K) d/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0 #查看所有磁盘信息
1 r2 I& v* p1 D7 s[252:3]:252为raid卡的Enclosure Device ID,5为硬盘的Slot Number,-a0表示物理节点上的第0号控制器。这三个参数都可以通过查看raid卡上的所有物理硬盘设备命令得到。5 G! ]$ F7 I) u5 P- ?# X
' m: T4 ~/ ?4 W# c$ N$ k2、使用如下命令将Foreign State:Foreign状态的硬盘中的raid信息倒入到raid控制器,可以直接上线:
: e a) B9 B! ]0 A, {6 r
o, m$ r0 R3 G, v ?* H% e% b/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -Import -a0
4 H0 w; {; r) R3 c5 ~" H4 l) j! F' ~' _
5 a v0 M! r m
+ Y( B; |5 z% g$ M8 \
|
|