30

Having been virtually out of hard drive space for the past couple of months I finally decided to do something about it, and purchased 3 new 1.5TB Seagate Barracuda hard drives. I chose these because I already had one and thought 4 the same would make sense, but if you are buying all new then the 1.5TB Western Digital Caviar Green is maybe a better option; it is 5400rpm rather than 7200rpm, the performance loss shouldn’t be an issue for a basic file server, but the power saving and quieter operation may be appreciated.

I decided to create a software RAID-5 array using the 4 drives, to give a total capacity of 4.5TB with the ability to handle 1 drive failure.

What is RAID?

RAID stands for Redundant Array of Inexpensive Disks, and is a way of organizing data over multiple drives to provide higher performance and/or reliability than available from a single drive.

What is RAID not?

Although RAID is redundant and can recover from drive failure, it alone is not a backup solution! If you delete a file on a RAID array it is deleted from all drives in that array, similarly if your data is corrupted then the corrupted data will be mirrored across the whole array.

Hardware RAID vs Fake RAID vs Software RAID

Before getting started you should think about how best to implement your RAID array, because once it’s done it can be hard (if not impossible without enough spare disks to back up all your data) to change.

Hardware RAID

Hardware RAID is usually considered the “real” implementation of RAID. It requires a dedicated RAID card, which handles maintaining the array; this has the advantage that the CPU is not required so performance is usually better. The disadvantages however are that you are then restricted to the RAID card you have; the implementations of RAID isn’t always compatible between different models, and almost definitely isn’t between different vendors, and the cost; hardware RAID is not cheap!

Fake RAID

Most motherboards these days come with RAID support, which is known as Fake RAID. What’s fake about it? There is no dedicated chip to maintain the array as with “real” RAID. This means that the processing is handed off to the CPU, so the performance benefit is no longer there. On the upside, it is cheap!

Software RAID

The third option when implementing RAID is Software RAID, which, as the name suggests, is done totally in software. This means, like with Fake RAID, the CPU is required to do the processing. The advantages however are it’s portability, and cost (free!). Because the implementation is entirely software based, there is no restriction on hardware any more; you can move the drives between computers without any problems. There is however now a restriction on software; if you created the RAID array under Linux (using mdadm), it will not be accessible under Windows (or any other OS that doesn’t have the same implementation of mdadm available). It is also worth mentioning that mdadm includes many features which can only be found on the high end (expensive) RAID cards, such as the ability to grow or shrink a live array.

Levels of RAID

Another thing you will need to decide on before starting is what level of RAID you require. For a detailed review of the different levels see the Wikipedia article about Standard RAID levels. I am using RAID-5 because it provides some redundancy but without sacrificing too much capacity (usable size = (num of drives – 1) * size of smallest drive), however there is some speculation that as disk sizes are increasing, RAID-5 is becoming less reliable. When I next get paid I may consider upgrading to RAID-6 (which, using software RAID, is easy!).

 

Follow up: Software RAID-5: using mdadm in Ubuntu 9.10.

1 Comment

Add Your Comment
  1. Very Interesting ;-) Lots of space to download Dexter in 720p now :-D

    Stevie on Fri 30th Oct '09 at 10:15pm

Your Comment