RAID

  1. What is RAID?
  2. What types of RAID exists? and how do they differ?
  3. Can I use different sized/typed disks for my array?
  4. Can I change my array after I have put DATA on it?
  5. I want to setup a level 0 RAID. Which stripe and clustersize should I use?
  6. How do I setup/partition a level 0 RAID array, and install my OS on it?


Q: What is RAID?

A: RAID is an acronym for Redundant Array of Inexpensive Disks (as opposed to SLED - Single Large Expensive Disk). Today, most drives are relatively inexpensive and the meaning of the 'i' is changing INTO 'independent'. The purpose of RAID is to use 2 or more drives together in order to obtain increased performance and/or DATA security.

We have published an article about RAID which will benefit those interested in learning more about this technology, or possibly purchasing a system utilizing it.



Q: What types of RAID exists? and how do they differ?

A: The different types of RAID is typically referred to as 'levels'. This FAQ will focus on level 0, 1 and 0+1 since these are what is most often supported by embedded RAID controllers.

Level 0 : Striping.
Level 0 provides increased performance by writing alternating blocks of DATA (referred to as the stripesize) to 2 or more drives simultaneously. Read performance is also improved since DATA is read FROM all drives at the same time. No redundant information is stored and failure of a SINGLE drive will cause all DATA to be lost. The number of drives in a level 0 array is sometimes also referred to as the stripe width.

Level 1 : Mirroring.
Level 1 provides redundancy by writing all DATA to 2 or more drives. Level 1 provides no increase in write performance (it may even be a bit slower). Read performance tend to be faster than a single drive, but not as fast as level 0. Level 1 provides excellent DATA security since ALL drives has to fail before any DATA is lost.

Level 5 : Striping with distributed parity.
Data and parity is striped across 3 or more drives. Parity is distributed to each drive. Level 5 is the most widely used RAID for servers and other highperformance storage solutions. Any single drive can fail without DATA loss, ie. at least two drives must fail before any DATA is lost.

Level 0+1 : Striping and Mirroring.
Level 0+1 combines level 0 and level 1 by mirroring a striped volume. Level 0+1 provides read and write performance very close (or equal) to level 0. Level 0+1 should not be confused with level 1+0. If there is 1 mirror set, a single drive failure will cause the whole array to become, in essence, a level 0 array. Level 0+1 requires an even number of drives and minimum 4.

Level 1+0 : Striping and Mirroring.
Level 1+0 (sometimes referred to as level 10) combines level 0 and level 1 by striping a mirrored volume. Level 1+0 has better DATA security than level 0+1. The reason for this is that the level 1+0 controller can take advantage of a partial mirror set, but the level 0+1 controller cannot take advantage of a partial stripe set.

JBOD : Just a Bunch Of Drives.
Not actually RAID, but some RAID controllers support this. In JBOD, 2 or more drives, which can be of any size, are put together so it appear as a single drive whose capacity is the sum of the individual drives. Since JBOD provides no performance increase and reduced DATA security, it is seldomly used.

We have published an article about RAID which goes over these modes in more detail, along with performance comparisons. It will benefit those interested in learning more about this technology, or possibly purchasing a system utilizing it.



Q: Can I use different sized/typed disks for my array?

A: Yes, but for all levels (except JBOD) you will loose some capacity on the largest drives.
For level 0, total capacity is equal to the stripe width times the smallest drive.
For level 1, total capacity is equal to the smallest drive.
For level 0+1, total capacity is equal to the stripe width times the smallest drive.
For level 5, total capacity is equal to the number of drives minus 1 times the smallest drive.



Q: Can I change my array after I have put DATA on it?

A: The stripesize or stripewidth of a level 0 or level 0+1 array can not be changed without rebuilding the array. This will cause all DATA to be lost. For level 1 and level 0+1 additional mirror drives can added to provide additional DATA security. This will not cause any DATA to be lost.



Q: I want to setup a level 0 RAID. Which stripe and clustersize should I use?

A: It depends on what the array is going to be used for. In general if the array is used for very large files (Video streaming etc.) a larger stripesize is better. For mainstream usage (office, gaming etc.) a stripe and clustersize in the 8-32 kB range is a common choice. To some extend the optimum stripe and clustersize combination also depends on the RAID controller and drives.



Q: How do I setup/partition a level 0 RAID array, and install my OS on it?

A: 1) Attach the drives to the RAID controller. Each drive should be master on its own channel (separate cable) for maximum performance.
2) Enter the RAID controller bios (usually you press CTRL+H after powering on the PC). Setup the RAID0 array with your preferred stripesize. The exact way of doing this depends on the controller. Note: Some controllers (e.g. the Promise-lite) does not allow you to change the stripesize.
3) Make sure you have a floppy with the RAID drivers. Boot FROM the OS installation CD, and when prompted press 'F6' to install third party RAID or SCSI drivers. INSERT the floppy.
4) Using the installation program partition and format the drive.
5) Proceed with installing the OS on the boot partition.



Would you like to see a question and answer added to this page?
Email your question to us at !