After several days of playing around with FakeRAID on Ubuntu, I decided to scrap the install and start over using software raid instead. Originally I had went with FakeRAID because I wanted to share the RAID partition between Windows and Linux. Software raid partitions however are only available to linux, so that would have excluded Windows. By the third or so day or attempting to setup a dual-boot on FakeRAID however I decided the need to have Windows running on RAID was not that great– thus, it was time to try Soft RAID.
Since my data was already backed up from before, I did not need to worry about salvaging anything from my drives and simply wiped them clean. So here is what I have:
- Western Digital 320GB SATA 7200rpm
- Maxtor 300GB SATA 7200rpm
- Maxtor 160GB SATA 7200rpm
Using the Ubuntu 7.04 Alternate Install CD, I follow the steps from a useful tutorial I found on setting up software RAID. At the partition set-up step, I created two 280GB partitions of type “physical volume for RAID“, one on each of the ~300GB hard-drives. I then created a 2GB swap space following the 300GB partition on the first drive, and then left the rest of the free space on each drive empty (I figured later I could use it for another OS, or for a shared NTFS partition). The 160GB drive with Windows was left alone.
Everything during the partition step worked fine– I used the “Configure software RAID” command to setup a RAID array using the two partitions, and set that to be my “/” partition. Problems arise only after all of the system files have been copied to the hard-drive, and the installer is attempting to Install GRUB. The screen flashes red and displays some error message along the lines of “Failed to install grub on MBR, would you like to chose another partition?” No matter what partition I attempt to install to however, GRUB will not install.
Eventually I give up and head back to the forums / Google to see if I can find a solution. A hint came in the form of a guide on Ubuntu Forums. The author suggests that for a RAID-0 setup, GRUB must be installed on a separate boot partition. So I wipe the two drives once more and try again.
This time I do things slightly different. First, I create two 512Mb partitions at the beginning of each of the ~300GB hard-drives to use for a /boot partition (Actually, I only plan to use one, but decide to create similar partitions on both drives so that the RAID partitions will at the same location). Furthermore, I decide to only use 250GB of each drive for the Raid partition. I’ve decided to install two more operating systems, Fedora 8 and Debian Lenny, which will occupy the remaining space of each drive.
This time the install runs successfully and GRUB is installed on the /boot partition on the first hard-drive. Ubuntu boots fine, as do Fedora, Debian and Windows. My only remaining problem at this point is getting Fedora and Debian to recognize the md0 (software RAID) partition. After some messing around, I’m able to get Fedora go mount the md0 partition however I still have no luck with Debian. I decide that the performance gains (which I haven’t noticed really) are not worth all of the trouble I’ve gone through, and would surely go through in the future as I modify the system and try out other distros.
So in the end I decided to ditch the software RAID and install Ubuntu on a normal ext3 partition. I’m sure It would have been possible to get everything running well, and have Debian and Fedora working with the software raid partition, but you have to understand that by this point in time I’ve already spent the greater part of the the past three or four days Installing and troubleshooting RAID partitions. There was also the fact that Windows would not ever be able to see anything on the RAID partition. Perhaps if the performance gains had been more phenomenal I would have been tempted to stick with mdadm, and work out the kinks. They weren’t though. If you are just going to be running Linux alone, or perhaps with one other system, then Linux Software RAID might be worth the effort to install. Anything more elaborate however though I would just stick with traditional partitioning.