Data protection & recovery
RAID
RAID (redundant array of independent disks) is a technique that combines several drives into one logical unit to improve reliability, performance or both. Depending on the level, data is striped across drives, mirrored, or protected with parity so that the array survives the failure of one or more drives.
What are the common RAID levels?
Levels differ in how many drive failures they tolerate and how much capacity they spend on protection.
| Level | Method | Drive failures tolerated | Usable capacity |
|---|---|---|---|
| RAID 0 | Striping, no redundancy | None | 100 percent |
| RAID 1 | Mirroring | One per mirror pair | 50 percent |
| RAID 5 | Striping with single parity | One | All but one drive |
| RAID 6 | Striping with double parity | Two | All but two drives |
| RAID 10 | Striped mirrors | One per pair | 50 percent |
How does RAID protect data?
Mirroring keeps an identical copy on a second drive. Parity stores a calculated value across the group from which any one missing drive's contents can be worked out, or two with double parity. When a drive fails, the array keeps running in a degraded state and reconstructs the missing data onto a replacement, a data rebuild. RAID is implemented by a hardware controller or by software in the operating system.
Where does RAID reach its limits?
RAID was designed when drives were small. With drives of many terabytes, a rebuild takes a day or more, during which a further failure in a single-parity group loses the array. The chance of hitting an unreadable sector during such a long rebuild is also significant, which is why single parity is no longer recommended for large drives. RAID protects only against drive failures within one enclosure. It does not help when the server, its controller or the site fails. And it is not a backup: deletions and corruption are applied to all drives at once.
How does RAID compare with erasure coding?
Erasure coding generalizes the parity idea. Data is split into fragments with additional coded fragments, and the set is spread across many servers or sites instead of the drives in one group. It can tolerate more simultaneous failures, including whole servers, with similar or lower capacity overhead, and it rebuilds in parallel from many sources. Distributed storage systems use it in place of RAID and run on plain disks, described under JBOD. RAID remains common inside individual servers and smaller arrays. Erasure coding versus replication compares the scale-out options.
Frequently asked questions
Is RAID a backup?
No. RAID keeps a system running through a drive failure. It does not protect against deletion, corruption, ransomware or loss of the whole system.
Which RAID level is best?
It depends on the goal. RAID 6 and RAID 10 are the usual choices where data matters, trading capacity for tolerance of failures.
What is the difference between hardware and software RAID?
Hardware RAID uses a dedicated controller. Software RAID is done by the operating system. Both implement the same levels.
Related terms
- Erasure coding: the generalization used in distributed storage.
- JBOD: plain disks with no RAID.
- Data rebuild: what follows a drive failure.
- Data durability: the property redundancy is meant to deliver.
- Annualized failure rate (AFR): how often drives in an array fail.