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 Code:
Jan 21 17:46:31 coruscant kernel: kjournald starting. Commit interval 5 seconds 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 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 |
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. |
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. |
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 |
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. |
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. |