5.4 Redundant Array of Independent Disks (RAID), (AKA Redundant Array of Inexpensive Disks) & Configuring RAID array
Redundant Array of Independent Disks (RAID) (AKA Redundant Array of Inexpensive Disks)
A disk subsystem that combines multiple physical disks into a single logical storage unit. Depending on the configuration, a RAID array can improve performance, provide fault tolerance, or both. They are distinguishable by their RAID levels.
RAID can be implemented in the following 3 ways:
*1) Hardware RAID* uses a special controller card that includes a RAID processor. Hardware RAID is the most expensive method but provides much better performance and is more reliable than other methods. *2) Software RAID* uses a driver and the system CPU for controlling RAID operations. This is the slowest form of RAID. -Some RAID controller cards support RAID configuration, but without the onboard RAID processor. These solutions are classified as *software RAID (AKA fake RAID)* even though you install a controller card to provide RAID capabilities. -Many motherboards include built-in (onboard) support for a RAID. RAID implemented in this way is typically software/driver RAID. *3) Operating system RAID* uses RAID features within the operating system. Like software RAID, the system CPU is used for RAID operations, but performance is typically better than software RAID because of integration with the operating system.
RAID 10 (stripe of mirrors)
*A RAID 10 volume stripes data across mirrored pairs and across multiple disks for data redundancy. If a single disk fails, its data can be recovered using the mirrored information stored on the remaining disks. If two disks in the same mirrored pair fail, all data will be lost because there is no redundancy in the striped sets.* *RAID 10:* -Provides fault tolerance for a single disk failure -Provides redundancy and performance -Is the best option for I/O-intensive applications like database, email, web servers, or any other system requiring high disk performance -Uses 50% of the total raw capacity of the drives is due to mirroring -Requires a minimum of 4 disks
RAID 5 (Striping w/ distributed Parity)
*A RAID 5 volume combines disk striping across multiple disks with parity for data redundancy. Parity information is stored on each disk. If a single disk fails, its data can be recovered using the parity information stored on the remaining disks.* *RAID 5:* -Provides fault tolerance for a single disk failure. -Provides an increase in performance for read operations. Write operations are slower with RAID 5 than with other RAID configurations because of the time required to compute and write the parity information. -Requires a minimum of 3 disks. *Has an overhead of one disk in the set for parity information: (1 / n - 1)* -A set with 3 disks has 33% overhead. -A set with 4 disks has 25% overhead. -A set with 5 disks has 20% overhead.
RAID 0 (striping)
*A stripe set breaks data into units and stores the units across a series of disks by reading and writing to all disks simultaneously.* *Striping:* -Provides an increase in performance -Does not provide fault tolerance. A failure of one disk in the set means all data is lost. -Requires a minimum of two disks -Has no overhead because all disk space is available for storing data -This is the fastest of all RAID types. However, it does not provide fault tolerance.
Another term that is sometimes used with disk arrays is JBOD (just a bunch of disks).
*Just a bunch of disks (JBOD) is not a RAID configuration, but like RAID configures multiple disks into a single logical storage unit.* -A JBOD configuration creates a single volume using space from two or more disks. -Spanning is another term for JBOD because the volume spans multiple physical disks. -Data is not striped between disks, but rather just saved to one or more disks (depending on how the operating system decides to save each file). -On a new JBOD configuration, data is typically saved to the first disk until it is full, then additional data is saved to the second disk and so on. -Disks used within the spanned volume can be of different sizes. -JBOD uses the entire space available on all disks for data storage (no overhead). -There are no performance or fault tolerance benefits with JBOD. -If one drive fails, you might be able to use disk recovery tools to recover data from the remaining disks.
Be aware of the following facts about RAID:
-Some RAID controllers support combined levels of RAID. For example, RAID 0+1 is a striped array that is mirrored. Other combined configurations that might be supported include RAID 1+0 (also called RAID 10), RAID 5+0, and RAID 5+1. -For all RAID configurations, the amount of disk space used on each disk must be of equal size. If disks in the array are of different sizes, the resulting volume will be limited to the smallest disk. Remaining space on other drives can be used in other RAID sets or as traditional storage. -While some RAID configurations provide fault tolerance in the event of a disk failure, configuring RAID is not a substitute for regular backups.
RAID 1 (mirroring)
A *mirrored volume* stores data to two duplicate disks simultaneously. If one disk fails, data is present on the other disk, and the system switches immediately from the failed disk to the functioning disk. *Mirroring:* -Provides fault tolerance for a single disk failure -Does not increase performance -Requires two disks -Has a 50% overhead. Data is written twice, meaning that half of the disk space is used to store the second copy of the data. Overhead is 1 / n where n is the price of the second disk. -RAID 1 is the most expensive fault tolerant system.