| Red Hat Docs > Red Hat Manuals > Archived Red Hat Linux Manuals > |
Appendix D. Redundant Array of Independent Disks (RAID)What is RAID?The basic idea behind RAID is to combine multiple small, inexpensive disk drives into an array of disk drives which yields performance exceeding that of one large and expensive drive. Additionally, this array of drives will appear to the computer as a single logical storage unit or drive. It is a method whereby information is spread across several disks, using techniques such as disk striping (RAID Level 0) and disk mirroring (RAID level 1) to achieve redundancy, lower latency and/or higher bandwidth for reading and/or writing, and recoverability from hard-disk crashes. Fundamental to RAID is "striping," a method of combining the space on multiple hard drives into a single logical drive for the operating system. Striping involves breaking down the total space on each drive into small "chunks." These "chunks" can be as small as 4k or as large as several megabytes (although testing shows that a 32k or 64k "chunk" size is often optimal). These chunks are then interleaved on the constituent disks to create a "stripe." For example, the first "chunk" on each hard disk would be combined into a single "stripe," the second "chunk" on each into another, and so on. In this way, the total size of the logical drive is the size of all the consituent drives added together. RAID: Hardware vs. SoftwareThere are two possible approaches to RAID: Hardware RAID and Software RAID. Hardware RAIDThe 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 box moves all RAID handling "intelligence" into a controller that is sitting 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 RAIDSoftware RAID implements the various RAID levels in the kernel disk (block device) code. It also offers the cheapest possible solution: not only are expensive disk controller cards or hot-swap chassis not required, but software RAID works with cheaper IDE disks as well as SCSI disks. With today's fast CPUs, software RAID performance excels 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 very dependent on the server CPU performance and load. Why you should use RAID
New Features of RAIDRAID has been rewritten as part of the 2.2 kernel and many changes have been made. Because there are so many changes, it is difficult to list them all. Briefly, some changes are:
Levels and linear supportOf the more notable changes to RAID is the addition of levels 0, 1, 4, 5 and linear support. These RAID types act as follows:
|