Here at Computer Direct Business we are often asked; “What is hard drive RAID?”, “Do I need a RAID array?”, “What is the difference between the types of HDD RAID arrays?”. So we have prepared the following post explaining what a RAID array is, the different types of RAID configurations, and the benefits and limitations of each.
RAID stands for Redundant Array of Independent Disks. If you intend to put your hard drives (HDDs) in a RAID array you will need a RAID controller. To find out which RAID options a particular server or workstation natively supports, please check the specifications for that system’s motherboard.
While integrated RAID controllers provide sufficient RAID options and performance for many users, dedicated RAID controllers are a more robust solution. They support a wider range of array types and have dedicated processors, freeing up the system’s CPU to focus on other tasks. For a higher-end RAID solution where performance and stability are critical, hardware RAID controllers are essential.
For maximum performance and stability, it is strongly recommend that all HDDs in a RAID be identical. There are several variations available designed to meet your individual requirements. Some provide larger, faster storage solutions. Others trade off capacity for increased reliability. Yet others try and accomplish both. Here is a summary of the basic types of RAID available today.
RAID 0 – Striping
Data is striped across two or more HDDs. Each file or set of data is broken into pieces with one part placed on the first HDD, another part written to the second, and another to the third, etc., depending on the number of HDDs in the array. This allows the computer to access data faster than normal, because the data is split equally between multiple physical HDDs that can all be put to use when retrieving data. However, with this speed increase comes a significant danger of data loss. If any HDD in the array fails, you lose ALL the data in the array. Since there is no redundancy, all the disk space is available to be used.
RAID 1 – Mirroring
Mirroring is basically the inverse of striping. Rather than putting pieces of data on each HDD, a copy of every piece of information is written to every HDD in the array. This is usually done with two HDDs, so that if one HDD fails you have a complete and up-to-date backup of everything. In fact, the array can continue to function as long as a single disk is intact and operational. Since all the data is being written to every HDD, there is no performance benefit and only the capacity of a single drive is available in the array.
RAID 0+1 combines the performance enhancement of RAID 0 with the redundancy and higher reliability of RAID 1. It requires four or more HDDs and effectively creates two RAID 0 arrays, and then mirrors them. Either array could fail and the other array would be unaffected, continuing to function. However, similar to RAID 1, only half the total amount of disk space is usable.
RAID 10 provides both an increase in performance as well as improved reliability over a single HDD. This is done by creating two RAID 1 mirror arrays and then striping data across them. One HDD can fail and the array should continue to function. Four or more HDDs are required and only half the total disk space is usable.
The key to RAID 5 is ‘parity’ data. Parity data is special code generated when data is written to any array that allows it to rebuild a whole HDD if one should fail. The array operates by striping a given amount of data across all the HDDs except one, and using that one to store parity data. The next piece of data is treated the same, except that a different HDD is used to store the parity data. This way, the total storage available is the total amount of HDD space less one HDD’s worth. Reading data from a RAID 5 array is a bit slower than from a RAID 0, but is slightly faster than a single HDD.
RAID 50 is basically striped pairs of RAID 5 arrays, giving increased performance at the cost of a small amount of reliability. It requires 6 HDDs at a minimum and requires advanced, and often expensive, controller cards.
RAID 6 uses the same basic idea as RAID 5, but creates two separate parity sets. This means it has to have four HDDs to function and loses two HDDs worth of storage space to parity. However, it also means that any two HDDs can fail and the array can still rebuilt without loss of data. Additionally, RAID 6 can scale easily and be used with very large storage arrays while only losing a small portion of their overall drive space. For example, a 10 disk RAID 6 array would still have 8 HDDs worth of storage space and be able to handle two HDD failures. Reading data from a RAID 6 array is not quite as fast as it would be from a RAID 5, but it is still faster than a single HDD.
RAID 60 is a striped pair of RAID 6 arrays, giving increased performance at the cost of a small amount of statistical reliability; however, it requires 8 HDDs at a minimum and requires advanced and often expensive controller cards.