Over the last few years, I've resorted to building my own servers out of barebones equipment for a varying number of reasons (beyond the scope of this article). One of my biggest hurdles has been deciding the storage architecture I want to use.
With the advent of the SAN, the hard drive requirements of the server have drastically changed. If I have a high powered SAN with dozens of high RPM SCSI drives that handle the bulk of the file storage, does the server need SCSI drives itself? If the server is running mostly from RAM and using the local drives for nothing other than log files and binaries, then the answer is no.
So the next question becomes, how do I keep the OS fault tolerant of a hard drive failure? I could go expensive and use a hardware RAID in the form of a card... I could go with a software RAID provided by my Linux kernel... Or I can use the BIOS RAID supplied by my BIOS...
I've tried the method of using the BIOS RAID with the false assumption that it is a Hardware RAID. If the BIOS uses four drives in a RAID 5 configuration, it has to be a hardware RAID, right? That answer is wrong!! BIOS RAID is actually a software RAID provided by the BIOS!! This is where the term "fake RAID" is derived. What this means to your applications is that your CPU(s) are spending time to maintain the integrity of your RAID. If that is the case, what's the point? I can set up a more robust array using the Linux kernel.
Here are a few points to consider if you are toying around with a BIOS RAID. When setting one up, you can only use entire disks. This means that if you use three disks in a RAID 5, that is exactly what you get. The OS will see (with an amount of work) one device of about two thirds the capacity of the three drives. If you flash the BIOS, BEWARE!! Sometimes the settings change defaults and you may have to set up the RAID again. The data may, or may not still be intact!! Also, if the motherboard takes a nose dive, you probably can't move those drives into a different server and have it work correctly. You will most likely need an identical set up.
With a Linux software RAID, if the motherboard wrecks, no big deal!! Simply move the drives into another server and reassemble the array. Another advantage is that you can mix and match different RAID configurations across the drives. This is a little hard to describe, but I can take the same three disks from above and make three partitions on each disk. Let's make a 200M, a 100G and a 200G partition on each. I can set the 100G partition on each to make a RAID5 across the three disks and the 200G partitions make a RAID0 across the same three disks. The 200M partitions don't even have to be part of a RAID. As you can see, this creates many opportunities depending on how the server is to be used and configured.
In my opinion, there is nothing better than a true hardware RAID. But when that is excessive as far as cost or the application, stick with the software RAID!!
Craig Deering
Network Engineer
Astro Shapes, Inc. -
Aluminum ExtrusionsWebsite -
http://www.astroshapes.com