Tuesday, May 7, 2013

MegaCli Useful Commands

Here are some useful commands:
View information about the RAID adapter

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

View information about virtual disks

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

You could use the above commands to run patrol read in off-peak times.

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


Despites megasasctl doesn't seem to work with recent cards, you should really give it a try.

Print current controller status:

server:~# megasasctl
a0          PERC 5/i Integrated      encl:1 ldrv:1  batt:good
a0d0        136GiB RAID 1   1x2  optimal
a0e8s0     136GiB  a0d0  online
a0e8s1     136GiB  a0d0  online

[root@server ~]# megasasctl
a0          PERC 5/i Integrated      encl:1 ldrv:2  batt:good
a0d0         67GiB RAID 1   1x2  optimal
a0d1         836GiB RAID 5   1x4  optimal
a0e8s0     68GiB  a0d0  online
a0e8s1     68GiB  a0d0  online
a0e8s2     279GiB  a0d1  online
a0e8s3     279GiB  a0d1  online
a0e8s4     279GiB  a0d1  online
a0e8s5     279GiB  a0d1  online

[root@server ~]# megasasctl
a0           PERC 6/i Integrated      encl:1 ldrv:1  batt:good
a0d0         1861GiB RAID 6   1x6  optimal
a0e32s0    465GiB  a0d0  online
a0e32s1    465GiB  a0d0  online
a0e32s2    465GiB  a0d0  online
a0e32s3    465GiB  a0d0  online
a0e32s4    465GiB  a0d0  online
a0e32s5    465GiB  a0d0  online

server:~# megaraidsas-status

-- Arrays informations --
-- ID | Type | Size | Status
a0d0 | RAID 1 | 136GiB | optimal

-- Disks informations
-- ID | Model | Status | Warnings
a0e8s0 | SEAGATE ST3146854SS 136GiB | online
a0e8s1 | SEAGATE ST3146854SS 136GiB | online
[root@server ~]# megaraidsas-status
-- Arrays informations --
-- ID | Type | Size | Status
a0d0 | RAID 1 | 67GiB | optimal
a0d1 | RAID 5 | 836GiB | optimal

-- Disks informations
-- ID | Model | Status | Warnings
a0e8s0 | FUJITSU MBA3073RC 68GiB | online
a0e8s1 | FUJITSU MBA3073RC 68GiB | online
a0e8s2 | SEAGATE ST3300656SS 279GiB | online
a0e8s3 | SEAGATE ST3300656SS 279GiB | online
a0e8s4 | SEAGATE ST3300656SS 279GiB | online
a0e8s5 | SEAGATE ST3300656SS 279GiB | online
[root@server ~]# megaraidsas-status
-- Arrays informations --
-- ID | Type | Size | Status
a0d0 | RAID 6 | 1861GiB | optimal

-- Disks informations
-- ID | Model | Status | Warnings
a0e32s0 | SEAGATE ST3500620SS 465GiB | online
a0e32s1 | SEAGATE ST3500620SS 465GiB | online
a0e32s2 | SEAGATE ST3500620SS 465GiB | online
a0e32s3 | SEAGATE ST3500620SS 465GiB | online
a0e32s4 | SEAGATE ST3500620SS 465GiB | online
a0e32s5 | SEAGATE ST3500620SS 465GiB | online

No comments:

Post a Comment