|Version 15 (modified by 13 years ago) ( diff ),|
Table of Contents
LSI MegaRAID SAS
1. Card information
MegaRAID SAS is the current high-end RAID controllers series by LSI.
It is fully hardware RAIDs controllers supporting RAID5, at least, with SAS or SATA interfaces.
If you're a looking for information about MegaRAID SCSI connectors, please look at LSIMegaRAID instead.
All theses card can be used with stock Linux kernel which includes a working driver.
It's quite new and thus, may be missing in some not-up-to-date distributions.
There is currently no known opensource tool for theses cards.
Some old MegaRAID SAS can be used with megactl, but none of current cards works.
However LSI provide megacli, a proprietary management command line utility which is rather hard to use.
2. Linux kernel drivers
|megaraid_sas||LSI MegaRAID SAS|
megaraid_sas is part of mainstream Linux kernel and should be available in all current distributions.
However, please that most of old distributions won't have this driver.
If your card use megaraid_mm or megaraid_mbox driver, please look at LSIMegaRAID instead.
Some lspci -nn' output examples:
- 02:0e.0 RAID bus controller : Dell PowerEdge Expandable RAID controller 5 ![1028:0015]
3. Management and reporting tools
megactl includes a SAS compliant binary named megasasctl. It seems to work on old card but fails with the new one.
If megasasctl doesn't work for you, you will have to use the proprietary cli utility from LSI: megaclisas.
For managing the card there are no alternatives to megaclisas.
Despites megasasctl doesn't seem to work with recent cards, you should really give it a try.
3.1.1. Quickstart and output example
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
There are several switches which are interresting:
- -H: Only print lines which are not ok.
If nothing is printer, everything is fine
- -B: Ignore batttery problems when running -H.
In fact megasasctl can't define if your controller has a battery or not.
If you don't have one, use this parameter.
3.1.2. Periodic checks
You can write your own script around megasasctl to check your adapter status health periodically. However, I already did this for you. See megaraid-status below.
3.2.1. About megaraid-status
megaraidsas-status is a wrapper script around megactl with periodics checks.
It is available in the packages repository too.
The packages comes with a python wrapper around megasasctl and an initscript that periodic run this wrapper to check status.
It keeps a file with latest status and thus is able to detect RAID status changes and/or brokeness.
It will log a ligne to syslog when something failed and will send you a mail.
Until arrays are healthy again a reminder will be sent each 2 hours.
3.2.2. Wrapper output example
server:~# megaraidsas-status -- Arrays informations -- -- ID Type Size Status a0d0 RAID 1 136GiB optimal -- Disks informations -- ID Model Status a0e8s0 SEAGATE ST3146854SS online a0e8s1 SEAGATE ST3146854SS online
3.3.1. About megaclisas
megacli is a proprietary tool by LSI which can perform both reporting and management for MegaRAID SAS cards.
However it's really hard to use because it's use tones of command line parameters and there's no documentation.
3.3.2. Quickstart and output example
Get all adapters status and config:
server:~# megacli -AdpAllInfo -aAll Adapter #0 ============================================================================== Versions ================ Product Name : PERC 5/i Integrated Serial No : 12345 FW Package Build: 5.2.1-0067 Mfg. Data ================ Mfg. Date : 00/00/00 Rework Date : 00/00/00 Revision No : @��A Battery FRU : N/A Image Versions In Flash: ================ Boot Block Version : R.2.3.12 BIOS Version : MT28-8 MPT Version : MPTFW-00.10.61.00-IT FW Version : 1.03.40-0316 WebBIOS Version : 1.03-04 Ctrl-R Version : 1.04-019A [...]
Logical drive 0 on adapter 0 status and type:
server:~# megacli -LDInfo -L0 -a0 Adapter 0 -- Virtual Drive Information: Virtual Disk: 0 (Target Id: 0) Name:raid1 RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 Size:237824MB State: Optimal Stripe Size: 64kB Number Of Drives:2 Span Depth:1 Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Access Policy: Read/Write Disk Cache Policy: Disk's Default Exit Code: 0x00
Display, disable or enable automatic rebuild on adapter 0:
server:~# megacli -AdpAutoRbld -Dsply -a0 Adapter 0: AutoRebuild is Enabled. Exit Code: 0x00 server:~# megacli -AdpAutoRbld -Dsbl -a0 Adapter 0: AutoRebuild is Disabled. Exit Code: 0x00 server:~# megacli -AdpAutoRbld -Enbl -a0 Adapter 0: AutoRebuild is Enabled. Exit Code: 0x00
Get and modify rebuild rate:
pr57ga:~# megacli -AdpGetProp RebuildRate -a0 Adapter 0: Rebuild Rate = 30% Exit Code: 0x00 server:~# megacli -AdpSetProp RebuildRate 60 -a0 Adapter 0: Set rebuild rate to 60% success. Exit Code: 0x00