Written by
arstercz
-
MegaCli常用参数介绍
常用命令参数:
MegaCli -adpCount [显示适配器个数]
MegaCli -AdpGetTime –aALL [显示适配器时间]
MegaCli -AdpAllInfo -aAll [显示所有适配器信息]
MegaCli -LDInfo -LALL -aAll [显示所有逻辑磁盘组信息,RAID Level]
MegaCli -PDList -aAll [显示所有的物理信息]
MegaCli -cfgdsply -aALL [显示Raid卡型号,Raid设置,Disk相关信息]
MegaCli -LDBI -ProgDsply -LALL -aALL [raid building进度]
MegaCli64 -LDInit -ShowProg -LALL -aALL [查看初始化同步块的过程的进度]
MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ [查看充电状态]
MegaCli -AdpBbuCmd -GetBbuStatus -aALL[显示BBU状态信息]
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL[显示BBU容量信息]
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL [显示BBU设计参数]
MegaCli -AdpBbuCmd -GetBbuProperties -aALL [显示当前BBU属性]
MegaCli -ShowSummary -aALL [显示所有 adaptor 的逻辑盘信息]
MegaCli -LDGetProp -Cache -LAll -aAll [显示 RAID 卡的缓存策略]
MegaCli -LDSetProp WT -L0 -a0 [修改 adaptor 0 中第 1 块逻辑盘的缓存策略为 writethrough]
MegaCli -pdrbld -showprog -physdrv[E:S] -aALL [查询磁盘 rebuild 进度, E 为磁盘的 Enclosure Device ID, S 为 slot 编号]
MegaCli -PDOffline -PhysDrv [E:S] -a0 [手动 offline 一块磁盘, E 为磁盘的 Enclosure Device ID, S 为 slot 编号, -a0 表示 adaptor 0]
MegaCli -PDMakeGood -PhysDrv [E:S] -Force -a0 [手动将 JBOD 状态的盘设置为 good 状态]
MegaCli -PDHSP -set -PhysDrv [E:S] -a0 [手动将一块磁盘设置为 Hotspare 状态]
MegaCli -AdpAllinfo -aALL | grep -i rebuild [查看 RAID 卡 Rebuild 参数]
MegaCli -CfgForeign -Import -aall [替换故障盘后可以直接导入, 新盘开始 rebuild]
MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN [The number N of the array parameter is the Span Reference you get using “MegaCli -CfgDsply -aALL” and the number N of the row parameter is the Physical Disk in that span or array starting with zero (it’s not the physical disk’s slot!).]
磁带状态的变化,从拔盘,到插盘的过程中。
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> [Jbod]|Unconfigured|Rebuild|Online
处于 ‘JBOD’ 状态的盘可以设置为 ‘Unconfigured(good)’ 状态, 更多见 megacli-jbod. 处于 ‘Unconfigured(good)’ 状态的盘, 需要手动设置为 Hotspare
状态才能起到热备的作用.
一些老机器可能不会自动改变状态, 也可以通过清理外部盘的方式重新设置新盘的状态:
MegaCli -cfgdsply -aALL
MegaCli -CfgForeign -Scan -a0 # 查看是否有外部盘
MegaCli -CfgForeign -Clear -a0 # 清空外部盘
MegaCli -CfgForeign -Scan -a0 # 再次检查
1. 可以替换并重新 rebuild
MegaCli -PdReplaceMissing -PhysDrv[32:1]] -array0 -row0 -a0
MegaCli -PDRbld -Start -PhysDrv[32:1] -a0
MegaCli -PDRbld -ShowProg -PhysDrv[32:1] -aALL
2. 也可以将盘作为全局 raid 的热备, 如果有多个 raid 组, 哪个有问题, 热备就顶哪个. 注意热备盘需要和其它 raid 的盘大小一致.
MegaCli -PDHSP -Set -Dedicated -Array0 -PhysDrv [32:5] -a0
增加磁盘创建新的虚拟设备
如果不想对现有的根盘(比如 RAID 1) 做改动, 可以增加一些磁盘单独做一个数据盘(比如 RAID5), 这种方式简单方便, 也不需要重启机器. 如下步骤所示:
查看插入的磁盘状态
如下所示, 假如我们新插入 3 块 600G
的磁盘:
# MegaCli -PDList -aALL | egrep 'Adapter|Enclosure|Slot'
Adapter #0
.....
Slot Number: 3
Enclosure position: 1
Enclosure Device ID: 32
Slot Number: 4
Enclosure position: 1
Enclosure Device ID: 32
Slot Number: 5
Enclosure position: 1
Enclosure Device ID: 32
创建新的 RAID 5 虚拟设备
有些时候, 磁盘可能是从其它机器拿过来的, 这种情况下需要清理下 Foreign
状态, 如下所示:
# MegaCli64 -CfgForeign -Scan -aALL
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
# MegaCli64 -CfgForeign -Clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
将 adaptor 0
适配器中的三块磁盘 (slot 3, slot 4, slot 5
) 做成 RAID 5:
# MegaCli64 -CfgLdAdd r5[32:3,32:4,32:5] -a0
Adapter 0: Created VD 1
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
再来查看设备信息, 如下:
# MegaCli64 -ShowSummary -a0
Storage
Virtual Drives
Virtual drive : Target Id 0 ,VD name zonheng
Size : 278.875 GB
State : Optimal
RAID Level : 1
Virtual drive : Target Id 1 ,VD name
Size : 1.089 TB
State : Optimal
RAID Level : 5
通过 fdisk -l
即可看到新的设备信息, 格式话设备后, 即可挂载使用:
# mkfs.xfs -f /dev/sdb
# mount -t xfs /dev/sdb /data
可能的错误处理
# 单独做 raid 0 的时候, 出现下面的错误, 可能是 raid 中包含该 slot 的配置信息:
MegaCli -CfgLdAdd r0[32:4] -a0
Adapter 0: Configure Adapter Failed
FW error description:
The current operation is not allowed because the controller has data in cache for offline or missing virtual disks.
# 查看该盘目前属于哪个 raid 组
# MegaCli -GetPreservedCacheList -a0
Adapter #0
Virtual Drive(Target ID 02): Missing.
# 清理 cache
# MegaCli -DiscardPreservedCache -L02 -a0
Adapter #0
Virtual Drive(Target ID 02): Preserved Cache Data Cleared.
# 重新创建 raid0
# MegaCli -CfgLdAdd r0[32:4] -a0
Adapter 0: Created VD 2
Adapter 0: Configured the Adapter!!
参考
megacli-cheatsheet
ahelpme.com/software/megacli/megacli-fw-error-description