Linux – How to (hardware) RAID 10 on Ubuntu 10.04 LTS with 4 drives and motherboard with RAID contoller

hardware-raidlinuxraidraid10Ubuntu

I have 4 500GB hard drives.

I set up a RAID 10 in BIOS, much like shown here:
http://www.supermicro.com/manuals/other/RAID_SATA_ESB2.pdf

Then I followed these instructions:
http://www.unrest.ca/Knowledge-Base/configuring-mdadm-raid10-for-ubuntu-910

Basically I cannot get it to work. I go through the instructions when I get to the "partition" section of the install, creating 4 RAID 1's (2 partitions on each drive, one for primary and one for swap space), then combining to make a RAID 10. Unfortunately it still shows 2 partitions, one 500 GB and another being 36GB for some reason. Any ideas?

I think best would be if anyone had found good instructions (step by step) for how to do this…I've been googling for hours and haven't found anything…

Best Answer

Your motherboard does not have an hardware RAID controller, but rather a SoftRAID one. That's basically a standard SATA controller + custom BIOS and drivers to work in raid mode. There's no cache, prefetch, parity (RAID5, RAID6), etc... it's best described as a software raid with BIOS support.

Performance wise there is no (hardware) difference between the two solutions, which one performs better only depends on their respective software implementations (md and dmraid drivers, both in linux kernel). The low level disk access will be through linux SATA drivers in both cases (ie. the kernel will see and work with the individual disks under the hood).

Whether to prefer using that or native linux software (mdadm) is another (long) story, but basically:

  • if you want to use your motherboard's soft raid you must not use mdadm but dmraid. Bonus point here is being able to boot from a RAID0 array or a degraded RAID1/RAID10 array. Could be tricky to get access to your data if the motherboard dies and you need to move to a different one.
  • if you want to use Linux software raid you must configure your motherboard controller as a standard SATA one and then use mdadm. Bonus point here is using standard and proven linux tools (md driver and mdadm utility) and being hardware-independent. You cannot boot from RAID0/10/5/6/otherfancystuff arrays, you can boot from RAID1 arrays if you do your homework right.

If you follow the motherboard's softraid way, you have to find how to create a RAID10 setup before actually installing/booting linux, as described in the manual. But keep in mind you have no true hardware raid.