DELL’s PowerEdge RAID Controller (PERC) is a special LSI Logic SAS/SATA RAID Controller and thus the LSI management utility called MegaCli also works for this controller.
For older controllers like PERC4 and PERC3 please refer to http://linux.dell.com/storage.shtml (keyword DellMgr).
MegaCli is available for Linux, DOS, Windows, Netware and Solaris.
You can get it from LSI’s website (search for MegaRAID SAS) or download it here:
http://www.lsi.com/support/downloads/megaraid/miscellaneous/linux/1.01.40_Linux_Cli.zip.
Inside the ZIP file you’ll find an RPM archive which contains the MegaCli and MegaCli64 binaries (will be installed to /opt/MegaRAID/MegaCli).
Please note:
This cheat sheet is not inclusive, but it should cover most cases. For a complete reference either call MegaCli -h or refer to the manual at:
http://www.lsi.com/files/docs/techdocs/storage_stand_prod/sas/mr_sas_sw_ug.pdf
MegaCli conventions
While there are a lot of different parameters for MegaCli, some of them are always identical. These are described here in short.
• Adapter parameter -aN The parameter -aN (where N is a number starting with zero or the string ALL) specifies the PERC5/i adapter ID. If you have only one controller it’s safe to use ALL instead of a specific ID, but you’re encouraged to use the ID for everything that makes changes to your RAID configuration.
• Physical drive parameter -PhysDrv [E:S] For commands that operate on one or more pysical drives, the -PhysDrv [E:S] parameter is used, where E is the enclosure device ID in which the drive resides and S the slot number (starting with zero). You can get the enclosure device ID using „MegaCli -EncInfo -aALL“. The E:S syntax is also used for specifying the physical drives when creating a new RAID virtual drive (see 5).
• Virtual drive parameter -Lx The parameter -Lx is used for specifying the virtual drive (where x is a number starting with zero or the string all).
Gathering information
• Controller information MegaCli -AdpAllInfo -aALL
MegaCli -CfgDsply -aALL
MegaCli -AdpEventLog -GetEvents -f events.log -aALL && cat events.log
• 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
Controller management
• Silence active alarm MegaCli -AdpSetProp AlarmSilence –aALL
• Disable alarm MegaCli -AdpSetProp AlarmDsbl –aALL
• Enable alarm MegaCli -AdpSetProp AlarmEnbl -aALL
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 MegaCli -PDRbld -Start -PhysDrv [E:S] -aN
MegaCli -PDRbld -Stop -PhysDrv [E:S] -aN
MegaCli -PDRbld -ShowProg -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: Change/Replace a Drive
1. Set the drive offline, if it is not already offline due to an error MegaCli -PDOffline -PhysDrv [E:S] –aN
2. Mark the drive as missing MegaCli -PDMarkMissing -PhysDrv [E:S] –aN
3. Prepare drive for removal MegaCli -PDPrpRmv -PhysDrv [E:S] -aN
4. Change/replace the drive
5. If you’re using hot spares then the replaced drive should become your new hot spare drive MegaCli -PDHSP -Set -PhysDrv [E:S] –aN
6. 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
Stewart Ehman
May 21, 2012 at 7:39 pm
Keep up the writing, you’re doing a nice job.