| Red Hat Linux 7.1: The Official Red Hat Linux Reference Guide |
|---|
| Prev | | Next |
The basic idea behind RAID is to combine multiple small, inexpensive disk
drives into an array to accomplish performance or redundancy goals not
attainable with one large and expensive drive. This array of drives will
appear to the computer as a single logical storage unit or drive.
RAID is a method in which information is spread across several disks, using
techniques such as disk striping (RAID Level 0),
disk mirroring (RAID level 1), and
disk striping with parity (RAID Level 5) to achieve
redundancy, lower latency and/or increase bandwidth for reading or
writing to disks, and maximize the ability to recover from hard disk crashes.
The underlying concept of RAID is that data may be distributed across each
drive in the array in a consistent manner. To do this, the data must first
be broken into consistently-sized "chunks" (often 32K or 64K in size,
although different sizes can be used). Each chunk is then written to a
hard drive in RAID according to the RAID level used. When the data is to
be read, the process is reversed, giving the illusion that multiple drives
are actually one large drive.
Anyone who needs to keep large quantities of data on hand (such as
an average system administrator) would benefit by using RAID
technology. Primary reasons to use RAID include:
There are two possible RAID approaches: Hardware RAID and Software
RAID.
The hardware-based system manages the RAID subsystem independently
from the host and presents to the host only a single disk per RAID
array.
An example of a Hardware RAID device would be one that connects to a
SCSI controller and presents the RAID arrays as a single SCSI
drive. An external RAID system moves all RAID handling "intelligence"
into a controller located in the external disk subsystem. The whole
subsystem is connected to the host via a normal SCSI controller and
appears to the host as a single disk.
RAID controllers also come in the form of cards that
act like a SCSI controller to the operating
system but handle all of the actual drive communications
themselves. In these cases, you plug the drives into the RAID
controller just like you would a SCSI controller, but then you add
them to the RAID controller's configuration, and the operating system
never knows the difference.
Software RAID implements the various RAID levels in the kernel disk
(block device) code. It offers the cheapest possible solution, as
expensive disk controller cards or hot-swap chassis
[1]
are not required. Software RAID also works with cheaper IDE disks as
well as SCSI disks. With today's fast CPUs, Software RAID performance
can excel against Hardware RAID.
The MD driver in the Linux kernel is an example of a RAID solution
that is completely hardware independent. The performance of a
software-based array is dependent on the server CPU performance
and load.
For information on configuring Software RAID in the Red Hat Linux installation
program, refer to the Official Red Hat Linux Customization Guide.
For those interested in learning more about what Software RAID has to
offer, here is a brief list of the most important features:
Threaded rebuild process
Fully kernel-based configuration
Portability of arrays between Linux machines without reconstruction
Backgrounded array reconstruction using idle system resources
Hot-swappable drive support
Automatic CPU detection to take advantage of certain CPU optimizations
RAID supports various configurations, including levels 0, 1, 4, 5, and
linear. These RAID types are defined as follows:
Level 0 — RAID level 0, often called
"striping," is a performance-oriented striped data mapping
technique. This means the data being written to the array is
broken down into strips and written across the member disks of the
array, allowing high I/O performance at low inherent cost but
provides no redundancy. The storage capacity of a level 0 array is equal to
the total capacity of the member disks in a Hardware RAID or the
total capacity of member partitions in a Software RAID.
Level 1 — RAID level 1, or "mirroring," has
been used longer than any other form of RAID. Level 1 provides
redundancy by writing identical data to each member disk of the
array, leaving a "mirrored" copy on each disk. Mirroring remains
popular due to its simplicity and high level of data availability.
Level 1 operates with two or more disks that may use parallel
access for high data-transfer rates when reading but more
commonly operate independently to provide high I/O transaction
rates. Level 1 provides very good data reliability and improves
performance for read-intensive applications but at a relatively
high cost[2]. The storage capacity of the level 1 array is equal to the
capacity of one of the mirrored hard disks in a Hardware RAID or
one of the mirrored partitions in a Software RAID.
Level 4 — Level 4 uses parity[3]
concentrated on a single disk drive to protect data. It's better
suited to transaction I/O rather than large file
transfers. Because the dedicated parity disk represents an
inherent bottleneck, level 4 is seldom used without accompanying
technologies such as write-back caching. Although RAID level 4 is
an option in some RAID partitioning schemes, it is not an option
allowed in Red Hat Linux RAID installations[4]. The storage capacity of Hardware RAID level 4 is equal to the capacity of member disks,
minus the capacity of one member disk. The storage capacity of
Software RAID level 4 is equal to the capacity of the member partitions,
minus the size of one of the partitions if they are of equal size.
Level 5 — This is the most common type of RAID. By
distributing parity across some or all of an array's member disk
drives, RAID level 5 eliminates the write bottleneck inherent in
level 4. The only performance bottleneck is the parity calculation
process. With modern CPUs and Software RAID, that usually isn't a very big
problem. As with level 4, the result is asymmetrical
performance, with reads substantially outperforming writes. Level
5 is often used with write-back caching to reduce the
asymmetry. The storage capacity of Hardware RAID level 5 is equal
to the capacity of member disks, minus the capacity of one member
disk. The storage capacity of Software RAID level 5 is equal to
the capacity of the member partitions, minus the size of one of
the partitions if they are of equal size.
Linear RAID — Linear RAID is a simple
grouping of drives to create a larger virtual drive. In linear
RAID, the chunks are allocated sequentially from one member drive,
going to the next drive only when the first is completely filled.
This grouping provides no performance benefit, as it is unlikely
that any I/O operations will be split between member drives.
Linear RAID also offers no redundancy and, in fact, decreases
reliability —— if any one member drive fails, the entire array
cannot be used. The capacity is the total of all member disks.
|
Network sites:
|
|
Active-Domain.com offers cheap domain registration, domain name transfer and domain search services |
| |
| Cheap domain registrar : cheap domain
name registration and domain transfer |
| |
|
|