RAID stands for Redundant Array of Independent Disks. It is a data storage technology that combines multiple disk drive components into a logical unit. Data is distributed across the drives in one of several ways called RAID levels, depending on the required level of redundancy and performance.
The different RAID levels provide various combinations of increased data reliability and/or increased input/output performance. Some key RAID levels include:
- RAID 0 – Stripes data across disks for higher performance, but does not provide redundancy.
- RAID 1 – Mirrors data across disks for fault tolerance.
- RAID 5 – Stripes data and parity information across disks for fault tolerance and improved performance.
- RAID 6 – Stripes data and dual parity information across disks for high fault tolerance.
- RAID 10 – Mirrors stripes of data for both performance and redundancy.
The key benefits of using RAID include:
- Increased data reliability and fault tolerance – Data is replicated across multiple disks, so if one disk fails, data can be rebuilt from the remaining disks.
- Improved performance – Spreading data across multiple disks can increase read/write speeds.
- Economy – RAID can achieve redundancy using inexpensive disks.
By combining multiple inexpensive disks, RAID provides greater data storage capabilities, reliability and speed for a lower cost than a single high quality disk (Source: https://www.quora.com/What-is-the-benefit-of-using-a-RAID-system).
Factors that determine RAID size
The RAID size is determined by several key factors:
Number of disks
The total number of disks in the RAID array is one of the main factors that affects overall capacity. More disks allow for larger total capacity, but also introduce more potential points of failure.
Capacity of each disk
Larger capacity hard disks allow for greater overall RAID capacity. For example, eight 10 TB disks will provide more total capacity than eight 1 TB disks.
RAID level
The RAID level configuration determines how much actual usable capacity is available after accounting for overhead. For example, RAID 0 provides 100% capacity with no overhead, while RAID 1 provides 50% usable capacity since data is mirrored.
Overhead based on RAID level
Some RAID levels like RAID 5 and 6 require capacity for parity information, which reduces usable space. RAID 5 uses the equivalent of 1 disk for parity, while RAID 6 uses the equivalent of 2 disks. This overhead must be accounted for when calculating total usable space.[1]
In summary, the total number of disks, their individual capacities, RAID level overhead, and redundancy mechanisms all factor into determining the overall usable space of a RAID configuration.
Calculating Total Capacity
The total capacity of a RAID array is determined by adding up the capacity of each individual hard disk drive (HDD) or solid state drive (SSD) in the array. However, the usable capacity will be less than this total due to overhead required for parity and striping in certain RAID levels.
The basic formula for total RAID capacity is:
Total capacity = Number of drives x Capacity of each drive (GB)
For example, a RAID array with 4 x 2TB drives would have a total capacity of:
4 x 2TB = 8TB
However, the usable capacity depends on the RAID level configuration. RAID 0 provides 100% capacity utilization since it stripes data across disks with no parity. But RAID 5 and 6 require one or two disks worth of capacity for parity data, respectively. RAID 1 and 10 also require 50% of capacity for mirroring/striping.
So the usable capacity calculations must account for the RAID level overhead. We’ll cover the capacity formulas for specific RAID levels next.
RAID 0
RAID 0 provides no data redundancy and offers the maximum storage capacity among RAID levels. The total capacity of a RAID 0 array is simply the sum of the capacities of the individual drives that make up the array.
For example, if a RAID 0 array consists of three 500 GB hard drives, the total capacity would be 1500 GB (500 GB x 3 drives). The increased capacity comes from the fact that data is striped across each drive, utilizing the full capacity of all disks.
According to How To Calculate RAID 0 Capacity, if you have a RAID 0 array with three 500 GB drives, the total capacity is 1500 GB.
The main tradeoff with RAID 0 is no fault tolerance – if one drive fails, all data will be lost. However, RAID 0 provides fast read/write speeds since data can be accessed in parallel.
RAID 1
RAID 1, also known as disk mirroring, involves duplicating data across multiple disks. With RAID 1, data is written identically to two or more drives simultaneously. This provides increased read performance since either disk can be read independently. More importantly, it provides fault tolerance in the event that one of the disks fails – the data remains intact and accessible on the other disk(s).
When calculating RAID 1 capacity, the total size is equal to the capacity of the smallest drive. For example, if you have two 1 TB drives configured as a RAID 1 array, the total capacity is 1 TB, not 2 TB. This is because the data is mirrored, so there is two copies of each file written across both disks. If the drives were different sizes, say 1 TB and 2 TB, the total capacity would be limited to 1 TB. https://medium.com/@PITSGlobalDataRecoveryServices/how-to-calculate-raid-1-capacity-bd538417bd74
In summary, RAID 1 provides fault tolerance through disk mirroring at the cost of 50% capacity since data is duplicated on two disks. The total capacity is the size of the smallest drive in the array.
RAID 5
RAID 5 uses distributed parity, which means that parity information is distributed across all the drives in the array. The capacity of a RAID 5 array is calculated by taking the sum of all the drives in the array minus one drive for parity storage.
For example, in a RAID 5 array with 4 x 1TB drives, the total capacity would be 3TB. This is because 1 drive worth of capacity is used for parity information. So the calculation would be:
4 drives x 1TB capacity per drive = 4TB total
4TB total – 1TB for parity = 3TB usable capacity
This is one of the main advantages of RAID 5, as it provides redundancy and fault tolerance without too much storage capacity sacrifice compared to mirroring (as in RAID 1). However, RAID 5 write performance can suffer due to the parity calculations required on each write.
Source: How To Calculate RAID 5 Capacity
RAID 6
RAID 6, also known as double distributed parity, uses two parity disks to provide fault tolerance against two disk failures. This provides additional redundancy compared to RAID 5.
To calculate the total capacity of a RAID 6 array, take the sum of all the disk capacities and subtract the size of two disks. For example, if you have 6 x 4TB drives, the total capacity would be 4TB x 6 = 24TB. Then subtracting 2 x 4TB for the parity disks leaves 16TB of usable storage. The formula is:
Total Capacity = Sum of all disks – Size of 2 disks
For more details, see this in-depth article from TechTarget: How To Calculate RAID 6 Capacity
RAID 10
RAID 10, also known as RAID 1+0, is a nested RAID configuration that combines both mirroring and striping for redundancy and performance. It requires a minimum of 4 drives.https://www.datamation.com/networks/the-agony-and-ecstasy-of-raid/
In RAID 10, the drives are first mirrored into pairs, creating redundant copies. Then the mirror pairs are striped together, spreading data across multiple drives for faster reads and writes.https://smbitjournal.com/2010/02/
The capacity calculation for RAID 10 is the sum of the capacity of the smallest drives in each mirror pair, divided by 2. For example, if using four 2TB drives paired into two mirrors, the total capacity would be 2TB (2TB/2). This is because mirroring uses the capacity of the smallest drive in the pair.
RAID 10 provides fault tolerance through mirroring as well as increased performance through striping. However, it requires more drives compared to RAID 1 or RAID 5 for an equivalent amount of usable storage.
RAID 50
RAID 50 combines the striping of RAID 0 with the distributed parity of RAID 5. It requires a minimum of 6 drives.
RAID 50 arrays consist of RAID 5 sets striped together. For example, you could have 3 RAID 5 sets each containing 4 drives striped together. This provides both performance and redundancy benefits.
The formula for calculating RAID 50 capacity is:
(Disk size x (Number of RAID 5 sets – 1)) x (Number of drives per RAID 5 set – 1)
For example, with 3 RAID 5 sets each containing 4 2TB drives:
(2TB x (3 RAID 5 sets – 1)) x (4 drives per set – 1) = 12TB
The formula accounts for the capacity overhead of both the distributed parity in the RAID 5 sets, and the striping between sets.
RAID 50 provides faster performance than a single large RAID 5 array, while also providing fault tolerance. The tradeoff is complexity in setup and rebuild times if multiple disk failures occur across RAID 5 sets.(Raid Disk Space Utilization Calculator)
Considerations When Calculating RAID Size
There are several key factors to keep in mind when calculating the size for a RAID array:
Allow room for expansion – It’s a good idea to plan for future growth and leave open drive bays and capacity when creating the array initially. This makes it simpler to add additional disks later on if needed. According to NetApp, the recommended range is between 12-20 disks per RAID group to allow room for expansion (1).
Match disk sizes – For simplicity, all disks in the array should be the same size and speed. Mixing different drive capacities can lead to wasted space and more complex management (2).
Consider disk failure scenarios – Depending on the RAID level, 1 or 2 disk failures can be tolerated without data loss. But more disks means a higher likelihood of failure. Factor in the risk of multiple concurrent disk failures when designing larger arrays (3).