Installation guide
Chapter 13. Redundant Array of Independent Disks (RAID)
86
RAID controller cards function like a SCSI controller to the operating system, and handle all the actual
drive communications. The user plugs the drives into the RAID controller (just like a normal SCSI
controller) and then adds them to the RAID controllers configuration, and the operating system won't
know the difference.
Software RAID
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 faster CPUs,
Software RAID also generally outperforms Hardware RAID.
The Linux kernel contains a multi-disk (MD) driver that allows the RAID solution to be completely
hardware independent. The performance of a software-based array depends on the server CPU
performance and load.
Here are some of the key features of the Linux software RAID stack:
• Multi-threaded design
• 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 features such as streaming SIMD
support
• Automatic correction of bad sectors on disks in an array
• Regular consistency checks of RAID data to ensure the health of the array
• Proactive monitoring of arrays with email alerts sent to a designated email address on important
events
• Write-intent bitmaps which drastically speed resync events by allowing the kernel to know precisely
which portions of a disk need to be resynced instead of having to resync the entire array
• Resync checkpointing so that if you reboot your computer during a resync, at startup the resync will
pick up where it left off and not start all over again
• The ability to change parameters of the array after installation. For example, you can grow a 4-disk
raid5 array to a 5-disk raid5 array when you have a new disk to add. This grow operation is done
live and does not require you to reinstall on the new array.
13.4. RAID Levels and Linear Support
RAID supports various configurations, including levels 0, 1, 4, 5, 6, 10, 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
1
A hot-swap chassis allows you to remove a hard drive without having to power-down your system.