unix

How do I check the status of a Dell MegaRAID controller or RAID array?

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

1 Comment

1 Comment

  1. Stewart Ehman

    May 21, 2012 at 7:39 pm

    Keep up the writing, you’re doing a nice job.

Leave a Reply

Your email address will not be published. Required fields are marked *

To Top