Hardware raid controllers on Linux

Posted on Sat 09 April 2011 by Pavlo Khmel

1. For "HP Smart Array 5i/6i Controller"

$ lspci -m | grep RAID
02:02.0 "RAID bus controller" "Compaq Computer Corporation" "Smart Array 5i/532" -r01 "Compaq Computer Corporation" "Smart Array 5i"
# or
02:02.0 "RAID bus controller" "Compaq Computer Corporation" "Smart Array 64xx" -r01 "Compaq Computer Corporation" "4091"
# or
04:00.0 "RAID bus controller" "Hewlett-Packard Company" "Smart Array G6 controllers" -r01 "Hewlett-Packard Company" "Smart Array P410i"

Package:
hpacucli-8.0-14.noarch.rpm
hpacucli-8.70-8.0.noarch.rpm (need GLIBC_2.3.4)

Install:

rpm -ivh hpacucli-8.0-14.noarch.rpm

Verify status:

hpacucli controller all show config detail | grep Status

2. For IBM SystemX MegaRAID

$ lspci -m | grep RAID
01:00.0 "RAID bus controller" "LSI Logic / Symbios Logic" "MegaRAID SAS 1078" -r04 "IBM" "SystemX MegaRAID SAS 8808E"

Packages:
Lib_Utils-1.00-08.noarch.rpm
MegaCli-8.00.40-1.i386.rpm

Install:

rpm -ivh Lib_Utils-1.00-08.noarch.rpm
rpm -ivh MegaCli-8.00.40-1.i386.rpm

Verify status:

# Get OS bit
uname -m
# 32 bit
/opt/MegaRAID/MegaCli/MegaCli -LDInfo -LALL -aALL | grep State
# 64 bit
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL | grep State

3. For IBM SAS1064ET (LSI)

$ lspci -m | grep SCSI
0b:00.0 "SCSI storage controller" "LSI Logic / Symbios Logic" "SAS1064ET PCI-Express Fusion-MPT SAS" -r08 "IBM" "Unknown device 03a7"

Packages:
mpt-status-1.1.6-0.el4.i386.rpm

Install:

$ rpm -ivh mpt-status-1.1.6-0.el4.i386.rpm
$ lsmod | grep mptctl
$ modprobe mptctl
$ lsmod | grep mptctl
mptctl 64713 0
mptbase 121349 3 mptctl,mptsas,mptscsih
scsi_mod 196953 8 mptctl,scsi_dh,sg,usb_storage,mptsas,mptscsih,scsi_transport_sas,sd_mod

$ echo "/sbin/modprobe mptctl" >> /etc/rc.local
$ cat /etc/rc.local

# Verify status:

$ /usr/sbin/mpt-status -s
vol_id 0 OPTIMAL
phys_id 1 ONLINE
phys_id 0 ONLINE

4. For ServeRAID 8k

$ lspci -m | grep RAID
04:00.0 "RAID bus controller" "Adaptec" "AAC-RAID (Rocket)" -r02 "IBM" "ServeRAID 8k/8k-l8"

Package: ibm_utl_aacraid_9.10_linux_32-64.zip

Install:

unzip ibm_utl_aacraid_9.10_linux_32-64.zip
# Get OS bit
uname -m
# 32 bit
cp linux_32-bit/arcconf /usr/sbin/arcconf
# 64 bit
cp linux_64-bit/arcconf /usr/sbin/arcconf
chmod +x /usr/sbin/arcconf
# Verify status:
/usr/sbin/arcconf getconfig 1 | grep Status

5. For ServeRAID 7k

$lspci -m | grep RAID
08:0e.0 "RAID bus controller" "Adaptec" "ServeRAID Controller" -r07 "IBM" "Unknown device 028e"

Package: ibm_utl_ipssend_7.12.14_linux_32-64.zip

Install:

unzip ibm_utl_ipssend_7.12.14_linux_32-64.zip
# Get OS bit
uname -m
# 32 bit
cp linux/ipssend /usr/sbin/ipssend
# 64 bit
cp linux64/ipssend /usr/sbin/ipssend
chmod +x /usr/sbin/ipssend
chmod +x /usr/sbin/ipssend
# Verify status:
/usr/sbin/ipssend GETCONFIG 1 | grep Stat

Additional

hpacucli tool

List all controllers:

hpacucli controller all show

List arrays on controller in slot 0:

hpacucli ctrl slot=0 logicaldrive all show status

List physical drives on controller in slot 0:

hpacucli ctrl slot=0 pd all show status

Summarized status:

hpacucli ctrl slot=0 show config
megacli tool

RAID1 without reboot (IBM ServeRAID-MR10i SAS/SATA Controller)

Download and install megacli tool:

rpm -ivh Lib_Utils-1.00-08.noarch.rpm
rpm -ivh MegaCli-8.00.40-1.i386.rpm
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll

List disks before adding physical disks:

$ /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll | grep -e "Enclosure Device ID" -e Slot
Enclosure Device ID: 252
Slot Number: 0
Enclosure Device ID: 252
Slot Number: 1

Insert physical disks.

List disks after adding physical disks:

$ /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll | grep -e "Enclosure Device ID" -e Slot
Enclosure Device ID: 252
Slot Number: 0
Enclosure Device ID: 252
Slot Number: 1
Enclosure Device ID: 252
Slot Number: 2
Enclosure Device ID: 252
Slot Number: 3

Display virtual drive information before creation RAID1:

$ /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 135.972 GB
. . .

Create new RAID1 array:

$ /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [252:2, 252:3] -a0

Adapter 0: Created VD 1

Adapter 0: Configured the Adapter!!

Options:

-r1 = RAID1
252 = Enclosure Device ID
2 and 3 = Slot Number
-a0 = Adapter %D

Display virtual drive information after creation RAID1:

$ /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 135.972 GB
. . .

Virtual Drive: 1 (Target Id: 1)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 557.861 GB
. . .

Find new disk name in operational system:

$ tail /var/log/messages
#or
$ dmesg |tail
. . .
sd 0:2:1:0: Attached scsi disk sdb