Click to See Complete Forum and Search --> : Would this be doable? (sata raid question)
RaceTM
02-27-2004, 04:24 PM
y'ello,
I've been scouring this forum as well as others for a while looking for a concrete answer to this question, but every related thread I've seen has been inconclusive so I'm hoping someone can help me out. Right now, on my Windows box, I have two sata drives in raid 0 running windows, and two ata133 drives running in raid 1 storing my important data. All drives are running off of a Promise fasttrak TX2plus raid adapter. Now this setup is perfect for me, as it meets my needs and gives me all the space I need. I've been looking for a way to get windows 2000 and Gentoo to dual boot off this setup, and be able to keep the same configuration (windows and linux booting off the sata drives, but being able to access the ata drives from both operating systems). Most of the threads I have read indicate that at this time it's not possible to run gentoo on sata drives in raid, because the 2.6.3 kernel doesn't support sata raid..however some people seem to claim success.
What I'd like to know is wheteher or not it would be possible to get gentoo installed on this configuration, and if so, how? Somebody mentioned putting a regular ata drive in their system and placing the boot partition on it..but I don't recall the details, or if it was even a sata raid setup or ide raid.
Any ideas??
Minime80
02-28-2004, 05:25 AM
SHORT ANSWER:
Yeah, you can do it. You just need to use the 2.4 kernel and get the appropriate driver patch.
LONG ANSWER:
The main problem isn't that 2.6 doesn't support SATA raid. It's that it just doesn't support it the same way that Windows does. If you can get a driver from Promise it should work fine and dandy. Since the 2.6 kernel is so new, these proprietary drivers haven't been written for it yet.
I know the promise support website has a slew of downloadable drivers for the 2.4 kernels, and the intel ICH5R chipset has the 'iswraid' driver that is also for the 2.4 kernels and I've even gotten confirmation from the guy who wrote the driver at Intel saying that it works with the windows one 100%.
The reason these drivers are needed is because if you don't have them, the partition tables for your raid array are way different between linux and windows. Generic raids in linux are actually still seen as two disks since this adds to the flexibility. You basically partition the two disks the exact same way and then combine each pair of matching partitions into one raid device. Windows (XP anyway) creates an SFS (obsolete Secure FileSystem) partition that takes up the entire device, and stores all the raid information inside which can't be read by Linux.
The ICH5R chipset is a little different. It's driver (for windows or Linux kernel 2.4 'iswraid) takes the first disk and changes the partition table to pretend like it's actually the whole raid array. So, if you fdisk /dev/sda for example it would tell you there are say 9039 blocks on this disk of 74.2 GB. Then if you looked at the partition table it would say that maybe partition1 goes from block 1 to block 10993, partition2 goes from block 10994 to block 16353...etc. This causes a lot of headaches for the 2.6 kernel... i.e all kinds of Buffer I/O errors when scanning the blocks of the raid drives... LILO won't even run anymore because when it reads the partition table of that first disk of the array (even if you're not installing it onto that disk) it gets so confused it barfs out some part_nowrite... la la la error and will just die. So now you've got to delete all the partitions on the raid array if you want to add any bootparams or anything to LILO...
Sorry, got a little carried away cause I spent all last weekend in vain trying to do the same thing... I'm a little miffed. I could always go out and spend 100-150 bucks and get a 3Ware Escalade 8006 pure hardware controller that would do the job just dandy, but it seems such a shame to have to do that when I've got two perfectly decent controllers on the mobo just sitting there.
RaceTM
02-28-2004, 08:10 PM
thanks for the reply.
Does this mean that If I install the drivers on a system with teh 2.4 kernel, i could 'transplant' the installation (the root directory, not the boot partition) to my sata array and everything would work? assuming the boot partition is on a separate ata drive..I dont see how I would be able to get the boot partition to see the linux installation on the sata array..unless there's a way of compiling third party drivers directly into the kernel?
Minime80
02-28-2004, 11:27 PM
If you have the drivers and the kernel that they're for, you can put the whole thing on the raid if you want... even the boot partition. All you would need to do is make an initrd file that LILO can use to load all the modules and drivers needed to be able to read the array.
The third party drivers actually are compiled into the kernel. You have to patch them in before configuring and compiling the kernel, after the patch they show up in the config options for you and can be compiled in or compiled as a loadable module.
The only problem is that LILO needs to be able to read the kernel which is on the array, but the kernel has the drivers to be able to read the array. That's what the initrd file is for. It's an initial ramdisk that has the drivers for reading the array in it that LILO can also read and it just loads that first and then reads the kernel since it can now read the array.
RaceTM
02-29-2004, 12:09 AM
thanks for the info
:)
do you know where I'd be able to find more info on making the appropriate initrd file and implementing what you suggested?
Minime80
02-29-2004, 12:35 AM
Here's a decent howto on Promise cards that I found. It's got a section on making an initrd and everything else. You can also try 'man mkinitrd' and read through that, or try googling it up.
Promise RAID1 Howto (http://www.faqs.org/docs/Linux-HOWTO/Linux-Promise-RAID1-HOWTO.html)
Not exactly what you're doing, but fairly close.
justlinux.com
Copyright 2007 Jupitermedia Corporation All Rights Reserved.