Explaining Data Storage: RAID

Explaining Data Storage: RAID

Whenever we deploy a new multi-drive data storage solution for our clients, we will inevitably receive the question, "Will we lose data if one of the drives fails?". To answer this question, we will need to understand how the drives are configured in a typical data storage server.

In most cases, the drives in a storage server are configured using a technology known as Redundant Array of Independent Disks (RAID). RAID allows us to combine multiple storage drives into a single logical storage pool, enabling users to store data across the various storage drives as if it were just a single device. There are several options (a.k.a RAID levels) available and different options provide differing levels of fault tolerance and performance. Let us take a look at some of the most common ones below.


RAID 0: Striping with no parity

This RAID level splits data evenly across all drives in the storage pool. When data is copied to the pool, RAID 0 divides it into blocks and distributes them across the drives, allowing for simultaneous read and write operations.

  • Minimum Number of Drives: 2
  • Usable Capacity: Sum of the capacity of all drives. For example, four 1TB drives yield 4TB of usable capacity.
  • Fault Tolerance: None. Failure of a single drive results in total data loss.
  • Performance: High read and write speeds. Both read and write speeds are significantly improved due to parallel data access.

RAID 1: Mirroring with no striping

This RAID level duplicates the same data onto two or more drives in the storage pool. When data is copied to the pool, RAID 1 writes it identically to each drive.

  • Minimum Number of Drives: 2
  • Usable Capacity: Capacity of a single drive. For example, four 1TB drives yield 1TB of usable capacity.
  • Fault Tolerance: Failure of all but one drive will still not result in any data loss. Data loss only occurs when all drives fail.
  • Performance: High read speeds but write speeds are limited to the speed of the slowest drive.

RAID 5: Striping with single parity

This RAID level combines data striping with parity. When data is copied to the storage pool, RAID 5 first splits it into blocks and then calculates parity information for the blocks before distributing them across all drives. The addition of parity information allows RAID 5 to reconstruct data if a single drive was to fail.

  • Minimum Number of Drives: 3
  • Usable Capacity: Sum of the capacity of all drives minus one drive. For example, four 1TB drives yield 3TB of usable capacity.
  • Fault Tolerance: Failure of one drive will not result in any data loss. Data loss only occurs when two or more drives fail.
  • Performance: High read speeds but write speeds are slower than RAID 1 due to overhead incurred during parity calculations.

RAID 6: Striping with double parity

This RAID level combines data striping with parity. Similar to RAID 5, RAID 6 splits data into blocks and calculates parity information. However, RAID 6 calculates two sets of parity for the blocks instead of a single set. These two sets of parity allow RAID 6 to reconstruct data even if two drives were to fail at the same time.

  • Minimum Number of Drives: 4
  • Usable Capacity: Sum of the capacity of all drives minus two drives. For example, four 1TB drives yield 2TB of usable capacity.
  • Fault Tolerance: Failure of one or two drives will not result in any data loss. Data loss only occurs when three or more drives fail.
  • Performance: High read speeds but write speeds are slower than RAID 1 due to overhead incurred during parity calculations.

Summary

In conclusion, whether data is lost when a drive fails depends on the RAID configuration of the storage solution. By examining the RAID level, we can determine the system's fault tolerance and assess if the data is adequately protected against drive failures. If you would like assistance with your IT projects, fill in the "Contact Us" form on our main site, and our team of professionals will get back to you soon!