|
|
问题背景:在一个物理节点上,两个做成单盘raid0的osd数据盘,直接拔掉两个数据盘交换插槽位置插入。发现系统无法识别到硬盘了。再把两个盘拔出,只将其中一块插回它原先的插槽位置,发现依然无法被系统识别到。
! C5 S B: f" J C l s& a1 R% y3 P2 A
登陆到发生该问题的物理节点环境,先使用如下命令查看raid卡上的所有物理硬盘设备情况:
% ]% p: ^0 _9 Y9 V' }( `5 R* @3 [# ?: Q! b8 t; I6 L, F1 w
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll -Nolog | grep -i -E 'state|Slot\ Number'" M. }; {: ]& n8 N" n. x
0 V: z+ d& q, P3 y* b2 |, H) |
4 S4 `9 Y7 j( C9 {+ ?& p& y, C9 w
主要观察每一块物理硬盘的Firmware state属性,发现有一个插槽位置的硬盘Firmware state: Unconfigured(bad)。说明插入的硬盘已经被raid卡识别到了,需要重新进行配置,让该盘上线,才会被操作系统识别到。0 D) r& u9 Q% E
/ l8 X0 G; a! q% d8 C. [8 e
问题解决:2 p$ L5 }- K6 G' w f+ K8 k
( J! i& S1 ~. |6 C* y3 x1、使用如下命令将硬盘的Unconfigured(bad)-> Unconfigured(good):+ W6 G+ I7 ^1 E6 ]8 _1 u6 R
. a, [' O( v7 u6 r* L0 I" p
/opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -Physdrv "[252:5]" -a0
+ \/ Y/ z; r4 H2 J/ ^8 t& Z; P
+ o$ O- y: _) F& J- V3 q) T8 n" c! K8 \1 p% H0 c5 `
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0 #查看所有磁盘信息
# m, t% K J5 S' A3 b# S; {[252:3]:252为raid卡的Enclosure Device ID,5为硬盘的Slot Number,-a0表示物理节点上的第0号控制器。这三个参数都可以通过查看raid卡上的所有物理硬盘设备命令得到。
; U! a3 t* @2 S# r* @+ Z
0 r* f' t1 E, y7 ~/ `2、使用如下命令将Foreign State:Foreign状态的硬盘中的raid信息倒入到raid控制器,可以直接上线:: u/ ~# ?2 B3 u! \! b$ x
7 u# C4 D' _6 ?- r
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -Import -a0
7 S/ S# v, X! C, T! i/ n' Q! F7 l1 w0 R, X" |1 W0 t
+ \$ S+ n0 |. q& B
2 N; k: Z+ f- {1 O: d* ?* \ |
|