Here is a great tutorial on RAID.
From the tutorial:
What is RAID?
In 1987, the University of California Berkeley, published an article
entitled A Case for Redundant Arrays of Inexpensive Disks (RAID).
This article described various types of disk arrays, referred to by
the acronym RAID. The basic idea of RAID was to combine multiple
small, independent disk drives into an array of disk drives which
yields performance exceeding that of a Single Large Expensive Drive
(SLED). Additionally, this array of drives appears to the computer as
a single logical storage unit or drive.
Five types of array architectures, RAID-1 through RAID-5, were defined
by the Berkeley paper, each providing disk fault-tolerance and each
offering different trade-offs in features and performance. In addition
to these five redundant array architectures, it has become popular to
refer to a non-redundant array of disk drives as a RAID-0 array.
Today some of the original RAID levels (namely level 2 and 3) are only
used in very specialized systems (and in fact not even supported by
the Linux Software RAID drivers). Another level, "linear" has emerged,
and especially RAID level 0 is often combined with RAID level 1
At all times the letter N is used to denote the
number of active disks in the array (not counting spare-disks).
The letter S is the size of the smallest drive in the array, unless otherwise mentioned. The letter P is used as the performance of one disk in the array, in MB/s. When used, we assume that the disks are equally fast, which may not always be true in real-world scenarios.
The current RAID drivers in Linux supports the following levels:
--Two or more disks are combined into one physical device.
--There is no redundancy in this level.
-- The read and write performance will not increase for single reads/writes.
-- AKA "stripe" mode.
--The devices should (but need not) have the same size.
--Like linear, there is no redundancy in this level either
--The read and write performance will increase, because reads and writes are done in parallel on the devices.
--First mode which actually has redundancy.
--If up to N-1 disks are removed (or crashes), all data are still intact.
--Write performance is often worse than on a single device, because identical copies of the data written must be sent to every disk in the array.
-- This RAID level is not used very often. It can be used on three or more disks. Instead of completely mirroring the information, it keeps parity information on one drive, and writes data to the other disks in a RAID-0 like way.
-- This is perhaps the most useful RAID mode when one wishes to combine a larger number of physical disks, and still maintain some redundancy.
--If one of the disks fail, all data are still intact, thanks to the parity information.
--Both read and write performance usually increase, but can be hard to predict how much.
The main differences between mdadm and raidtools are:
o mdadm can diagnose, monitor and gather detailed information about
o mdadm is a single centralized program and not a collection of
disperse programs, so there's a common syntax for every RAID
o mdadm can perform almost all of its functions without having a
configuration file and does not use one by default
o Also, if a configuration file is needed, mdadm will help with
management of it's contents
Why Use RAID?
- ability to combine several physical disks into one larger "virtual" device
- redundancy and many more
# /etc/fstab looks like:
/dev/sda2 swap swap defaults,pri=1 0 0
/dev/sdb2 swap swap defaults,pri=1 0 0
/dev/sdc2 swap swap defaults,pri=1 0 0