What is RAID?
RAID stands for Redundant Array of Inexpensive/ or Independant
Drives.A RAID array is a collection of drives which act
as a single storage system, which can tolerate the failure
of a drive without losing data, and which can operate independently
of each other.The basic idea of RAID is to combine multiple
drives into an array of drives to obtain performance, capacity
and reliability that exceeds that of a single large drive.
For the different levels
of RAID see here.
I have heard of Hardware RAID and Software RAID, what is
the difference?
Software RAID is just like hardware RAID, except that it
uses software instead of hardware.Instead of using a dedicated
hardware controller to perform the various functions required
to implement a RAID array, these functions are performed
by the system processor using special software routines.
What are the Pro's and
Con's of using Software RAID?
The Pro's
If you are already running an operating system that supports
software RAID, you have no additional costs for controller
hardware; however you may need to add more system memory
to the system.
You don't have to install, configure or manage a hardware
RAID controller. Duplexed RAID 1 can sometimes be implemented
in software RAID but not in hardware RAID, depending on
the controller.
The Con's
The best-known drawback of Software RAID is that it provides
lower overall system performance than hardware RAID. This
is because cycles are "stolen" from the CPU to
manage the RAID array. This slowdown isn't that excessive
for simple RAID levels like RAID 1, but it can be substantial,
particularly with any RAID levels that involve striping
with parity (like RAID 5). Since the operating system has
to be running to enable the array, this means the operating
system cannot boot from the RAID array.
This requires a separate, non-RAID partition to be created
for the operating system, segmenting capacity, lowering
performance further and slowing boot time.
Software RAID is usually limited to RAID levels 0, 1 and
5. More "interesting" RAID levels require hardware
RAID (with the exception of duplexing).Software RAID normally
doesn't include support for advanced features like hot spares
and drive swapping, which improve availability.
Operating System Compatibility Issues: If you set up RAID
using a particular operating system, only that operating
system can generally access that array. If you use another
operating system it will not be able to use the array. This
creates problems with multiple-OS environments that hardware
RAID avoids. Some software utilities may have conflicts
with software RAID arrays; for example, some partitioning
and formatting utilities. Again, hardware RAID is more "transparent"
and may avoid these problems.
Some RAID users avoid software RAID over concern with potential
bugs that might compromise the integrity and reliability
of the array. While hardware RAID controllers can certainly
also have bugs, having said that some operating systems
are more likely to have these sorts of problems than a good-quality
hardware RAID controller would.
All things considered, software RAID doesn't seem to have
much to recommend it. At the same time, realize that in
many cases it is much better than using nothing at all.
What are the Pro's and Con's of using Hardware RAID?
Hardware RAID is using dedicated hardware to control the
array, as opposed to doing array control processing via
software. There are two main types of hardware RAID differing
primarily in how they interface the array to the system.
Bus-Based or Controller Card Hardware RAID
:This is the more conventional type of hardware RAID,
and the type most commonly used, particularly for lower-end
systems. A specialized RAID controller is installed into
the PC or server, and the array drives are connected to
it. Some motherboards, particularly those intended for server
systems, come with an integrated RAID controller. These
are built into the motherboard, but function in precisely
the same manner as an add-in bus-based card. The only difference
is that integrated controllers can reduce overall cost.
Intelligent, External RAID Controller:
In this higher-end design, the RAID controller is removed
completely from the system to a separate box. Within the
box the RAID controller manages the drives in the array,
typically using SCSI, and then presents the logical drives
of the array over a standard interface (again, typically
a variant of SCSI) to the server using the array. The server
sees the array or arrays as just one or more very fast hard
disks; the RAID is completely hidden from the machine. In
essence, one of these units really is an entire computer
in itself, with a dedicated processor that manages the RAID
array and acts as a conduit between the server and the array.
Bus-based RAID is cheaper and much simpler to implement
than external RAID controllers while still offering often
impressive capabilities; they range from entry-level cards
for IDE/ATA systems up to top-of-the-line, full-featured
devices costing several thousand pounds Dedicated, external
RAID controller systems are still more expensive but offer
many advanced features, are typically more expandable than
bus-based RAID implementations (offering support for large
array well into the terabytes) and can offer better performance.
They often cost well into the five figures, so they are
not something a typical PC user would even consider.
External RAID controllers should not be confused with external
RAID enclosures. Enclosures provide power and physical infrastructure
for the drives in a RAID array, but not the processing of
the controller; they are functionally a large, fancy PC
system case. An external RAID controller can be thought
of as such an enclosure combined with a high-end, integrated
controller as well. In most cases, the decision to use hardware
RAID is made almost exclusively on financial grounds: hardware
RAID is superior to software RAID in virtually every way,
it just costs more. If you want to use any of the more esoteric
RAID levels such as RAID 3 or RAID 1+0, you generally require
hardware RAID, since support for these levels is usually
not offered in software. If you need top performance while
using a computation-intensive RAID level such as RAID 5,
you also should consider a hardware solution "mandatory",
because software RAID 5 can really hurt performance.