RAID Levels Explained: 0, 1, 5, 6, 10 and When to Use Each
RAID (Redundant Array of Independent Disks) is a fundamental storage technology that combines multiple drives to improve performance, provide redundancy, or both. Understanding the different RAID levels and their trade-offs is essential for anyone designing server or storage infrastructure. This guide covers every common RAID level in detail.
What Is RAID?
RAID stands for Redundant Array of Independent Disks (originally "Inexpensive Disks" when the concept was introduced at UC Berkeley in 1988). The core idea is simple: by combining multiple physical drives into a logical unit, you can achieve levels of performance, capacity, and fault tolerance that no single drive can provide on its own.
Different RAID levels use different strategies — striping (splitting data across drives for speed), mirroring (duplicating data for redundancy), and parity (calculating recovery data so lost drives can be rebuilt). Each level represents a different balance of these techniques, and choosing the right one depends on your priorities: raw performance, data protection, usable capacity, or a combination of all three.
RAID is not a backup. RAID protects against drive failure — it keeps your systems running when a disk dies. But it does not protect against accidental deletion, ransomware, corruption, fire, theft, or any scenario where the entire array is affected. You still need a proper backup strategy regardless of your RAID level.
RAID 0: Striping (No Redundancy)
RAID 0 splits (stripes) data evenly across two or more drives with no parity or mirroring. Every read and write operation is distributed across all drives in the array, which means performance scales linearly with the number of drives — a 4-drive RAID 0 array can theoretically deliver 4x the throughput of a single drive.
Minimum drives: 2. Usable capacity: 100% of total drive capacity (no overhead). Fault tolerance: None. If any single drive in the array fails, all data is lost. In fact, the more drives in a RAID 0 array, the higher the probability of failure — you are multiplying risk rather than reducing it.
RAID 0 is used where performance is paramount and data loss is acceptable — scratch disks for video editing, temporary build environments, or any scenario where the data can be easily recreated or exists elsewhere. It should never be used for any data you cannot afford to lose.
RAID 1: Mirroring
RAID 1 creates an exact copy (mirror) of data on two or more drives. Every write operation is performed on all drives simultaneously, so each drive contains a complete copy of the data. If one drive fails, the other continues operating seamlessly — the system does not even need to pause.
Minimum drives: 2. Usable capacity: 50% of total capacity (half is used for the mirror). Fault tolerance: Can survive 1 drive failure in a 2-drive mirror. Read performance can be improved because the controller can read from both drives simultaneously, but write performance is no better than a single drive because every write must be committed to both disks.
RAID 1 is commonly used for operating system drives and boot volumes, where reliability is critical but the capacity requirement is modest. It is also the simplest RAID level to understand and recover from — in an emergency, you can pull out a single mirror drive and read it in any compatible system.
RAID 5: Striping with Single Parity
RAID 5 stripes data across three or more drives and adds distributed parity information. Parity is a calculated value that allows the array to reconstruct any single drive's data using the data from the surviving drives plus the parity blocks. The parity is spread across all drives (not stored on a dedicated drive) to avoid a bottleneck.
Minimum drives: 3. Usable capacity: (N-1) drives, where N is the total number of drives. So a 4-drive RAID 5 with 2TB drives gives you 6TB usable. Fault tolerance: Can survive 1 drive failure. Read performance is excellent (similar to RAID 0). Write performance is slower because every write requires a parity calculation and an additional parity write.
RAID 5 with large drives is risky. When a drive fails in a RAID 5 array, the rebuild process reads every sector of every remaining drive. With modern drives of 4TB or larger, this rebuild can take 12-24+ hours, during which the array has zero redundancy. If a second drive fails or an unreadable sector (URE) is encountered during rebuild, you lose the entire array. For arrays with drives larger than 2TB, RAID 6 or RAID 10 is strongly recommended.
RAID 6: Striping with Double Parity
RAID 6 extends RAID 5 by adding a second set of parity data. This means the array can tolerate two simultaneous drive failures without data loss — a critical advantage with today's high-capacity drives where rebuild times are lengthy.
Minimum drives: 4. Usable capacity: (N-2) drives. A 6-drive RAID 6 with 4TB drives gives you 16TB usable. Fault tolerance: Can survive 2 simultaneous drive failures. Read performance is similar to RAID 5. Write performance is slower than RAID 5 because two parity blocks must be calculated and written for every data write.
RAID 6 is the recommended minimum for most NAS and server deployments using large-capacity drives. The extra parity drive's worth of lost capacity is a small price to pay for the dramatically improved resilience during rebuild operations. Most enterprise storage arrays default to RAID 6 or equivalent.
RAID 10: Mirroring Plus Striping
RAID 10 (also written RAID 1+0) combines RAID 1 mirroring and RAID 0 striping. Drives are first arranged in mirrored pairs, then the pairs are striped together. This gives you the performance benefits of striping with the redundancy of mirroring — and critically, no parity calculations are needed, so write performance is excellent.
Minimum drives: 4 (in even numbers). Usable capacity: 50% of total capacity. Fault tolerance: Can survive 1 drive failure per mirror pair (potentially multiple simultaneous failures as long as both drives in a single pair do not fail together). Rebuilds are fast because only the failed drive's mirror needs to be copied, not the entire array.
RAID 10 is the preferred choice for database servers, mail servers, and any write-intensive workload where performance and reliability are both critical. The trade-off is cost — you need twice as many drives for the same usable capacity compared to RAID 5 or 6. But the performance and rebuild speed advantages make it worth the investment for critical systems.
RAID Level Comparison
RAID Levels Compared
| Feature | RAID 0 | RAID 1 | RAID 5 | RAID 6 | RAID 10 |
|---|---|---|---|---|---|
| Minimum Drives | 2 | 2 | 3 | 4 | 4 |
| Usable Capacity | N drives | N/2 drives | N-1 drives | N-2 drives | N/2 drives |
| Fault Tolerance | None | 1 drive | 1 drive | 2 drives | 1 per mirror pair |
| Read Performance | Excellent | Good | Good to excellent | Good to excellent | Excellent |
| Write Performance | Excellent | Moderate | Moderate | Slower | Good to excellent |
| Rebuild Time | N/A | Fast | Slow (full parity rebuild) | Slower (dual parity) | Fast (mirror copy) |
| Cost Efficiency | 100% capacity | 50% capacity | 67-93% capacity | 50-87% capacity | 50% capacity |
| Best Use Case | Temp/scratch data | OS boot drives | General file storage | NAS, large drives | Databases, VMs |
Hardware RAID vs Software RAID
Hardware RAID uses a dedicated controller card with its own processor and (ideally) battery-backed cache. The controller handles all RAID calculations independently of the server's CPU, and presents the array to the operating system as a single logical disk. Hardware RAID offers the best performance and is transparent to the OS. Enterprise controllers from vendors like Broadcom (formerly LSI/Avago) include features like hot-spare drives, predictive failure alerts, and battery or flash-backed write caching.
Software RAID uses the server's CPU and operating system to manage the array. Linux mdadm, Windows Storage Spaces, and ZFS are all software RAID implementations. Modern CPUs are fast enough that the performance overhead is minimal for most workloads. Software RAID is cheaper (no controller card needed), more portable (the array is not tied to a specific controller model), and in the case of ZFS, offers data integrity features like checksumming that hardware RAID controllers cannot match.
Hot spares save downtime. A hot spare is a drive installed in the array but not actively used. When a drive fails, the RAID controller automatically begins rebuilding onto the hot spare immediately, reducing the window of vulnerability. For any RAID 5 or RAID 6 array, a hot spare is a worthwhile investment — it turns a 2am drive failure from an urgent issue into a morning task.
Choosing the Right RAID Level
Here are practical recommendations by workload:
- File server or NAS: RAID 5 for smaller arrays (3-4 drives with drives under 2TB), RAID 6 for anything with larger or more drives. Synology and QNAP offer their own RAID variants (SHR/QTIER) that add flexibility.
- Database server: RAID 10 for the data volumes. The write performance and fast rebuild times are essential for transactional workloads.
- Virtualisation host: RAID 10 or RAID 6 depending on whether you prioritise performance or capacity. Many environments use RAID 10 for VM storage and RAID 6 for backup repositories.
- Boot/OS drive: RAID 1 is sufficient — simple, reliable, and easy to recover from.
- Backup target: RAID 6 provides the best combination of capacity and resilience for large backup repositories where write performance is less critical.