|
RAID
stands for "redundant array of independent disks" (originally "redundant
array of inexpensive disks"). It is a technology that describes
several ways of coordinating multiple disks so that they behave as
a single unit. Most RAID implementations accomplish this through
a technique called striping. A stripe is a disk segment varying in
size from one sector (usually 512 bytes) up to several megabytes.
The stripes of the independent disks are re-ordered to distribute
disk I/O across all of them. For example, a RAID with four disks
(A, B, C, and D), with each disk divided into four stripes (1, 2,
3, and 4), might write and read data in this order:
A1 --> B1 --> C1 --> D1
--> A2 --> B2 --> C2 --> D2 --> . . .
Because
all the disks can read and write simultaneously, a RAID is potentially
much faster than a single hard drive. On the other hand, because
it has so many components, a RAID is more prone to disk failure.
For this reason, most RAID implementations store parity information
to reconstruct lost data in the event of a crash.
Several
RAID levels exist, each optimized for different storage requirements:
|
RAID 0:
|
RAID
0 sacrifices fault tolerance for raw speed. It doesn't store
parity information, but with its small stripes, it can work
with large files much faster than any other RAID. Because
it is not fault tolerant, RAID 0 is inappropriate for the
storage of critical data.
|
|
RAID 1:
|
RAID
1, also known as disk mirroring, makes use of neither striping
nor parity information. Instead, each RAID 1 array consists
of two disks that duplicate each other's data and are treated
as one drive. A computer can read from both disks and thus
access data faster. However, because the entire contents
of a disk are duplicated, RAID 1 uses space less efficiently
than RAID levels that store parity information.
|
|
RAID 2:
|
In
RAID 2 some drives are striped while others hold error checking
and correcting (ECC) data. Because nearly all modern drives
have ECC built-in, RAID 2 is infrequently implemented.
|
|
RAID 3:
|
In
RAID 3, all but one of the drives in the array are striped.
The final disk is devoted to the storage of parity information.
RAID 3 stripes are small, so all the disks work together
when reading and writing large files. This greatly increases
performance, but as each task accesses all the disks, it
is not possible to overlap I/O (i.e., do two tasks at the
same time). For this reason, RAID 3 is inappropriate for
multi-user environments.
|
|
RAID 4:
|
RAID
4 is identical to RAID 3, except that it uses large stripes
instead of small ones. Because files usually only span one drive, it
is possible to overlap I/O. Unfortunately, because each access
must update parity information, the parity drive becomes
a bottleneck that increases in severity as the number of
drives increases.
|
|
RAID 5:
|
RAID
5 is similar to RAID 4 except that, rather than devoting
a single device to parity information, it divides it among
all the drives. This eliminates the bottleneck created by
RAID 4's parity drive.
|
|
RAID 6:
|
RAID
6 is like RAID 5 except that it adds a second parity scheme.
It is slower than RAID 5, but offers greater protection of
data.
|
|
RAID 7:
|
RAID
7 is a proprietary solution offered by Storage Computer Corporation.
It is a very expensive, high-speed option that relies on
caching and an embedded operating system that manages I/O.
|
|
RAID 10:
|
A
RAID 10 (i.e., RAID 1+0) array uses several RAID 1 arrays
and stripes them to form a single unit. RAID 10 is very fast
and highly fault tolerant, but also extremely expensive.
|
|
RAID 53:
|
RAID
53 is similar to RAID 10, but each segment is a RAID 3 array
rather than a RAID 1. Like RAID 10, it is fast but expensive.
|
|
RAID 0+1:
|
A
RAID 0+1 array is essentially a RAID 1 array built from RAID
0 array units. It offers very fast performance and good fault
tolerance, but it is very expensive.
|
There are numerous ways to implement
RAID, from relatively inexpensive software solutions like the RAID
Toolkit from FWB to expensive RAID hardware systems such as Storage
Computer's StorageSuite family.
|