Adaptec RAID array was not detected after updating the kernel

adapteccentos5hardware-raidkernelraid

Continue from this topic, the newer kernel booted successfully but it doesn't see my sdc – which is a hardware RAID array (level 10).

I'm sure the aacraid module is loaded:

# grep aacraid /2.6.34.14/init 
echo "Loading aacraid.ko module"
insmod /lib/aacraid.ko 

# lsmod | grep aacraid
aacraid                83347  3 
scsi_mod              154582  13 be2iscsi,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libis)csi,scsi_transport_iscsi,scsi_dh,sg,usb_storage,aacraid,libata,sd_mod

I've been trying to install the AACRAID driver, but got the following:

# rpm -ivh aacraid-1.2.1-29900.rpm 
Preparing...                ########################################### [100%]
   1:aacraid                ########################################### [100%]

Adaptec aacraid driver installer - V1.5

Using GRUB configuration

Configuration [CentOS (2.6.18-274.el5)]
/boot/vmlinuz-2.6.18-274.el5 -> 2.6.18-274.el5
Installing in /lib/modules/2.6.18-274.el5/updates/
Creating initrd...

Configuration [CentOS (2.6.34.14)]
/boot/vmlinuz-2.6.34.14 -> 2.6.34.14

****** PROBLEM *******
No prebuilt aacraid module for 2.6.34.14 ia32e
driver in OS may be more advanced than package
**********************

Checking /lib/modules for any remaining kernels not yet installed

Configuration [3.0.71-1.el5.elrepo]

****** PROBLEM *******
No prebuilt aacraid module for 3.0.71-1.el5.elrepo ia32e
driver in OS may be more advanced than package
**********************

***************************************
********** 2 MODULES FAILED? **********
***************************************


Done.

What can I do now to install the Adaptec RAID driver?

Best Answer

As it said: there is no prebuilt aacraid module for 2.6.34.14. If you query all the files installed by the aacraid, you'll see something like this:

# rpm -ql aacraid-1.2.1-29900
/opt/Adaptec/aacraid/aacraid.spec
/opt/Adaptec/aacraid/aacraid_prebuilt.tgz
/opt/Adaptec/aacraid/aacraid_source.tgz
/opt/Adaptec/aacraid/adpt_mk_initrd
/opt/Adaptec/aacraid/adpt_mkinitrd
/opt/Adaptec/aacraid/chk_lilo
/opt/Adaptec/aacraid/create_device_nodes
/opt/Adaptec/aacraid/grub.awk
/opt/Adaptec/aacraid/install.sh
/opt/Adaptec/aacraid/lilo.awk
/opt/Adaptec/aacraid/module.equiv
/opt/Adaptec/aacraid/read.me

then unpack the aacraid_prebuilt.tgz to verify:

# cd /opt/Adaptec/aacraid/
# mkdir mods
# tar zxvf aacraid_prebuilt.tgz -C mods/
# ls mods/ | grep 34
#

What you have to do is copy the aacraid source into the kernel tree (.../drivers/scsi/aacraid) then recompile and try again.

# mv /usr/src/linux-2.6.34.14/drivers/scsi/aacraid/ $HOME/aacraid.2.6.34.14.orig
# mkdir /usr/src/linux-2.6.34.14/drivers/scsi/aacraid/
# cd /opt/Adaptec/aacraid
# tar zxvf aacraid_source.tgz -C /usr/src/linux-2.6.34.14/drivers/scsi/aacraid/

# cd /usr/src/linux-2.6.34.14/
# make
# make modules_install
# make install

Checking the /boot:

# ls -l /boot/ | grep 34
-rw-r--r-- 1 root root    88008 Apr  4 01:10 config-2.6.34.14
-rw------- 1 root root  2794550 Apr 11 22:30 initrd-2.6.34.14.img
-rw------- 1 root root  2787541 Apr 10 18:41 initrd-2.6.34.14-withoutraid.img
lrwxrwxrwx 1 root root       26 Apr 11 22:30 System.map -> /boot/System.map-2.6.34.14
-rw-r--r-- 1 root root  1722839 Apr 11 22:30 System.map-2.6.34.14
-rw-r--r-- 1 root root  1722839 Apr 10 18:41 System.map-2.6.34.14.old
-rwxr-xr-x 1 root root 29455105 Apr  4 01:09 vmlinux-2.6.34.14.bz2
lrwxrwxrwx 1 root root       23 Apr 11 22:30 vmlinuz -> /boot/vmlinuz-2.6.34.14
-rw-r--r-- 1 root root  2708848 Apr 11 22:30 vmlinuz-2.6.34.14
-rw-r--r-- 1 root root  2708848 Apr 10 18:41 vmlinuz-2.6.34.14-withoutraid

and the menu.lst:

title CentOS (2.6.34.14)
    root (hd0,0)
    kernel /vmlinuz-2.6.34.14 ro root=LABEL=/1 rhgb quiet
    initrd /initrd-2.6.34.14.img
title CentOS (2.6.34.14 WITHOUT Adaptec RAID driver)
    root (hd0,0)
    kernel /vmlinuz-2.6.34.14-withoutraid ro root=LABEL=/1 rhgb quiet
    initrd /initrd-2.6.34.14-withoutraid.img
title CentOS (2.6.18-274.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-274.el5 ro root=LABEL=/1 rhgb quiet
    initrd /initrd-2.6.18-274.el5.img

then reboot to see if it works:

# df -h /dev/sdc1
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdc1             5.4T  4.5T  613G  89% /data

# /usr/StorMan/arcconf getconfig 1
Controllers found: 1
----------------------------------------------------------------------
Controller information
----------------------------------------------------------------------
   Controller Status                        : Optimal
   Channel description                      : SAS/SATA
   Controller Model                         : Adaptec 6805
   ...

----------------------------------------------------------------------
Logical device information
----------------------------------------------------------------------
Logical device number 0
   Logical device name                      : data
   RAID level                               : 10
   Status of logical device                 : Optimal
   Size                                     : 5713910 MB
   ...