[CentOS] SATA RAID Cards

Sat Jun 17 17:52:29 UTC 2006
Troy Engel <tengel at fluid.com>

WipeOut wrote:
> 
> Which SATA RAID cards work natively on Centos 4.x??
> 
> I have heard that the only one supported is the 3ware cards but not sure 
> if that requires a driver to be added or if it just works out the box.. 
> Also would like to know of alternatives..

I am running a 3ware 9500S-12 card in our backup-to-disk server, and 
while it does work out of the box with CentOS4 the driver complains of 
strange errors. I have chosen to use the official downloaded driver 
package from the 3ware website; the resulting .ko is much larger in 
size, so I assume there's a lot more goodies in there. (mini HowTo below)

The throughput numbers aren't the best (I'm running two RAID5 hardware 
configs, one of 6x 250gig, one of 6x 400gig) but the tools 3ware 
provides are top notch! There's a commandline tool tw_cli that allows 
full control of the card (including battery backup) and they even have a 
webUI tool that is very, very nice. Free downloads, and you can even 
upgrade your firmware from the cmdline in CentOS.

I couldn't be happier with the product, I don't need insane write speed 
for this machine.

-te

===

[My mini howto, more of notes-to-self]

A kernel upgrade requires recompiling the module for the new kernel and 
making a new initrd file.

Example: new kernel version 2.6.9-34ELsmp

1) backup RPM module:
    cd /usr/src/
    mkdir 2.6.9-34ELsmp
    cp -a /lib/modules/2.6.9-34ELsmp/kernel/drivers/scsi/3w-9xxx.ko 
2.6.9-34ELsmp/

2) change dev link so new compile uses the new kernel, while still
running the old kernel (see 3ware Makefile):
    cd /usr/src/
    rm -f linux
    ln -s /lib/modules/2.6.9-34ELsmp/source linux

3) compile new module
    cd /usr/src/3ware/<version> (i.e. /2.26.04.007/)
    make clean
    make
    chmod 0755 3w-9xxx.ko

4) copy new module over stock RPM one and depmod
    cp -a 3w-9xxx.ko 
/lib/modules/2.6.9-34ELsmp/kernel/drivers/scsi/3w-9xxx.ko
    depmod -a 2.6.9-34ELsmp

5) backup original initrd, make new one with new module
    cd /boot/
    cp -a initrd-2.6.9-34ELsmp.img initrd-2.6.9-34ELsmp.img.orig
    mkinitrd initrd-2.6.9-34ELsmp.img.new 2.6.9-34ELsmp
    (ls -l to see that new initrd is slightly larger now, safety check)
    mv initrd-2.6.9-34ELsmp.img.new initrd-2.6.9-34ELsmp.img

6) reboot


-- 
Troy Engel | Systems Engineer
Fluid Inc. | http://www.fluid.com