I’ve recently received a barrage of queries about RAID and Security+, so decided to write two posts to answer some of these questions to more people. This post covers RAID-0, RAID-1, and RAID-5. The next post covers RAID-6 and RAID-10.
First, RAID (redundant array of inexpensive disks) is mentioned in the Security+ objectives in the context of fault tolerance. Even if a disk fails, most RAID subsystems can tolerate the failure and the system will continue to operate. RAID systems are becoming much more affordable as the price of drives steadily falls and disk capacity steadily increases.
Some common types of RAID are summarized in the following table.
|RAID 0||Minimum 2||None||High||High|
|RAID 1||2 only||RAID-1 continues to operate even if one drive fails||Medium||Medium|
|RAID 5||Minimum 3||RAID-5 continues to operate even if one drive fails||High||Medium|
|RAID 6||Minimum 4||RAID-6 continues to operate even if two drives fail||High||Low|
|RAID 10||Minimum 4||RAID-10 continues to operate even if two drives fail||High||High|
RAID-0 (striping) is somewhat of a misnomer because it doesn’t provide any redundancy or fault tolerance. It includes two or more physical disks. Files stored on a RAID-0 array are spread across each of the disks.
The following graphic shows the two disks with a file. Half the file is written on one disk and the other half is written on the other disk.
The benefit of a RAID-0 is increased read and write performance. Because a file is spread across multiple physical disks, the different parts of the file can be read from, or written to, each of the disks at the same time. This is useful for any systems that need fast input/output (I/O) performance, such as from a server that streams audio or video.
If you have two 500 GB drives used in a RAID-0, you have 1000 GB (1 TB) of storage space.
The following graphic illustrates what happens if a drive fails. You only have part of the file, which isn’t usable without the rest of the file. In other words, all the data is lost if one of the drives fail.
RAID-0 (striping) provides fast input/output performance for reading and writing, but no fault tolerance. It requires a minimum of two disks. All disks are used for data storage.
RAID-1 (mirroring) uses two disks. Data written to one disk is also written to the other disk.
If you have two 500 GB drives used in a RAID-1, you have 500 GB of usable storage space. The other 500 GB of storage space is dedicated to the fault-tolerant, mirrored volume.
You can add an additional disk controller to a RAID-1 configuration to remove the disk controller as a single point of failure. Adding a second disk controller to a mirror is called disk duplexing. It provides a separate disk controller for each disk.
RAID-1 provides a slight increase in read performance because systems can read data from both drives at the same time.
If one of the disks fails, the other disk still has all the data, so the system can continue to operate without any data loss. With this in mind, if you mirror all the drives in a system, you can actually lose half of the drives and continue to operate.
RAID-1 (mirroring) provides fault tolerance and a slight increase in read performance, but no increase in write performance. It requires two disks. The equivalent of one drive is used for redundancy instead of extra storage space.
RAID-2, RAID 3, and RAID-4 are rarely used.
A RAID-5 is three or more disks that are striped together similar to RAID-0. However, the equivalent of one drive includes parity information that helps the drive provide fault tolerance.
If you have three 500 GB drives used in a RAID-5, you have 1000 GB of usable storage space. The other 500 GB of storage space is used for parity.
The above graphic is a simplistic view of a RAID-5. The parity information is actually striped across each of the drives in a RAID-5 as shown in the following graphic.
Because a system can read data from multiple drives at the same time, RAID-5 provides strong read performance. Add more drives and it becomes even faster. However, when writing to the drives, the system has to calculate the parity which can slow down the write performance.
If one of the drives fail, the system can read the information on the remaining drives and recreate the actual data. In other words, a RAID-5 can tolerate the failure of a single drive. If two of the drives fail in a RAID-5, the data is lost.
Many disk vendors have been recommending the use of RAID-6 or RAID-10 instead of RAID-5 for any drives of 1 TB or larger. This is partly due to the unrecoverable error rate (URE) of standard SATA drives. If a URE occurs with a disk failure, it can prevent administrators from rebuilding a RAID-5 after a single disk failure. Also, due to the increasing size of hard drives, it takes a long time to rebuild a RAID-5.
RAID-5 (striping with parity) provides fault tolerance and will continue to operate even if a single drive fails. It provides an increase in read performance, but no increase in write performance. It requires a minimum of three disks. The equivalent of one drive is used for parity instead of data storage space.