MegaCli Common Commands

MegaCli Common Commands

General Parameters

 

  • Adapter parameter -aN

 

The parameter -aN (where N is a number starting with zero or the string ALL) specifies the 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).

 

Running the executable can be accomplished by:

 

shell> /opt/MegaRAID/MegaCli/MegaCli <cmd>

 

or

 

shell> cd /opt/MegaRAID/MegaCli
shell> ./MegaCli <cmd>

 

Gather information

 

  • Controller information

 

     MegaCli -AdpAllInfo -aALL
     MegaCli -CfgDsply -aALL
     MegaCli -adpeventlog -getevents -f lsi-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      (Cisco MSPs do not have the battery backup unit installed, but in case yours has one)

 

     MegaCli -AdpBbuCmd -aALL 

  • Check Battery backup warning on boot.  If this is enabled on an MSP, it will require manual intervention every time the system boots

     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

 

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

 

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
    • Related Articles

    • Install MegaCLi for ESXi

      Download attached MegaCLi zip file: Extract the vib file from the zip and upload to the server. Install using the following: esxcli software vib install -v=/tmp/vmware-esx-MegaCli-8.07.07.vib --force --maintenance-mode --no-sig-check You will need to ...
    • StorCLI Common Commands

      Information for general use: /cx bzw. /vx stands for the Controller/Virtual Drive Number. /ex bzw. /sx stands for the Enclosure/Slot ID. Firmware Update sudo storcli /cx download file=/path/to/firmware.rom Information on the Controller and ...
    • Replace Failed Drive using MegaCLi

      Set the drive offline, if it is not already offline due to an error MegaCli -PDOffline -PhysDrv [E:S] -aN Mark the drive as missing MegaCli -PDMarkMissing -PhysDrv [E:S] -aN Prepare drive for removal MegaCli -PDPrpRmv -PhysDrv [E:S] -aN ...
    • Advantages of Systemd vs. SysVinit, Example Commands

      (This post applies to CentOS 7, RHEL 7, Fedora 21+, and recent Debian and Ubuntu-based distributions.) The experienced System Administrator will know SysVinit and the perennial init commands used to control system run levels, for example, 'init 6' to ...
    • MDADM - Common Commands

      1. Create a new RAID array Create (mdadm —create) is used to create a new array: 1 mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb2 or using the compact notation: 1 mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]1 2. /etc/mdadm.conf ...