2 Jun 2010

How to Setup a RAID System

RAID stands for Redundant Array of Independent Disks and with at least two hard disk drives you can setup them as a RAID array in order to increase the disk performance or to improve data reliability. In this tutorial we will teach you how to setup a RAID system on your PC.

As mentioned, there are two ideas behind RAID: performance (a.k.a. RAID0) and reliability (a.k.a. RAID1).

RAID0, also known as data striping, is set when you want to improve your disk performance. It works by dividing the files to be written on disk into several chunks (called stripes) and saving each chunk on a different drive. For example, if you have a 200 KB file and two hard disk drives, it will be cut into two 100 KB chunks and each chunk will be saved on a different hard disk drive.

This is a very summarized explanation; in reality each stripe must be a power of two and is configured when you setup the RAID system. If your RAID system uses 128 KB stripes, it would divide our 200 KB file into two 128 KB chunks (the rest of each stripe, 28 KB, would be left empty). If our system were using 32 KB stripes, our 200 KB file would be divided into eight 32 KB chunks, and the system would send four chunks to each hard disk drive.

But how this improves performance? In the example we gave, instead of storing one 200 KB file, each hard disk drive will store a 100 KB file. The time spent storing a 100 KB file is theoretically half the time spent storing a 200 KB file. Basically what we do on RAID0 is to put the hard disk drives to work in parallel.

The total disk capacity on a RAID0 system is the sum of the total capacity of the two hard disk drives. So if we use two 80 GB hard disk drives, our disk system will have 160 GB capacity. You can even create "partitions" on your RAID system, so you can have more than one "disk" on your system.

So if you want to build a high-performance system, consider buying two disk drives with smaller capacity and configuring them as a RAID0 system instead of buying one high-capacity hard disk drive.

If you are thinking of having two drives just to separate data (e.g. one drive for operating system and programs and the other for data like documents), go ahead and assemble a RAID system, as, like we mentioned, you can create "partitions" on your RAID system (keep in mind, however, that you cannot remove one of the drives and install it on another computer expecting to read its contents like you would do normally – it won't work).

On Figure 1 we summarized how RAID0 works.

RAID0
click to enlarge
Figure 1: How RAID0 (data striping) works.

RAID1, on the other hand, does not improve performance, but is targeted to improve the data reliability of your PC. It works by copying everything that is sent to the first hard disk drive to the second, and that is why it is also known as mirroring. Consider RAID1 as a hardware-based backup system. If the first hard disk drive fails, the second one takes its place immediately.

Since the second disk drive is a backup disk, the total disk capacity on a RAID1 system is the capacity of the first disk drive only. So if you have two 80 GB hard disk drives configured as RAID1, the total disk capacity will be 80 GB.

If you are concerned with data reliability, RAID1 is the way to go.

On Figure 2 we summarized how RAID1 works.

RAID1
click to enlarge
Figure 2: How RAID1 (data mirroring) works.

There are other RAID configurations as well, but not all RAID controllers support them (all controllers support at least RAID0 and RAID1). Here is a small summary of other common RAID systems your RAID controller may support:

  • RAID0+1: It is a system using RAID0 and RAID1 at the same time. It needs four identical hard disk drives. If one of the hard disk drive fails, the system becomes a RAID0 system (data striping).
  • RAID10: It is a system using RAID0 and RAID1 at the same time. It needs four identical hard disk drives. If one of the hard disk drive fails, the system becomes a RAID1 system (mirroring).
  • RAID5: It is a RAID0 system storing parity information for better reliability. It needs at least three identical hard disk drives. On a three-drive system the total capacity will be the size of each hard disk drive times two (and not three) – for example, if three 80 GB drives are used, the total disk capacity will be of 160 GB, as the rest of disk space is used to store parity information.
  • JBOD: Stands for "Just a Bunch of Disks" and isn't a RAID system, as it doesn't improve disk performance or disk reliability. It is used to join two drives with different capacities as if they were a single drive. For example, you can use JBOD to add a 40 GB hard disk drive to an 80 GB hard disk drive to appear as a single 120 GB to the system.

No comments:

Post a Comment