System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

RAID problem with RHEL5-AS 64bit on HP DL320 G6 (Smart Array B110i SATA)

 
SOLVED
Go to solution
alazarevich
Occasional Visitor

RAID problem with RHEL5-AS 64bit on HP DL320 G6 (Smart Array B110i SATA)

Could really use some help here. I'm trying to install RHEL5-AS 64bit onto HP DL320 G6, with RAID being a mirrored array on the Smart Array B110i SATA controller. The RAID is configured in the BIOS and seems fine. This should be easy as pie, something I've done a thousand times.

When I install RedHat, I have to use 'linux dd' to use the HP provided driver (hpahcisr...) and that works fine during the installer, the GUI disk druid during the install sees the RAID just fine, and it only sees *ONE* volume, calling it the HP Volume.

However, when the system boots after the install, the RAID is gone, and it's now seeing two drives, /sda and /sdb, and I presume it's only using one drive?:

Vendor: ATA Model: GB0250EAFJF Rev: HPGA
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write through
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write through
sda: sda1 sda2 sda3
sd 0:0:0:0: Attached scsi disk sda
Vendor: ATA Model: GB0250EAFJF Rev: HPGA
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write through
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write through
sdb: sdb1 sdb2 sdb3
sd 1:0:0:0: Attached scsi disk sdb
Vendor: ATA Model: MB2000EAMZF Rev: HPG1
Type: Direct-Access ANSI SCSI revision: 05

So, it's almost like RedHat is using the correct HP driver during the install phase, but when it boots to the system it's reverting back to the non-RAID driver.

This is so completely annoying I'm about to barf.

Anyone have any idea where to start looking? Googling produces tons of noise hits, can't find anything about this on RedHat bugzilla. (which is odd, doesn't anyone run linux anymore on HP with RAID?)

We can't use RedHat enterprise support, we are education licensed, and support costs an arm and a leg and a torso.

Any help, even a point in another direction, would be appreciated.

Thanks,

Alex Lazarevich
3 REPLIES
Matti_Kurkela
Honored Contributor
Solution

Re: RAID problem with RHEL5-AS 64bit on HP DL320 G6 (Smart Array B110i SATA)

First, is the hpahcisr driver available in the installed system? Has it been successfully loaded?

find /lib/modules/$(uname -r) -name 'hpahcisr*'

lsmod |grep hpahcisr

The installation instructions for the hpahcisr driver disk say that you should run a "fix_driver_order" script after the OS installation completes but _before_ the reboot. Have you followed this procedure?

Please see:
http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=15351&prodSeriesId=3929672&swItem=MTX-bbdbe5f6e79242939c34d0f03f&prodNameId=3929673&swEnvOID=4004&swLang=13&taskId=135&mode=4&idx=0

--------------
INSTALLATION

Once the OS is installed but before clicking the reboot button do the following.Failure to do so will cause the system to panic and not boot.

o press CTRL+ALT+F2
o cp -a /tmp/ramfs/DD-0 /mnt/sysimage/tmp
o chroot /mnt/sysimage
o cd /tmp/DD-0
o sh ./fix_driver_order
o cd /
o press CTRL+ALT_F6 and click reboot
-------------

Missing this would cause the boot to fail _if_ traditional partitioning was used, because the specified root device could not be found.

But if LVM is used, the kernel will find and activate the root VG by using whatever storage drivers it can find (probably the regular non-raid AHCI driver?) and reading the VG names in the LVM volume headers.

I don't have a DL320 G6 I could use to test my theory. But I *guess* the problem could be fixed by adding these lines to /etc/modprobe.conf, then rebuilding your initrd (see "man mkinitrd"):

alias scsi_hostadapter hpahcisr
blacklist ahci

If there is an existing "alias scsi_hostadapter ahci" line, remove it.

By the way, I (and apparently some other people in this forum) have an opinion that the "SmartArray B110i" is not a true hardware RAID and so is not really worthy of the SmartArray name. Shame on the marketroids, I guess...

MK
MK
alazarevich
Occasional Visitor

Re: RAID problem with RHEL5-AS 64bit on HP DL320 G6 (Smart Array B110i SATA)

First off, I presume more points is better? Hope so because I marked it as 10 points.

One big question remains, do I need to run that sh script every time a update the kernel? If so, that is going to be a major pain in the rear.

Anyway, that was the fix, I need to read the fine print on these linux driver installs, I hate fine print. Or better yet, when I tell disk druid to use a driver during the installation of the OS, the boot loader should load that driver FIRST on the next boot. At least for a system partition. Why the heck else would I even need that driver in the first place?

I view this as a RedHat bug. And yeah, it'd be nice to get a true hardware controller from HP.
Matti_Kurkela
Honored Contributor

Re: RAID problem with RHEL5-AS 64bit on HP DL320 G6 (Smart Array B110i SATA)

> One big question remains, do I need to run that sh script every time a update the kernel? If so, that is going to be a major pain in the rear.

Yes, third-party modules ( = not included in the RedHat standard kernel packages) are in my experience always something of a pain. Especially if they are critical for accessing the system disk.

I investigated a bit further, and it seems RedHat has a rather extensive infrastructure in place for third-party kernel modules:

http://dup.et.redhat.com/
http://dup.et.redhat.com/presentations/DriverUpdateProgramTechnical.pdf

The problem with the hpahcisr driver seems to be that it's neither simply *adding* a new driver for previously-unsupported hardware, nor completely *overriding* the existing AHCI standard driver. Both these cases could have been handled cleanly by the RedHat infrastructure.

Instead, the hpahcisr acts as a *special case*: if the disk controller follows the AHCI standard, it should normally use the "ahci" module, *but* if it's a HP Smart Array B110i, it should use this added module instead. As far as I can see, this is not easy to implement cleanly in the RedHat infrastructure. So I would not call it exactly a bug; more like hardware manufacturer doing something RedHat did not expect.

HP's installation procedure has the most minimal impact; my suggestion to add the "blacklist" line to /etc/modprobe.conf would probably eliminate the need for special actions when a kernel update is installed, but if the system contains add-on AHCI SATA controllers which are not HP Smart Array B110i's, the blacklist entry would prevent the system from automatically loading the standard ahci driver for them.

> I hate fine print.
I don't exactly love it myself, but in my experience, RTFM provides a solution for many problems.

MK
MK