MegaCli对Unconfigured(good), Spun Up的外来磁盘修复
admin2024-08-14 10:14:48Linux运维
#过滤查看状态
/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'