LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   RAID drives won't mount at boot time (https://www.linuxquestions.org/questions/slackware-14/raid-drives-wont-mount-at-boot-time-280683/)

dsp444 01-21-2005 07:49 PM

RAID drives won't mount at boot time
 
I have a file server with 1 SATA "system" drive on which I have installed Slackware 10. I also have 4 RAID'ed drives (2 RAID arrays) using the onboard Highpoint 374 controller. I have kernel 2.6.9 and I compiled the highpoint linux drivers (from the highpoint website) into a module to get the RAID drives working.

Everything is working nearly perfectly except that the RAID drives do not mount at boot time....however, I can log in and do a mount -a and they get properly mounted. Its almost like the hpt374.ko module does not get loaded in time for the mount command in the startup sequence.

Any ideas? Do I need a ramdisk to make sure the highpoint module is loaded?

The system sata drive is /dev/sda
The first raid arrray is /dev/sdb
The second raid array is /dev/sdc

At bootup - I get the following error reported to the screen:

Code:

mount: special device /dev/sdb1 does not exist
mount: special device /dev/sdb2 does not exist
mount: special device /dev/sdc1 does not exist

Here is the pertinent section from my /var/log/messages

Code:

Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 21 17:46:31 coruscant kernel: Freeing unused kernel memory: 184k freed
Jan 21 17:46:31 coruscant kernel: Adding 2097136k swap on /dev/sda2.  Priority:-1 extents:1
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda1, internal journal
Jan 21 17:46:31 coruscant kernel: scsi2 : hpt374
Jan 21 17:46:31 coruscant kernel:  Vendor: HPT3xx    Model: RAID 0 Array      Rev: 3.00
Jan 21 17:46:31 coruscant kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
Jan 21 17:46:31 coruscant kernel: SCSI device sdb: 1172229376 512-byte hdwr sectors (600181 MB)
Jan 21 17:46:31 coruscant kernel:  sdb: sdb1 sdb2
Jan 21 17:46:31 coruscant kernel: Attached scsi disk sdb at scsi2, channel 0, id 0, lun 0
Jan 21 17:46:31 coruscant kernel:  Vendor: HPT3xx    Model: RAID 0 Array      Rev: 3.00
Jan 21 17:46:31 coruscant kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
Jan 21 17:46:31 coruscant kernel: SCSI device sdc: 976794112 512-byte hdwr sectors (500119 MB)
Jan 21 17:46:31 coruscant kernel:  sdc: sdc1
Jan 21 17:46:31 coruscant kernel: Attached scsi disk sdc at scsi2, channel 0, id 1, lun 0
Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda5, internal journal
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda6, internal journal
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda7, internal journal
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda8, internal journal
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 21 17:46:31 coruscant kernel: kjournald starting.  Commit interval 5 seconds
Jan 21 17:46:31 coruscant kernel: EXT3 FS on sda9, internal journal
Jan 21 17:46:31 coruscant kernel: EXT3-fs: mounted filesystem with ordered data mode.

You can see it mounts my / partition and the swap partition
Then does the call to rc.modules at which time the highpoint driver gets loaded - which successfully finds the 2 RAID arrays.
Then the mount command in /etc/rc.d/rc.S. It successfully mounts all the partitions on /dev/sda, but does not do it for /dev/sdb or /dev/sdc - thats where I get the error messages on the screen.

My /etc/fstab file is as follows:

Code:

/dev/sda2        swap            swap        defaults        0  0
/dev/sda1        /                ext3        defaults        1  1
/dev/sda5        /usr            ext3        defaults        1  2
/dev/sda6        /var            ext3        defaults        1  2
/dev/sda7        /var/lib        ext3        defaults        1  2
/dev/sda8        /home            ext3        defaults        1  2
/dev/sda9        /tmp            ext3        defaults        1  2
/dev/sdb1        /fs1            ext3        defaults        1  2
/dev/sdb2        /fs2            ext3        defaults        1  2
/dev/sdc1        /fs3            ext3        defaults        1  2
/dev/cdrom      /mnt/cdrom      iso9660    noauto,owner,ro  0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0


