There are two possible RAID approaches: Hardware RAID and
Software RAID.
The hardware-based array 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
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 during
installation, refer to the Chapter
10 Software RAID Configuration.
For those interested in learning more about what Software RAID
has to offer, here are the most important features:
-
Threaded rebuild process
-
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