Thursday, January 24, 2008

Which RAID Type? Hardware or Software?

After looking at all of this information I realized I do not want to lose any information after setting this server up. I started to read over different articles and message threads about RAID (Redundant Arrays of Independent Disks) I came across a few interesting ones that were helpful:

The essential RAID primer
RAID Types - Classifications

Chipset Serial ATA and RAID performance compared
Why home RAID won't fly
Sorry about your broken RAID 5
Which RAID for a Personal Fileserver

RAID 0: This is a striped set, there is no redundancy. One drive goes, everything's gone. Usable space = 100%

RAID 1: This is a mirrored set. Typically this involves 2 drives. One drive is an exact copy of the second. If a drive fails, you replace it and rebuild the set. Life goes on. Usable space = 50%. Most IDE raid cards only support RAID 0 AND 1.

RAID 5: This is a striped set with parity. You get the performance associated with a striped set. Particularly on reads. If you have 4 drives, there are 4 stripes. 3 of those stripes are data stripes, the 4th is parity. Lose 1 drive and the parity information is used to rebuild the set. Usable space = (n-1)/n. To do this in hardware is typically fairly expensive.

For a file server, I'd use the combination of RAID 1 and striping known as RAID 1+0 or RAID 10.
The benefits are that you get the same protection as with RAID 1, but lose the speed penalty, all without needing special hardware or spare CPU power for expensive CRC calculations.

With a 4 drive RAID 1+0, you'll get read performance of 2x-4x a single drive, while writes will be from 1x-2x. In theory, that is. In reality, if using a RAID PCI card or motherboard solution hooked to the south bridge, you'll most likely max out the read speed.

Anyhow, it's a very cheap solution that doesn't tax your CPU too much even if done through software (like with a highpoint controller), and it does give you piece of mind.

The worst downside is that you will have to take the system down to change a drive (correct me if I'm wrong, but I've never seen a hot-swappable RAID 1+0 solution), and the performance before you do that will take a substantial hit.

Raid 4/5 is nice because it doesn't waste a lot of drive space, but it comes at the price of very slow writes, and very high CPU use unless you also get a hardware controller with an on-board CPU.

RAID 1+0 is the Cadillac of RAID

Yet if you do choose to use RAID, I submit that for important data, RAID 1+0 should be your first choice. It offers good performance - not as good as RAID 5 on reads, but much better on small writes - and it is much more resilient than RAID 5 when you do have a disk failure.

A RAID 5 rebuild costs you about half your IOPS capacity as well as controller or CPU cycles. With RAID 1+0 a rebuild is a simple disk to disk copy which is as efficient and fast as you can get.

Because it mirrors, RAID 1+0 capacity is more expensive than RAID 5. For business critical data, RAID 1+0 gives the best combination of performance, availability and redundancy.

After this preliminary look at RAID it would seem RAID 5 or 10 would be the way to go. This would require a minimum of 3 or 4 disks respectively. Another alternative is RAID 1E which I plan on looking at in further detail

No comments: