Introduction to RAID
RAID (Redundant Array of Independent Disks)
allows multiple hard drives to be combined together to form one large
logical drive or "array." As far as the operating system is concerned,
the array represents a single storage device, and treats it as such. The
RAID software and/or controller handles all of the individual drives on
its own. The benefits of a RAID can include: higher data transfer rates
for increased server performance, increased overall storage capacity for
a single drive designation (such as, C, D, E, etc.), data
redundancy/fault tolerance for ensuring continuous system operation in
the event of a hard drive failure. Different types of arrays use
different organizational models and have varying benefits. The following
outline breaks down the properties for each type of RAID array:
Striping (RAID 0)
When a disk array is striped, the read and
write blocks of data are interleaved between the sectors of multiple
drives (see Figure 11). Performance is increased, since the workload is
balanced between drives (or "members") that form the array. Identical
drives are recommended for performance as well as data storage
efficiency.
The disk array’s data capacity is equal to the number
of drive members multiplied by the smallest array member’s capacity. For
example, one 100 GB and three 120 GB drives will form a 400 GB (4 x 100
GB) disk array instead of 460 GB. The stripe block size value can be set
logically from 16KB, 32KB, and 64KB. This selection will directly affect
performance. Larger block sizes are better for random disk access (like
email, POS, or web servers), while smaller sizes are better for
sequential access.

Mirroring (RAID 1)
When a disk array is mirrored, identical data
is written to a pair of drives, while reads are performed in parallel.
The reads are performed using elevator seek and load balancing
techniques where the workload is distributed in the most efficient
manner. Whichever drive is not busy and is positioned closer to the data
will be accessed first. With RAID 1, if one drive fails or has errors,
the other mirrored drive continues to function. This is called Fault
Tolerance. Moreover, if a spare drive is present, the spare drive will
be used as the replacement drive and data will begin to be mirrored to
it from the remaining good drive.

Spanning (JBOD)
A Spanning disk array (also aptly named as
JBOD for "Just a Bunch of Drives") is equal to the sum of all drives
when the drives used are of different capacities. Spanning stores data
on to a drive until it is full, then proceeds to store files onto the
next drive in the array. There are no additional performance or fault
tolerance array features in this array. When any disk member fails, the
failure affects the entire array.
Striping/Mirroring (RAID 0+1)
A combination of both above array types. It
can increase performance by reading and writing data in parallel while
protecting data with duplication. A minimum of four drives needs to be
installed. With a four-drive disk array, two pairs of drives are
striped. Each pair mirrors the data on the other pair of striped drives.
The data capacity is similar to a standard Mirroring array with half of
total capacity dedicated for redundancy.

Block And Parity Striping (RAID 5)
RAID 5 calculates parity in order to achieve
redundancy rather than writing a second copy of the data, like RAID 1.
Parity is distributed across the physical drives along with the data
blocks. In each case, the parity data is stored on a different disk than
its corresponding data block. RAID 5 makes efficient use of hard drives
and is the most versatile RAID Level. It works well for file, database,
application and web servers.
