|
RAID
is a method of combining several hard drives into one unit. It can
offer fault tolerance and higher throughput levels than a single
hard drive or group of independent hard drives.
Fundamental to RAID technology is striping.
Data in a striped array is interleaved across all the drives in
the array. Data is read and written on both drives at the same
time. The performance of a striped array is governed by the stripe
width and stripe size. The width is equal to the number of drives
in your array. The size can be as small as one sector (512 bytes)
or as large as several megabytes. The specific type of operating
environment determines whether large or small stripes should be
used.
RAID provides real-time data recovery when
a hard drive fails, increasing system uptime and network
availability while protecting against loss of data. Multiple
drives working together also increase system performance.
The RAID controller adds a parity bit to
all binary data being written to an array, then is added up to
equal either an even or an odd number. By analyzing this value,
the controller can determine whether the information has been
compromised in any way. If it has, it can replace the data
automatically with data from the other drive. It analyzes bits
then returns either a TRUE or FALSE. The controller can fill in
the missing information. If you see an equation like 4 + __ = 6,
you know the blank is supposed to be a 2. The XOR logic is used in
this way to rebuild corrupted data on the array, thus maintaining
integrity. Most parity checks use the XOR for fault tolerance.
This is a type of Boolean logic (eXclusive OR).
Software-based
RAID - Included in network operating systems such as Novell NetWare and
Microsoft Windows NT/2000.®
All RAID functions are handled by the host CPU, which can tax its
ability to perform other computations by up to 18%.
The following RAID levels are supported by most
network operating systems:
|
|
Description
|
Minimum
Drives
|
Benefit
|
|
RAID
0
|
Data
striping (no data protection)
|
2
|
Highest
performance
|
|
RAID
1
|
Disk
mirroring
|
2
|
High
data protection
|
|
RAID
0/1
|
RAID
0 and RAID 1 combined
|
4
|
Highest
performance with highest data protection
|
|
RAID
5
|
Data
striping with distributed parity
|
3
|
Best
cost/performance balance for multi-drive environments
|
Hardware-based
SCSI RAID - Processor-intensive RAID operations are offloaded
from the host CPU to enhance performance.
A research group at the University of California in Berkeley
defined six RAID levels. Understanding these levels is important,
because each level is optimized for a different use.
- RAID Level 0 is not fault tolerant. Data is split
across drives, resulting in higher data throughput, but the
failure of any disk in the array results in a total loss of
data.
- RAID Level 1 is commonly referred to as mirroring
with 2 hard drives. It provides fault tolerance by duplicating
all data from one drive on another drive. If the first drive
fails the second drive contains a mirrored copy, thus no data
is lost.
- RAID Level 2 is rarely used since it is intended for
use with drives which do not have built-in error detection.
All SCSI drives support built-in error detection, so this
level is not important.
- RAID Level 3 is similar to level 4 as parity stored
on one drive. Data is striped at a byte level across several
drives.
- RAID Level 4 stripes data at a block level across
several drives, with parity stored on one drive. The parity
information allows recovery from the failure of any single
drive. Although the performance of a level 4 array is very
good for reads, writes require that parity data be updated
each time. This slows small random writes, in particular,
though large writes or sequential writes are fairly
fast.
- RAID Level 5 is commonly referred to as striping with
distributed parity and is similar to level 4, but distributes
parity among the drives. Although speed for small writes in
multiprocessing systems tend to be quicker, the performance
for reads tends to be considerably lower than a level 4
array.
- RAID 0/1 or RAID 10 is a dual level array that
utilizes multiple RAID1 sets into a single array. Data is
striped across all mirrored sets. This level array offers high
data transfer advantages of striped arrays and increased data
accessibility.
- RAID 0/5 or RAID 50 is a dual level array that
utilizes multiple RAID5 sets into a single array. In RAID 0/5
array, a single hard drive failure can occur in each of the
RAID5 without any loss of data on the entire array.
|