RAID Levels
RAID levels 0, 1, and 5 are the most commonly
available hardware RAID solutions for Windows NT systems, and NT includes
them. Asterisks denote RAID levels available for NT only through hardware
controllers or combinations of hardware and software.
RAID 0 is ideal for environments in which
performance (read and write) is more important than fault tolerance or you need
the maximum amount of available drive capacity in one volume. Drive parallelism
increases throughput because all disks in the stripe set work together on every
I/O operation. For greatest efficiency, all drives in the stripe set must be the
same capacity. Because all drives are used in every operation, RAID 0 allows for
single-threaded I/O only (i.e., one I/O operation at a time). Environments with
many small simultaneous transactions (e.g., order entry systems) will not get
the best possible throughput.
RAID 1 is useful for building a fault-tolerant
system or data volume, providing excellent availability without sacrificing
performance. (NT does not support a RAID set as the boot volume--this capability
requires a hardware controller). However, you lose 50 percent of assigned disk
capacity. Read performance is somewhat higher than write performance because NT
reads data off the drive whose head is closest to the desired sector (called
locality of reference); all write operations are made to both disks
simultaneously.
RAID 3 offers the performance of RAID 0 with
the fault tolerance of RAID 5, but with cautions. As with RAID 0, RAID 3 uses
single-threaded I/O but with a standard 256KB data transfer block. Streaming
data applications such as video-editing systems benefit simultaneously from disk
parallelism, fault tolerance, and the large-block transfers. But database
applications or others with many small transactions issued simultaneously might
have problems.
RAID 2 is similar in concept to RAID 3 but writes in single bits to the
drives in the stripe set rather than in blocks, thus requiring many drives for a
volume (however, few--if any--implementations are available for NT).
RAID 4 is similar to RAID 3 but uses a
round-robin algorithm for writing data to the stripe set. Because RAID 4 has to
generate parity data on one drive, write operations are single-threaded, but
reads are multithreaded (i.e., are performed via multiple simultaneous I/O
requests) because not all drives are involved in every transaction. RAID 4 is
better for an environment requiring more discrete transactions per second. Both
RAID 3 and 4 use the minimum number of drives to achieve fault tolerance.
RAID 5 is multithreaded for both reads and
writes because both normal data and parity data are distributed round-robin.
This is one reason why RAID 5 offers better overall performance in server
applications than either RAID 3 or 4. Random I/O benefits more from RAID 5 than
does sequential I/O, and writes take a performance hit because of the parity
calculations. RAID 5 is ideal for database applications.
RAID 6 is essentially RAID 5 enhanced, such
that two drives in the stripe set can fail because the distributed parity
information has its own parity and is thus redundant.
You can build RAID 10 either directly through
the RAID controller (depending on the controller) or by combining software
mirroring and controller striping, or vice versa (called RAID 01).