But as I said before, I can log in and do a mount -a command and everything is fine.

Anything you can help me with would be nice. Thanks
Dan

gian2oo1 01-21-2005 09:21 PM

I'm not sure what's wrong, but did you try compiling the highpoint drivers into the kernel and not as a module?
Maybe the module needs something that hasn't loaded yet in the kernel? Again, I'm not positive, just brainstorming some ideas.
If all else fails, i'd just "echo "mount-a" >>/etc/rc.d/rc.local"

Good luck with it though,

--Gian

PS- I use 2.4.28 in my SATA server (its a ibm 7t card), maybe some expiramental code was added in the
cutting-edge 2.6.x series? Might be wise to check the changelog if your not satisfied w/ the rc.local idea.

dsp444 01-21-2005 09:39 PM

I'm not sure how I would compile the drivers into the kernel - I guess change some Makefiles, but that is a lot of work. I got the source code for the drivers from the Highpoint website and followed their instructions for compiling a module.

Acutally, I do have the command in my rc.local script - it works. but I guess I'm a little bit of a perfectionist and I just wonder what is going on with this.

gian2oo1 01-22-2005 07:40 PM

No, your right. I'm thinking the highpoint drivers were included in the kernel itself (I forgot you said you found the drivers from highpoint directly).

That pisses me off, that should work just fine.
I did some searching and found--somewhat--similair problems. It seems people reported SATA compadibility in 2.4 better than 2.6 (I know there was a big SATA support update in 2.4.28, but I can't see how it was omitted from the 2.6 series....) Do you *need* 2.6? If not, i'd try out 2.4.28, I'm running it on a mission critical dataserver w/ 1TB of sata hdd space and it is extremely stable. If you find a compadible driver in the 2.4 kernels menuconfig (instead of highpoints), compile that right into the kernel--not as a module and let me know what happens there. Good luck with it and let me know how it turns out.

--Gian

dsp444 01-22-2005 09:16 PM

first off - one thing I forgot to mention - the system drive I'm using is a SATA drive, the highpoint controller is an IDE RAID controller with IDE drives hooked up to it....when you create the RAID array, it still recognizes them as scsi devices. I don't think that changes anything, but I realized I didn't point that out before.


Actually, the sata.i kernel I first installed was kernel version 2.4.28. That almost worked. There is an option in the menuconfig for the highpoint chipset - it was compiled as a module default - I also tried to compile it into the kernel. Problem was, it didn't completely work, I didn't spend much time messing with it because I figured if I upgraded to a newer kerner, it would work. 2.4.28 recognized all the drives, but would not work when I tried to create the RAID arrays in the highpoint Bios. I tried to use md to create the arrays, but something still wasn't working right.

This is the main reason I went up to 2.6.10 - in 2.6.10, there is a menuconfig option (CONFIG_HPT366 maybe?) for highpoint 36x/37x drivers - which I tried to use, but it flat out didn't even recognize the drives with my setup - the module was named hpt366.ko so I think it was really for the highpoint 366 chipset, but not for the 374 chipset I had. I tried both compiling it in and as a module. Thats when I went to the highpoint drivers from their website. They work except for this one small error - which I am just going to have to live with having a mount command in the rc.local.

(PS - if anyone else reads this the highpoint drivers from the highpoint website have some "known" compile errors with the 2.6.10 kernel - the latest kernel you can use is 2.6.9)


I was pissed off for a while too, but by now I have just given up. It works, it seems to be stable so far.....so as long as that holds up, I'll just leave it alone.

gnashley 01-23-2005 12:43 AM

It's possible that the modules need a little extra time to be registered.
You might try 'sleep 3' after the rc.modules line.


All times are GMT -5. The time now is 07:34 AM.