RAID is simply a technology that uses multiple disks to provide fault tolerance and/or increased storage capacity. The technology combines multiple disks into one, and depending on which level you can increase the overall capacity or increase fault tolerance. The different levels on offer on most RAID systems can be confusing, this guide provides a visual guide to RAID levels.
RAID array's can contain volumes of any size, however the array will only use the the smallest capacity, any extra on larger disks will not be used. For example, a striped array with a 300GB drive and a 500GB drive will only have a capacity of 600GB (300GB x2). Ideally all disks in the array should be the same capacity.
RAID can be defined in hardware or in software, but the levels are the same regardless.
There are four main RAID levels that are common place. These are:
- RAID 0
- RAID 1
- RAID 5
- RAID 1+0 (sometimes called RAID 10)
RAID 0 requires a minimum of 2 disks, and in this configuration the capacity of the array is equal to the total capacity of all the drives in the array. This is the most simple of configurations and offers excellent performance. Files stored on the array are spread across multiple disks, a process called striping. Using multiple disks in the array, reads and writes can be performed simultaneously which means that disk access is much faster. The trade off is that there is no fault tolerance, if any of the drives fail you will loose the entire contents of the array.
RAID 1 also requires a minimum of 2 disks and in this configuration the capacity is half the total of all the drives in the array. This is also a simple configuration where data is written to both drives at the same time. Performance is not as good as with RAID 0, however the data is stored completely on each disk, so you can lose one and still recover the data on the other. Because data can be read from both drives the performance is better than a single drive, but write speed is only as good as a single drive.
RAID 5 is an extension to RAID 3 and RAID 4 which are not used these days. They use parity bytes (RAID 3) or blocks (RAID 4) which is a value based on the value of the data stored in each disk location. This configuration has good read performance, and good redundancy, and can be cost effective fault tolerance. RAID 5 improves on this by utilising all three disks for storage, whilst distributing parity across the three drives. This not only increases capacity and performance but also increases fault tolerance.
As the name suggests, this configuration is a combination of RAID 1 and RAID 0. This configuration is the most cost expensive, but has the best performance and the best fault tolerance. It requires a minimum of 4 drives, with each chunk of data striped cross two drives, and both drives mirrored to the second pair. This has the performance of striping with the redundancy of mirroring. Capacity of half the total capacity of the drives.