The information below is based heavily off of a post that can be found here:
http://erikimh.com/megacli-cheatsheet/.
I am providing the information on my blog in the event that the original blog post becomes unavailable at some point in the future, as we use this information quite regularly.
1-Gather Info:Â
Controller information
megacli -AdpAllInfo -aALL
megacli -CfgDsply -aALL
megacli -adpeventlog -getevents -f controller-events.log -a0 -nolog
Enclosure information
megacli -EncInfo -aALL
Virtual drive information
megacli -LDInfo -Lall -aALL
Physical drive information
megacli -PDList -aALL
megacli -PDInfo -PhysDrv [E:S] -aALL
Battery backup information
megacli -AdpBbuCmd -aALL
Check Battery backup warning on boot
megacli -AdpGetProp BatWarnDsbl -a0
Controller management:
Silence active alarm
megacli -AdpSetProp AlarmSilence -aALL
Disable alarm
megacli -AdpSetProp AlarmDsbl -aALL
Enable alarm
megacli -AdpSetProp AlarmEnbl -aALL
Disable battery backup warning on system boot
megacli -AdpSetProp BatWarnDsbl -a0
Change the adapter rebuild rate to 60%:
megacli -AdpSetProp {RebuildRate -60} -aALL
2-Virtual drive management:
Create RAID 0, 1, 5 drive
megacli -CfgLdAdd -r(0|1|5) [E:S, E:S, …] -aN
Create RAID 10 drive
megacli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
Remove drive
megacli -CfgLdDel -Lx -aN
Physical drive management
Set state to offline
megacli -PDOffline -PhysDrv [E:S] -aN
Set state to online
megacli -PDOnline -PhysDrv [E:S] -aN
Mark as missing
megacli -PDMarkMissing -PhysDrv [E:S] -aN
Prepare for removal
megacli -PdPrpRmv -PhysDrv [E:S] -aN
Replace missing drive
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!).
Rebuild drive – Drive status should be “Firmware state: Rebuild”
megacli -PDRbld -Start -PhysDrv [E:S] -aN
megacli -PDRbld -Stop -PhysDrv [E:S] -aN
megacli -PDRbld -ShowProg -PhysDrv [E:S] -aN
megacli -PDRbld -ProgDsply -physdrv [E:S] -aN
Clear drive
megacli -PDClear -Start -PhysDrv [E:S] -aN
megacli -PDClear -Stop -PhysDrv [E:S] -aN
megacli -PDClear -ShowProg -PhysDrv [E:S] -aN
Bad to good
megacli -PDMakeGood -PhysDrv[E:S] -aN
Changes drive in state Unconfigured-Bad to Unconfigured-Good.
Hot spare management
Set global hot spare
megacli -PDHSP -Set -PhysDrv [E:S] -aN
Remove hot spare
megacli -PDHSP -Rmv -PhysDrv [E:S] -aN
Set dedicated hot spare
megacli -PDHSP -Set -Dedicated -ArrayN,M,… -PhysDrv [E:S] -aN
Walkthrough: Rebuild a Drive that is marked ‘Foreign’ when Inserted:
Bad to good
megacli -PDMakeGood -PhysDrv [E:S] -aALL
Clear the foreign setting
megacli -CfgForeign -Clear -aALL
Set global hot spare
megacli -PDHSP -Set -PhysDrv [E:S] -aN
Walkthrough: Change/replace a drive
a. Set the drive offline, if it is not already offline due to an error
megacli -PDOffline -PhysDrv [E:S] -aN
b. Mark the drive as missing
megacli -PDMarkMissing -PhysDrv [E:S] -aN
c. Prepare drive for removal
megacli -PDPrpRmv -PhysDrv [E:S] -aN
d. Change/replace the drive
e. If you’re using hot spares then the replaced drive should become your new hot spare drive
megacli -PDHSP -Set -PhysDrv [E:S] -aN
f. In case you’re not working with hot spares, you must re-add the new drive to your RAID virtual drive and start the rebuilding
megacli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
megacli -PDRbld -Start -PhysDrv [E:S] -aN
3-Gathering Standard logs
#rm –f MegaSAS.log
#megacli -adpallinfo -a0
#megacli -encinfo -a0
#megacli -ldinfo -lall -a0
#megacli -pdlist -a0
#megacli -adpeventlog -getevents -f controller-events.log -a0 -nolog
#megacli -fwtermlog -dsply -a0 -nolog > controller-fwterm.log