MegaCLI
Informational
For checking the firmware version, battery back-up unit presence, installed cache memory and the capabilities of the adapter:
MegaCli64 -AdpAllInfo -aAll
View information about the battery backup-up unit state
MegaCli64 -AdpBbuCmd -aAll
Useful for checking RAID level, stripe size, cache policy and RAID state:
MegaCli64 -LDInfo -Lall -aALL
View information about physical drives
MegaCli64 -PDList -aALL
Patrol read
Patrol read is a feature which tries to discover disk error before it is too late and data is lost. By default it is done automatically (with a delay of 168 hours between different patrol reads) and will take up to 30% of IO resources.
To see information about the patrol read state and the delay between patrol read runs:
MegaCli64 -AdpPR -Info -aALL
To find out the current patrol read rate, execute
MegaCli64 -AdpGetProp PatrolReadRate -aALL
To reduce patrol read resource usage to 2% in order to minimize the performance impact:
MegaCli64 -AdpSetProp PatrolReadRate 2 -aALL
To disable automatic patrol read:
MegaCli64 -AdpPR -Dsbl -aALL
To start a manual patrol read scan:
MegaCli64 -AdpPR -Start -aALL
To stop a patrol read scan:
MegaCli64 -AdpPR -Stop -aALL
Migrate from one RAID level to another
In this example, I migrate the virtual disk 0 from RAID level 6 to RAID 5, so that the disk space of one additional disk becomes available. The second command is used to make Linux detect the new size of the RAID disk.
/usr/local/sbin/MegaCli64 -LDRecon -Start -r5 -L0 -a0 echo 1 > /sys/block/sda/device/rescan
Create a new RAID 5 virtual disk from a set of new hard drives
First we need to now the enclosure and slot number of the hard drives we want to use for the new RAID disk. You can find them out by the first command. Then I add a virtual disk using RAID level 5, followed by the list of drives I want to use, specified by enclosure:slot syntax.
MegaCli64 -PDList -aALL | egrep 'Adapter|Enclosure|Slot|Inquiry' MegaCli64 -CfgLdAdd -r5'[252:5,252:6,252:7]' -a0
View reconstruction progress
When reconstructing a RAID array, you can check its progress with this command.
MegaCli64 -LDRecon ShowProg L0 -a0
(replace L0 by L1 for the second virtual disk, and so on)
Configure write-cache to be disabled when battery is broken
MegaCli64 -LDSetProp NoCachedBadBBU -LALL -aALL
Change physical disk cache policy
If your system is not connected to a UPS, you should disable the physical disk cache in order to prevent data loss.
MegaCli -LDGetProp -DskCache -LAll -aALL
To enable it (only do this if you have a UPS and redundant power supplies):
MegaCli -LDGetProp -DskCache -LAll -aALL
Alarm Stuff
Enable Alarm
Alarm Enable MegaCli AdpSetProp AlarmEnbl aN|a0,1,2|aALL MegaCli AdpSetProp AlarmEnbl a0
Disable Alarm
Alarm Disable MegaCli AdpSetProp AlarmDsbl aN|a0,1,2|aALL MegaCli AdpSetProp AlarmDsbl a0
Silence Alarm
Alarm Silence MegaCli AdpSetProp AlarmSilence aN|a0,1,2|aALL MegaCli AdpSetProp NCQDsbl a0
Acknowledgements
- Shamelessly Stolen from: http://artipc10.vub.ac.be/wordpress/2011/09/12/megacli-useful-commands/