MegaCli对Unconfigured(good), Spun Up的外来磁盘修复

#过滤查看状态
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL -NoLog | grep "Firmware state"
Firmware state: Online, Spun Up
Firmware state: Unconfigured(good), Spun Up
#导入自动重建
/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Import -aall
#再次过滤查看状态
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL -NoLog | grep "Firmware state"

【1】查看信息
1、#查看所有磁盘的信息
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll
或者
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0

2、#查看指定的盘的详细信息(本文示例,查看0号盘,如果是1号盘,要写1)
/opt/MegaRAID/MegaCli/MegaCli64 -pdInfo -PhysDrv[32:0] -aALL

#查看Rebuild进度 (查看0号盘,如果是1号盘,要写[32:1])
/opt/MegaRAID/MegaCli/MegaCli64 -pdrbld -showprog -physdrv[32:0] -aALL

3、#查看逻辑盘详细信息
/opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL

4、显示适配器个数
/opt/MegaRAID/MegaCli/MegaCli64 -adpCount

5、显示所有适配器信息,通常注意Adapter即可
/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll

6、查看所有物理硬盘的Enclosure Device ID及Slot Number
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep 'Enclosure Device ID|Slot Number'

7、查看所有物理硬盘的状态
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep 'Firmware state'

8、查看所有物理硬盘的Foreign信息
/opt/MegaRAID/MegaCli/MegaCli64  -PDlist -aALL | grep "Foreign State"

9、磁盘[32:0]上线
/opt/MegaRAID/MegaCli/MegaCli64 -PDOnline -PhysDrv [32:0] -a0

【2】清除外来配置
当我们插入一块或几块新的硬盘时,有的时候由于这些硬盘以前被使用过等其他原因,我们在查看它的硬盘状态时,
会发现硬盘被标记为“Foreign”外来配置,如果使用是会报错的。所以,在用它们做raid前要清除外来配置。

<1>扫描外来配置的个数
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
<2>清除外来配置
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0
<3>再次扫描外来配置的个数
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0

【3】创建raid
-r :指定raid类型(例如:raid10,-r10)
WB :缓存策略
Direct:缓存策略
[32:1]:指定要操作的硬盘。如要对多个硬盘操作,用逗号“,"隔开,[32:0,32,1]

<1>创建raid0操作
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0[32:1] WB Direct -a0
<2>创建raid1操作
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1[32:0,32:1] WB Direct -a0
<3>创建raid5操作
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [32:0,32:1,32:2] WB Direct -a0
<4>创建raid10操作
/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r10 -Array0[32:0,32:1] -Array1[32:2,32:3] WB Direct -a0

由于raid10为两个raid1组成一个raid0。
上面的示例的含义为:将32:0,32:1做raid1组成Array0;32:2,32:3做raid1组成Array1,最后由Array0和Array1组成raid0。

【4】热备盘设置
当我们做完raid后,如果还有多余的硬盘,可以拿来去做热备,这样会在raid中的某块盘坏了的时候,会自动将热备盘添加入raid,保证了raid的完整性。
<1> 添加局部热备盘(array0表示第0个raid)
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP   -Set   -Dedicated  -Array0  -physdrv[32:4] -a0  
<2> 添加全局热备盘
/opt/MegaRAID/MegaCli/MegaCli64  -pdhsp  -set   -physdrv[32:4]  -a0   
<3>移除热备盘(全局和局部都可)
/opt/MegaRAID/MegaCli/MegaCli64  -pdhsp  -rmv  -physdrv[32:4]  -a0

【5】删除阵列
<1>清除当前所有的raid组的配置(慎用)
/opt/MegaRAID/MegaCli/MegaCli64  -cfgclr  -a0       
<2>删除指定的raid组(即逻辑盘信息)
一定要先查看 逻辑盘详细信息
/opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL 
注意Target Id,其代表逻辑盘的id,L +Target Id为指定逻辑盘
L0 代表第一个逻辑盘
L1 代表第二个逻辑盘
依次类推
/opt/MegaRAID/MegaCli/MegaCli64  -cfglddel  -L0 -a0 
————————————————

重要参数

参数名称含义
Firmware state磁盘状态
Firmware state: Online, Spun Up磁盘正常
Firmware state: Unconfigured(good), Spun Up磁盘已安装,但未启用
Firmware state: Unconfigured(bad)故障, 对应hwcheck的 Non-Critical
Firmware state: Failed故障, 对应hwcheck的Critical
Firmware state: Rebuild重建,一般在更换磁盘时显示
Enclosure Device ID: 32设备
Slot Number: 1磁盘在服务器上的槽位
Adapter #0适配器编号,对应 -a 参数
实战:raid10环境下替换硬盘
查看硬盘信息
$ MegaCli -PDList -aAll -NoLog

卸载故障硬盘
$ MegaCli -PDOffline -PhysDrv[32:2] -a0
$ MegaCli -PDOffline -PhysDrv[32:0] -a0
上面命令中 32 和 2 以及 -a0 的对应关系:
Adapter #0
Enclosure Device ID: 32
Slot Number: 2

替换故障硬盘
此时故障硬盘已经OFFLINE,在服务器现场查看时,故障硬盘闪烁的是黄灯,正常硬盘的绿灯; 
拔下故障硬盘,插上好硬盘,硬盘灯闪烁为绿色,并硬盘快速旋转,表示硬盘正在rebuild状态,查看状态如下:
$ MegaCli -PDList -aAll -NoLog

查看rebuild进度
$ MegaCli -PDRbld -ShowProg -PhysDrv[32:2] -aAllRebuild Progress on Device at Enclosure 32, Slot 3 Completed 16% in 94 Minutes.

磁盘更换完成
$ MegaCli -PDList -aAll -NoLog | grep 'Firmware state'
分享到:
关键词:Linux运维

网友留言(0 条)

发表评论