Server · Storage

RAID levels explained: 0, 1, 5, 6, 10 — capacity, speed and failure tolerance for each level

RAID — a redundant array of independent disks — is the standard way servers get more capacity, more speed, and more failure tolerance from multiple drives at once. The catch is that the word "RAID" covers five very different trade-offs: RAID 0 buys speed and gives up safety entirely, RAID 1 buys safety and gives up half your capacity, and RAID 5, 6, and 10 sit in between with different mathematics, different failure behavior, and different rebuild risks.

This guide explains each level the way you'd actually use the knowledge: what the data layout does, what the usable capacity really is (with a working calculator), what the performance profile looks like, and — the part most guides under-explain — what happens when a drive fails, because "tolerates N failures" is a statement about a healthy array, not a guarantee about a failing one. The capacity formulas here are the standard simplified models for equal-sized drives; where a real controller or storage system deviates, the guide says so.

One framing that governs everything below: RAID is not a backup. It protects against the failure of one or two drives in the array. It does not protect against a bad file, a ransomware encryption, a deleted folder, or a fire. The guide assumes you already have — or are about to get — a backup that lives somewhere else, and it's organized so that assumption never gets quietly dropped.

Image placeholder

RAID at a Glance — Drives, Controller, and Data Blocks

A host server connected to a RAID controller feeding several drives, with data blocks shown being split (striped), copied (mirrored), and protected (parity) — one visual for the three building blocks.

Suggested: 16:9 (≈1200×675) · Alt text: “Schematic of a host, RAID controller, and drives showing striping, mirroring, and parity”

To insert: set data-src on the <img> above (e.g., images/raid-at-a-glance.png). The placeholder card hides automatically when a valid image loads.

The basics

RAID fundamentals: what it is and what it isn't

Striping, mirroring, and parity are three independent ideas. Every RAID level you'll meet is a combination of them — and understanding the combination makes the rest of this guide arithmetic instead of memorization.

What the name means, and why arrays exist

RAID came from a 1988 research proposal that combined many inexpensive disk drives into one logical unit. The original expansion was "Redundant Array of Inexpensive Disks"; the industry later standardized on "Independent," which is the more accurate term since the drives in a modern array are often far from cheap. The proposal's insight is still the reason arrays exist: by splitting data across drives (striping) you get capacity and throughput that no single drive can match, and by adding redundancy (mirrors or parity) you get a system that keeps working when one of those drives dies.

Three properties are what you're actually choosing when you pick a level: usable capacity (how much of the raw drive space the array hands to the filesystem), performance (how the layout changes read and write behavior), and failure tolerance (how many drives can fail before the data is gone). Every level in this guide trades among exactly those three, and the calculator in Section 08 quantifies the first one.

The three building blocks: striping, mirroring, parity

Striping splits data into blocks and distributes them round-robin across multiple drives, so a single read or write can be served by — or written to — several drives in parallel. Striping is where RAID gets its speed, and it's the reason RAID 0 is fast and also why RAID 0 is fragile: when the data of every file is scattered across every member, losing one member means losing pieces of everything.

Mirroring keeps identical copies of the data on two (or more) drives. Every write goes to all copies; reads can come from any of them. Mirroring is the simplest redundancy there is — it tolerates a member failure with no reconstruction math — and its price is direct: two-way mirroring hands half the raw capacity to redundancy.

Parity is a computed checksum block that can stand in for any one (RAID 5) or any two (RAID 6) missing data blocks in a stripe. Parity is cheaper than mirroring — one parity drive's worth instead of half the array — at the cost of write complexity (updating parity takes extra I/O) and of a longer, more dangerous rebuild, because the replacement data has to be recomputed from the survivors rather than simply copied.

Hardware, software, and operating-system-managed RAID

The same level can be implemented three ways, and they don't behave identically. A hardware RAID controller is a dedicated card (often with its own cache and, on server-grade units, a battery or capacitor backup) that presents the array to the OS as one or more disks; the array configuration lives in the controller. Software RAID (Linux md/DM, Windows Storage Spaces) is managed by the OS on the CPU — no special hardware, configuration survives in the OS, and performance depends on the CPU and cache. Filesystem-level pools (ZFS and similar) go further: redundancy plus checksumming of all data and metadata, with self-healing behavior classic RAID doesn't have.

The trade-offs are real, not religious: hardware controllers can offload work and offer cache/BBU features, but they're a cost, a potential single point of failure, and a portability problem if the card dies. Software RAID is flexible and free, but it uses CPU cycles and the array is tied to that OS installation. When a claim in this guide says "the controller" or "the implementation," it's because the answer can differ between these three — a level's mathematics (capacity, tolerance) is the same everywhere; its speed, rebuild behavior, and failure handling are not.

Raw capacity, usable capacity, and what the filesystem actually sees

Keep three numbers straight. Raw capacity is the sum of the drives' labeled sizes. Usable capacity is what the RAID level's layout hands out: N×S for RAID 0, S for a two-drive mirror, (N−1)×S for RAID 5, (N−2)×S for RAID 6, (N/2)×S for RAID 10 — where N is the drive count and S is the smallest member's capacity. Redundancy overhead is the difference: the raw space consumed by copies and parity.

The number the filesystem reports will be a little smaller than the usable figure, and that's normal: the filesystem reserves space for its own metadata, drives' actual capacity falls slightly short of their decimal label, and some controllers reserve a small slice for metadata or spares. None of this is an error — it's why this guide presents formulas as planning estimates and never as byte-exact promises.

Level 0

RAID 0: all speed, no protection

RAID 0 is pure striping with zero redundancy. It's the level to understand first, because every other level is "RAID 0 plus a safety mechanism" — and the safety mechanisms are exactly what RAID 0 doesn't have.

Image placeholder

RAID 0 — Data Striping Across Four Drives

Four drives with data blocks (A1, B1, C1, D1, A2, B2…) interleaved round-robin, showing that every file spans every drive and that one failed drive removes blocks from all files at once.

Suggested: 16:9 (≈1200×675) · Alt text: “Diagram of RAID 0 striping data blocks across four drives”

To insert: set data-src on the <img> above (e.g., images/raid0-striping.png).

How striping works

A RAID 0 array divides data into blocks (the stripe unit, typically 64 KB to 1 MB depending on the implementation) and writes them in rotation: block 1 to drive 0, block 2 to drive 1, and so on. The practical consequence is parallelism — a large sequential read of a 4 GB file can be served by all four drives simultaneously, and a write is committed when the (fewer, wider) parallel operations complete. The more members, the more I/O can happen at once, up to the point where the controller, bus, or drives themselves become the limit.

Capacity: N × S, minimum two drives

RAID 0 wastes nothing on redundancy, so usable capacity is the full raw total: N × S (S = smallest drive). Two 8 TB drives give a 16 TB volume; four give 32 TB. The minimum is two drives — a one-drive "RAID 0" is just a drive. The only capacity cost in the array is the small filesystem and controller overhead discussed in Section 01, which applies to every level equally.

Why one failed drive ends everything

Because every file's blocks are spread across every member, a single failed drive doesn't lose "a file" — it loses one block out of every stripe, which means it loses pieces of all the data. With no mirror to copy from and no parity to recompute from, the array has no way to reconstruct anything, and the whole volume is unavailable. Most implementations mark the array failed immediately; the data is recoverable only with specialized forensics on the surviving drives, which is a specialist service, not a recovery plan.

Drive count makes this worse in a way that surprises people: a four-drive RAID 0 has four times the failure surface of one drive, so the array's expected lifetime is shorter than any single member's. Adding drives to a RAID 0 buys capacity and speed, and it proportionally increases the chance that something in the array fails. The math is unforgiving precisely because there is no "one failure is okay" state.

Where RAID 0 fits — and where it doesn't

RAID 0 is a legitimate tool when the data is regenerable: video-editing scratch disks, render caches, build output, temporary datasets, game storage you can re-download. In those roles it's excellent — maximum capacity, maximum throughput, minimum cost per usable terabyte. The inapplicable role is anything whose only copy lives in the array: photo libraries, databases, project files. The decision rule is one question: "If this array died tonight, would I lose anything I can't recreate?" If yes, RAID 0 is out regardless of how much you like the speed.

Level 1

RAID 1: mirroring, the simplest safety net

RAID 1 writes identical data to two drives and reads from either. It's the level with the least moving parts — no parity math, no stripe reconstruction — which makes it the default choice for operating systems and for anyone who values a fast, simple recovery over maximum capacity.

Image placeholder

RAID 1 — Mirrored Data on Two Drives

Two drives holding byte-identical block sequences, with an arrow showing a write going to both simultaneously and a read being served from either member.

Suggested: 16:9 (≈1200×675) · Alt text: “Diagram of RAID 1 mirroring identical data to two drives”

To insert: set data-src on the <img> above (e.g., images/raid1-mirror.png).

How mirroring works, and what it costs

Every write is committed to both members; a read can be served by either. Usable capacity is S — one drive's worth — so a two-drive mirror of 8 TB drives is an 8 TB volume with 100% redundancy overhead. The minimum for the classic two-way mirror is two drives; larger even counts can be arranged as N/2 pairs (a common software-RAID layout), giving (N/2)×S usable, but the standard form — and the one this guide's calculator uses — is the single pair.

Writes are bounded by the slowest member (the controller typically waits for the slower drive to acknowledge), and there's no parity penalty — a mirrored write is just "write twice," not the multi-step read-modify-write that parity levels require. That makes RAID 1's write behavior among the best of the redundant levels, which is why operating-system volumes so often run on it.

Failure behavior: one of two, and the second one is fatal

A two-way mirror tolerates exactly one failed member: with drive A gone, drive B holds a complete, current copy and the array keeps serving — degraded, at single-drive capacity, with no performance math involved in the reads. Which member failed doesn't change what's recoverable in a two-way mirror (the survivor is always the full dataset); what does matter operationally is that the array now has zero redundancy, and the second member is the only thing standing between the system and data loss. Replacement and resync are not optional maintenance; they're the window where the mirror is genuinely one bad day from a disaster.

And the mirror's protection has a boundary people blur: it protects against the drive failing, not against the data being wrong. Both members receive the same writes — the same corruption, the same bad update, the same ransomware. A mirror is one redundant copy, and the backup (Section 01) is still the only thing that survives a logical failure.

Reads, and the rebuild

Read performance depends on the implementation: a capable controller or software stack can stripe reads across both mirrors (interleaving requests between them for up to roughly double single-drive throughput for concurrent reads), while a basic setup simply reads from one member at a time. Either way, mirror reads never involve reconstruction — the data is there, verbatim — which keeps latency low and behavior predictable.

When a member fails, recovery is a resync: the replacement drive receives a complete copy of the surviving member. There's no parity computation, so resyncs are typically faster and less CPU-intensive than parity rebuilds — the limiting factor is raw copy bandwidth. Until the resync completes, the array is still a degraded mirror with zero redundancy, so the same urgency applies: finish the resync, then verify it (Section 10 covers verification and scrubbing).

Two-way mirrors versus three or more copies

Nothing stops a mirror from having three (or more) members — several software stacks and ZFS-style pools support them — and a three-way mirror tolerates any single failure with a full copy still redundant behind it. The cost scales linearly (three drives, one drive usable), so three-way mirrors are a deliberate choice for very critical, capacity-tolerant roles rather than a default. If someone shows you a "RAID 1" with five drives, ask what layout it actually is: one pair plus spares, two pairs striped, or a multi-way mirror — the failure behavior is different in each case, and the label alone doesn't tell you which.

Level 5

RAID 5: distributed single parity

RAID 5 is the workhorse of general-purpose file servers: one parity drive's worth of overhead instead of a mirror's half, in exchange for more complex writes and a rebuild that carries real risk. It's also the level whose "tolerates one failure" label people most often misunderstand.

Image placeholder

RAID 5 — Distributed Single-Parity Layout

A four-drive array with horizontal stripes; each stripe holds data blocks plus one parity block, and the parity position rotates (D,D,D,P → D,D,P,D → …), illustrating that no single disk is "the parity disk."

Suggested: 16:9 (≈1200×675) · Alt text: “RAID 5 layout with rotating parity blocks across four drives”

To insert: set data-src on the <img> above (e.g., images/raid5-parity.png).

Distributed parity — and why it's not on one disk

In a four-drive RAID 5, each stripe spans all four drives and holds data in three of them plus one parity block — the XOR-derived value that, combined with any three of the four blocks, reproduces the missing fourth. The key design decision: the parity position rotates from stripe to stripe. A layout with all parity on one dedicated disk is a real thing (RAID 4) — and it's obsolete for a specific reason: that one disk becomes the read and write bottleneck for every I/O, because every stripe touches the parity. Distributing parity spreads that traffic across all members, which is why "RAID 5" means distributed single parity, full stop.

Usable capacity is (N − 1) × S with a minimum of three drives: four 8 TB drives give 24 TB (one drive's worth to parity), and the redundancy overhead is 1/N of raw — 25% at four drives, 20% at five, falling as the array grows. That shrinking overhead is RAID 5's core economic argument against mirroring in capacity-oriented roles.

The write penalty

Updating data in a parity array means the parity block stays correct, and that costs extra I/O. A full-stripe logical write typically unfolds as a read-modify-write cycle: read the old data block, read the old parity block, compute the new parity, write the new data, write the new parity — on the order of four physical I/O operations where a plain write is one (implementations vary, and write-back cache changes the timing, but not the shape). Small random writes hit this hardest, because they can't avoid the extra reads; large sequential writes amortize it well. That's the mechanical reason "RAID 5 is great for files, awkward for databases" is a rule of thumb that keeps coming up.

Reads, by contrast, are close to single-drive speed for random access — a healthy RAID 5 serves normal reads without touching parity at all — which is why RAID 5's profile is "reads fine, writes pay a tax." The tax is the price of the cheaper redundancy, and it shows up most in exactly the workloads (random write IOPS) where RAID 10's lack of parity later becomes its advantage.

Degraded operation, and the window that actually matters

When one member fails, the array doesn't stop: it goes degraded, and every read that needed the missing block is reconstructed on the fly from the other data blocks plus parity. The system stays up — that's the point of the level — but it's now running with zero redundancy, and every I/O on affected stripes costs extra reads and CPU.

Here's the part that separates a working understanding from the label: the dangerous window is from the first failure until the rebuild finishes, which on large drives can be many hours. During that window, a second member failure ends the array. And even with all other members healthy, the rebuild itself reads the entire surviving set — and if one of those reads hits an unrecoverable read error (latent sector damage that only reveals itself when read), the rebuild can fail or the array can be lost. Neither outcome is guaranteed — rebuilds succeed most of the time — but the risk is real, scales with drive size and age, and is the technical reason "RAID 5 tolerates one failure" quietly assumes the rebuild works and nothing else fails meanwhile. That assumption is exactly what RAID 6 removes.

RAID 5 with large drives: why the math got uncomfortable

Rebuild time is roughly proportional to the capacity being reconstructed, so the same four-drive layout that rebuilt in under an hour with 2 TB drives takes several times longer with 16 TB drives — a longer zero-redundancy window, and more sectors read during the rebuild, which is also where unrecoverable-read risk accumulates. This is why many capacity-oriented environments have migrated from RAID 5 to RAID 6 (or to pool-style layouts) as drive sizes grew: not because RAID 5 is wrong, but because its single-parity budget was designed for an era of smaller disks. If you're building a new RAID 5 on large drives, the honest requirements are: quality drives with low AFR, spares on hand, monitoring that pages on failure, and a backup that doesn't depend on the rebuild succeeding.

Level 6

RAID 6: dual parity, two failures absorbed

RAID 6 is RAID 5 with a second, independent parity set — which changes the failure story from "survive one, rebuild fast" to "survive two, rebuild with margin." The cost is another drive's worth of capacity and a heavier write path.

Image placeholder

RAID 5 Versus RAID 6 — Capacity and Parity Overhead

Side-by-side six-drive layouts: RAID 5 with one rotating parity position per stripe (5×S usable) versus RAID 6 with two (4×S usable), plus a small inset showing both arrays surviving one and two failed members respectively.

Suggested: 16:9 (≈1200×675) · Alt text: “Comparison of RAID 5 and RAID 6 stripe layouts and failure tolerance”

To insert: set data-src on the <img> above (e.g., images/raid5-vs-6.png).

Two independent parity sets

RAID 6 stores two parity values per stripe, computed with independent algorithms (commonly one algebraic and one Galois-field-based, so the two syndromes carry independent information). The property that matters: with two missing blocks in a stripe, the two parity equations have exactly enough information to solve for both unknowns — which is why any two failed members, in any positions, are recoverable from the survivors. Usable capacity is (N − 2) × S with a minimum of four drives: six 8 TB drives yield 32 TB, and the overhead falls from 50% (four drives) to about 33% (six) to 25% (eight) as the array grows.

What dual parity costs: writes, and degraded reads

The write path is heavier than RAID 5's: a full-stripe update now maintains two parity values, adding reads and writes to the cycle (implementations batch this differently, but the direction is unambiguous — RAID 6 writes cost more than RAID 5's, and random small writes feel it most). Degraded-mode reads also get more expensive: reconstructing from one failed member in a two-failure state means combining two surviving data blocks with both parities. In practice this means RAID 6's throughput is somewhat below RAID 5's in write-heavy and degraded scenarios — a real but usually secondary concern next to what it buys.

"Tolerates two" — and what it does not guarantee

From a healthy state, RAID 6 survives any two member failures simultaneously or sequentially — a materially different safety profile from RAID 5, because the first failure no longer opens a fatal window: the array can sit degraded on one drive, get serviced on a normal schedule, and still absorb the second. The rebuild after a single failure also starts from a stronger position — the reconstruction has the second parity set available throughout, which reduces (not eliminates) the exposure to an unrecoverable read error mid-rebuild.

The boundary of the guarantee is worth stating plainly: RAID 6 tolerates two failed members. A third failure — before or during the rebuild of the second — loses the array, and a rebuild from a two-failure state is the slowest, most I/O-intensive one the level performs. "Tolerates two" is also a statement about member failures; a controller failure, a cabling fault, or a human removing the wrong drive is outside the parity math entirely. Dual parity buys time and margin — it doesn't buy immortality.

Where RAID 6 beats RAID 5 — and where the difference is academic

The case for RAID 6 is strongest in the capacity-oriented, large-drive world: many-drive arrays where the rebuild window is long, where spares and on-call coverage aren't instant, and where the extra drive's overhead (often 1–2 drives out of 8 or more) is affordable against the risk it removes. It's the default recommendation in most modern storage guidance for exactly that profile. Where the difference matters less: small arrays (four to six drives) on modest drives with fast spare coverage, where RAID 5's single-parity window is short and the extra parity drive is a large fraction of the array — and any environment with write-heavy random I/O, where RAID 6's heavier write path is a genuine daily cost. Implementation quality matters too: not every controller or software stack rebuilds RAID 6 with equal efficiency, so "RAID 6" on a basic consumer controller is not the same experience as on a serious storage appliance.

Level 10

RAID 10: mirrored pairs, striped together

RAID 10 (properly, RAID 1+0) builds mirrors first and then stripes across the pairs. The result is the redundant level with the best write behavior — no parity anywhere — and a failure tolerance that depends entirely on where drives fail.

Image placeholder

RAID 10 — Striping Across Mirrored Drive Pairs

Four drives grouped into two mirrored pairs (A/A' and B/B'), with stripe blocks alternating across the pairs — showing mirror-first, stripe-second construction.

Suggested: 16:9 (≈1200×675) · Alt text: “RAID 10 layout: two mirrored pairs with striped data across them”

To insert: set data-src on the <img> above (e.g., images/raid10-layout.png).

Image placeholder

RAID 10 — Failure Tolerance Across Mirror Pairs

Two panels: (1) one failed drive per pair — array online, degraded; (2) both members of the same pair failed — array lost. The contrast is the entire failure story of the level.

Suggested: 16:9 (≈1200×675) · Alt text: “RAID 10 surviving one failure per mirror pair versus losing the array when one pair loses both drives”

To insert: set data-src on the <img> above (e.g., images/raid10-failures.png).

Structure: mirrors first, then stripes

In a four-drive RAID 10, drives are paired into two mirrors, and the array stripes data across the pairs. Usable capacity is (N / 2) × S with a minimum of four drives, and the count must be even (odd counts can't form complete pairs). A naming footnote that saves confusion later: "RAID 10" conventionally means 1+0 — mirrors striped together. The reverse construction, 0+1 (stripes mirrored as whole units), exists but is rarely offered because it's strictly worse: it gives up more capacity and tolerates less, so when a menu says "RAID 10," this is the layout that's meant.

The structural consequence is that data from any given stripe exists in two places — once in each of two different mirror pairs — so the array can keep serving as long as at least one member of every pair that holds needed data is alive. That "at least one per pair" condition, not a fixed failure count, is the actual tolerance rule.

Performance: the best write story among the redundant levels

Writes stripe across the pairs in parallel and land on a mirror member each — two parallel writes, no parity reads, no recomputation. That makes RAID 10 the standard answer for random-write-heavy roles: virtual machine disks, databases, transactional workloads — exactly the profiles where RAID 5's write penalty hurts. Reads stripe across pairs as well, with each pair's two members able to serve — so read throughput scales with both the pair count and the mirroring, typically landing RAID 10 ahead of RAID 5/6 for mixed workloads on comparable hardware.

The price is capacity efficiency: half the raw space is mirrors, full stop — the same overhead as a two-way mirror, regardless of array size. On four drives, RAID 10 and a two-way mirror cost the same; RAID 5 gives more space. RAID 10's argument is never "more capacity" — it's "redundancy without the parity tax on writes and rebuilds."

Failure tolerance: placement, not counts

The accurate statement — and the one that replaces the common but wrong "RAID 10 survives exactly one drive" — is this: RAID 10 survives any set of failures in which no mirror pair loses both members. One failure anywhere: fine. Two failures in different pairs: fine. Three failures in three different pairs of a six-drive array: fine. Two failures in the same pair: the array is lost, because that pair's data now exists nowhere. So RAID 10 can out-tolerate RAID 6 in a lucky failure sequence and fall to a single unlucky pair before RAID 5 would think about dying — the difference is placement, and placement is random from the drives' point of view.

Operationally that means RAID 10's discipline is pair hygiene: replace a failed member immediately so no pair sits degraded, because a degraded pair is a one-failure-from-dead structure. It also means the level's real-world reliability depends on drive quality and correlated-failure risk (Section 10) as much as any level — the math is forgiving, the pairs aren't infinite.

Rebuilds: the fastest of the redundant levels

Rebuilding a failed RAID 10 member is a mirror resync: copy the surviving pair member to the replacement. No parity computation, and typically only that member's share of the data — so RAID 10 rebuilds are generally the quickest and least I/O-intensive of the redundant levels, and they carry the lowest rebuild-failure risk (there's nothing to recompute that a latent sector error could break). For environments where "time to full redundancy after a failure" is a first-class metric, that's a substantial advantage over both parity levels — and one of the core reasons RAID 10 remains the default recommendation for VM hosts and other uptime-sensitive systems.

Side by side

The five levels, compared

First the levels as cards — filter by what you're optimizing for — then the full comparison table. The cards summarize; the table is the reference.

5 of 5 levels shown

RAID 0

Usable N × S · min 2 drives · tolerates 0 failures

Pure striping: maximum capacity and raw speed, zero protection. One failed drive makes the entire array's data unavailable.

  • capacity
  • performance

RAID 1

Usable S (pair) · min 2 drives · tolerates 1 of 2

Two-way mirroring: simple, no parity math, fastest and simplest recovery. Pays for it with 50% capacity overhead.

  • protection
  • rebuild

RAID 5

Usable (N−1) × S · min 3 drives · tolerates 1 member

Distributed single parity: the capacity/efficiency workhorse. Writes pay a penalty; the rebuild window is where the risk lives.

  • capacity
  • protection

RAID 6

Usable (N−2) × S · min 4 drives · tolerates 2 members

Dual parity: survives two failures and shrinks the large-drive rebuild risk. Heavier writes and a second drive's overhead.

  • capacity
  • protection

RAID 10

Usable (N/2) × S · min 4 (even) · tolerates 1 per pair

Mirrored pairs, striped: best write behavior and fastest rebuilds of the redundant levels. Tolerance depends on failure placement.

  • performance
  • protection
  • rebuild
Master comparison of RAID 0, 1, 5, 6, and 10: minimum drives, usable capacity, redundancy mechanism, failure tolerance, read and write profiles, rebuild characteristics, and typical fit
LevelMin drivesUsable (N drives × S)RedundancyTolerates (healthy array)Read profileWrite profileRebuildTypical fit
RAID 02N × SNone0 failuresScales with member countScales with member count, no penalty— (no redundancy)Scratch / temp, regenerable data
RAID 12S (one pair)Two-way mirror1 of 2 members1× (up to ~2× with striped reads)~1×, bounded by slowest memberFast — plain copy, no mathOS volumes, simple reliability
RAID 53(N − 1) × SDistributed single parity1 member~1× single driveWrite penalty (read-modify-write)Medium — parity recomputation; risk windowGeneral file servers
RAID 64(N − 2) × SDistributed dual parity2 members~1× single driveHeavier write penaltyMedium — more computation; safer windowLarge arrays, capacity-oriented
RAID 104 (even)(N / 2) × SMirrors, then stripes1 failure per mirror pair~2× (pairs + mirror reads)Good — parallel, no parityFastest — one member, no mathVMs, databases, random I/O

Profiles in the last four columns are qualitative — relative behavior of the layout, not measured throughput. Actual numbers depend on drive type, controller, cache, and workload (Section 09), and no level "wins" every column by design.

Interactive

RAID capacity calculator

Enter a drive count and per-drive capacity; the calculator applies each level's standard formula and shows usable capacity, overhead, and which configurations your drive count supports. It recalculates as you type and runs entirely in your browser.

The formulas, and their assumptions

The five standard formulas for equal-sized drives, with N = drive count and S = the smallest member's capacity. For mixed-size arrays, every level's usable capacity is governed by the smallest drive — an 8 TB + 4 TB mirror is a 4 TB volume — so entering the smaller size is the correct (if conservative-feeling) input:

FormulasRAID 0: N×S · RAID 1: S (2-drive pair) · RAID 5: (N−1)×S · RAID 6: (N−2)×S · RAID 10: (N/2)×S, N even, min 4

Simplified models for conventional layouts — planning estimates, not guarantees for every controller, pool, or filesystem.

Treat the output as a planning number. Real filesystem-available space will be somewhat lower (metadata, alignment, controller reservations — Section 01), and some implementations deviate from the conventional layouts these formulas describe. The calculator's job is to compare levels at a glance, not to replace a vendor's capacity planner for a specific system.

Usable capacity estimate for each RAID level at the current drive count and drive size
LevelUsableOverheadStatus / note

recalculates as you type · nothing leaves this page

Decimal TB versus binary TiB — the unit trap

Drive labels use decimal units (1 TB = 10¹² bytes); operating systems frequently report binary units (1 TiB = 2⁴⁰ bytes ≈ 1.0995 × 10¹² bytes). The result: an 8 TB drive shows up as "7.28 TiB" in many OS file managers — nothing is missing, the ruler changed. The calculator converts between both systems and shows each result in your input unit plus the other, so "24 TB usable (21.99 TiB)" is one number, not a discrepancy. When comparing a vendor's spec to your OS's report, do the conversion first — it's the most common "my array lost capacity!" false alarm in storage.

Speed

Performance: what each level actually buys

"Which is fastest?" has no single answer — but it does have a structured one. The differences between levels are mechanical (parallelism, parity work, mirror copies), and once you know the mechanism you can predict the shape of the performance without any benchmark.

Image placeholder

RAID Performance, Schematically — Read and Write Paths by Level

Five small diagrams, one per level, tracing a single read and a single write through the layout: parallel fan-out for RAID 0/10, the read-modify-write chain for RAID 5/6, and the copy-both path for RAID 1.

Suggested: 16:9 (≈1200×675) · Alt text: “Schematic of read and write I/O paths for RAID 0, 1, 5, 6, and 10”

To insert: set data-src on the <img> above (e.g., images/raid-io-paths.png).

Sequential vs random: where each level flexes

Large sequential I/O (video, backups, media) is where striping shows: RAID 0 and RAID 10 scale roughly with the number of drives participating, while parity levels read near single-drive speed because each stripe's data blocks are spread thin and the controller can't parallelize a single sequential read the same way. Random I/O (databases, VMs, transactions) distributes across members in every level — which is why even RAID 5 beats a lone drive for random reads — but the write path is where they diverge hardest, because random writes are exactly the case that triggers the full parity update cycle.

The practical shape, qualitatively: RAID 0 leads on both axes with no protection; RAID 10 is the redundant level that keeps RAID-0-like write parallelism; RAID 1 is single-drive-speed with redundancy; RAID 5/6 trade write IOPS for capacity efficiency. A level that's "slower" on one axis can still be the right one if that axis isn't what your workload lives on.

Parity overhead, and the latency question

The write penalty (Section 04) is I/O overhead: extra reads and writes per logical write. There's a second, quieter cost — latency — because a parity write can't complete until its extra operations do, and each added step adds queue time. Write-back cache masks this heavily: with a good cache (and ideally a battery/capacitor backup on hardware), acknowledged writes complete from cache and the parity work happens in the background, which is why the same RAID 5 array feels fast on a well-equipped controller and sluggish on a basic one. Latency-sensitive workloads should be evaluated on the implementation's cache behavior as much as on the level itself.

Degraded mode and rebuild impact on performance

A degraded parity array is a different beast from a healthy one: every read touching the failed member's blocks requires reconstruction (extra reads plus CPU for the parity math), so throughput drops and latency rises — most noticeably on the stripes that were using the lost drive. A rebuild makes it worse temporarily: the reconstruction reads plus the writes to the new drive saturate the array's bandwidth for hours, and any production I/O competes with it. RAID 1's degraded mode is milder (reads just come from the survivor — no math), and its resync is a simple copy; RAID 10's is in between. This is why "time to rebuild" is a performance characteristic, not just a recovery one — a rebuild is the most expensive I/O event the array will ever run, and it's scheduled by a drive failure, not by you.

Why no level "wins" — and what actually sets your numbers

Every real-world number is the product of the layout and the platform: drive type (a SATA HDD array and an NVMe array behave completely differently at every level), controller or CPU capability, cache size and policy, queue depth, stripe size relative to your I/O size, and the workload's read/write/sequential/random mix. Stripe size deserves a line of its own: too small and you multiply the number of drives touched per I/O (wasting the parallelism), too large and sequential efficiency suffers — the "right" value depends on your typical I/O size, which is why vendors publish tuned defaults per workload rather than one universal setting.

The takeaway for decision-making: compare levels by shape (this table), then expect your actual system to shift every entry. If a purchase decision hinges on specific numbers, benchmark the actual configuration — with your drives, your controller, your workload — because the level tells you the trade-off, and the hardware sets the magnitude.

Performance characteristics of each RAID level: sequential reads, sequential writes, random I/O, parity cost, and key limitations
LevelSequential readSequential writeRandom I/OParity costKey limitation
RAID 0Scales with member countScales with member countHigh (parallel)NoneNo protection — speed is the only argument
RAID 11× (up to ~2× with striped mirror reads)~1× — bounded by the slowest memberModerateNoneSingle-drive-class throughput with 50% overhead
RAID 5~1× single driveBelow 1× — read-modify-write cycleReads good, writes reduced~4 physical I/Os per full logical write (typical)Random write IOPS; rebuild window
RAID 6~1× single driveLower — two parity updatesReads good, writes reduced furtherHeavier than RAID 5Write-heavy workloads; largest parity overhead
RAID 10~2× — pairs striped, mirror readsGood — parallel writes, no parityHigh (best of the redundant levels)None50% capacity overhead regardless of size

Qualitative profiles — relative behavior, not measured figures. No benchmark numbers are quoted on purpose: the real values are set by your drives, controller, cache, and workload (see above).

When things go wrong

Failure tolerance and recovery, honestly

Every level's tolerance figure describes a healthy array absorbing failures. Real recoveries involve a sequence of events — detection, replacement, rebuild, verification — and several non-drive failure modes that the parity math doesn't cover. This section is about that sequence.

Image placeholder

RAID Rebuild — Reconstructing Data onto a Replacement Drive

A failed drive removed, a replacement inserted, and data plus parity streaming from the surviving members onto it — with a progress indicator and the "array degraded" state flagged on the controller.

Suggested: 16:9 (≈1200×675) · Alt text: “Diagram of a RAID rebuild reconstructing data from surviving drives onto a replacement”

To insert: set data-src on the <img> above (e.g., images/raid-rebuild.png).

The recovery sequence: detect → replace → rebuild → verify

The standard flow: monitoring detects a failed (or predictive-failure) member; the array degrades; a spare or hot spare takes the slot; the controller reconstructs the missing data from the surviving members (a copy for mirrors, parity math for 5/6) and writes it to the replacement; the rebuild completes and the array returns to full redundancy; a verification pass (resync check, scrub, or consistency scan) confirms the rebuilt data actually matches. Each step has its own failure mode — a failed drive that won't be removed, a spare that's also bad, a rebuild that hits an unrecoverable read — which is why "we have RAID" is a partial answer to "how do we recover?" and the sequence is the complete one.

Two supporting practices belong here. Hot spares shorten the detect-to-rebuild gap: the array starts rebuilding the moment a drive dies instead of waiting for a human and a stockroom. Scrubbing / consistency checks periodically read the entire array (parity levels verify the checksums, mirrors compare copies), surfacing latent sector errors while the array is healthy — which converts a potential mid-rebuild disaster into a routine drive replacement. Both are cheap insurance; both are skipped by enough "we have RAID" shops to make the difference visible in post-mortems.

Tolerance vs likelihood: what the table can't tell you

Drive failure tolerance for each RAID level in a healthy array, the state after one failure, the state after two failures, and what a rebuild reconstructs from
LevelTolerates (healthy array)After 1 failureAfter 2 failuresRebuild source
RAID 00 drivesArray lost—None — no redundancy
RAID 11 of 2Degraded — single copy servesLost (pair gone)Mirror copy — plain resync
RAID 51 memberDegraded — parity reconstructs readsLost (before rebuild completes)Surviving data + parity
RAID 62 membersDegraded (1) — still full tolerance leftDegraded (2) — operating, zero marginSurviving data + dual parity
RAID 101 per mirror pairDegraded — placement decides everything nextOK if different pairs · lost if same pairMirror partner — plain resync

The column headers matter: "tolerates" is stated for a healthy array, and "after N failures" is the actual operating state. The gap between the two columns is where recoveries live or die. Four realities widen that gap in practice: correlated failures (a power spike, a firmware bug, a batch of same-vintage drives, or a backplane fault can take two members at once — which defeats RAID 5's single-parity budget outright); latent sector errors discovered during rebuild reads; controller and cabling faults, which no level tolerates because they're outside the drive-failure model; and operator errors — pulling the wrong drive, or worse, re-initializing the array out of desperation (see the warning below).

The practical rules when a drive actually fails

Replace the right drive: match the bay, keep labels/notes current, and verify the failed-member identity in the management interface before pulling hardware — the most expensive RAID mistakes in the field are human, not mechanical. Preserve the array metadata: on hardware RAID the configuration lives in the controller; on software RAID it lives in the OS/metadata locations — reinstalling the wrong OS version or wiping the wrong disk can destroy the map even when every drive is alive. Follow the controller's procedure for the rebuild trigger (some start automatically, some wait for confirmation) — and never re-initialize, recreate, or "quick-format" the array to fix a degraded state. Re-initialization discards the metadata that makes reconstruction possible; it turns a one-drive problem into a total-loss problem more often than any drive failure pattern does.

Monitoring: the layer that makes the rest work

Everything above assumes the failure gets noticed. In practice that means: alerts on member failure and predictive failures (SMART warnings — reallocation counts climbing, pending sectors), alerts on rebuild start/complete, degraded-state duration tracking (an array that's "temporarily degraded" for six weeks is an incident, not a state), and periodic scrub results reviewed rather than firewalled. A storage system with RAID but without monitored alerts has, for data-loss purposes, RAID 0 plus hope — the redundancy is there, but the recovery sequence never starts until a human stumbles on the degraded banner.

Choosing

Deployment scenarios: which level, where

Level selection is a five-variable decision — usable capacity, performance, cost, rebuild risk, and recovery procedure — plus the standing requirement that a backup exists. The table maps common scenarios to the usual answers; the notes explain why, including where the "right" answer is deliberately a pair.

Image placeholder

RAID Level Selection by Workload — Decision Overview

A branching overview: workload type (scratch / OS / file server / media / virtualization / capacity) leading to the recommended level, with backup shown as a required layer under every branch.

Suggested: 16:9 (≈1200×675) · Alt text: “Decision overview mapping workload types to recommended RAID levels with backup as a required layer”

To insert: set data-src on the <img> above (e.g., images/raid-decision.png).

Workload suitability table: scenario, common RAID choice, and the reasoning behind it
ScenarioCommon choiceWhy
Scratch / temp / regenerable dataRAID 0Maximum capacity and speed; the data can be recreated, so zero redundancy costs nothing
Operating system / application diskRAID 1 (or 10 in servers)Fast, simple recovery with no parity math; OS disks are usually small, so the mirror overhead is affordable
General-purpose file serverRAID 5 or 6Sequential-leaning file I/O tolerates the parity write penalty; capacity efficiency is the priority
Media storage / large sequentialRAID 6 (5 for small arrays)Large drives make the 5 rebuild window unattractive; 6's second parity set covers it; sequential reads don't mind the layout
Virtualization / mixed random I/ORAID 10Random writes are the workload; 10's no-parity write path and fast rebuilds are exactly what VM hosts need
Capacity-focused arraysRAID 6 (5 on modest drives)Parity overhead shrinks with array size; the redundancy budget buys the longest safe rebuild window
Uptime / recovery-time criticalRAID 10 (or 6 with fast spares)Rebuild speed and degraded-mode tolerance are the metrics; 10 minimizes both risks per failure
Strongest in-array protectionRAID 6 or 10 + offsite backup (or a pool-style layout)Two-failure tolerance plus the only real answer to logical loss: backups outside the array

The two decisions that resolve most arguments

When a RAID choice seems contested, two questions usually settle it. First: what does the workload write? Sequential file I/O (files, media, backups) absorbs parity penalties gracefully, which is what makes 5/6 viable there; random write IOPS (databases, VMs) is what 10 exists for. Second: how fast must full redundancy return after a failure? If the answer is "as fast as possible, because downtime during a rebuild is unacceptable," that's 10 (fastest rebuild, no parity math) or a heavily spared 6 — not an unspared 5, regardless of how attractive its capacity column looks.

Cost, capacity, and the backup that's in the budget anyway

The capacity math is where budgets push: on a fixed drive budget, RAID 5 returns more usable terabytes than 10, and 6 more than 5 — so cost-driven environments drift toward parity, which is exactly the direction where rebuild risk grows (bigger arrays, bigger drives, longer windows). The resolution isn't "spend more on drives"; it's spending on the two cheap things that de-risk parity: spare drives and monitoring, plus scrubbing on a schedule. And the constant that doesn't move in any scenario: the backup. A RAID 10 array with no backup is less protected than a RAID 5 array with one, full stop — redundancy and backup protect against different failure classes, and the budget line for the second one is the one that gets cut.

Home and small servers: the pragmatic column

For a home NAS or small office server, the realistic shortlist is RAID 1 (two drives: simple, cheap, fast to rebuild, done), RAID 5 or 6 (three to six drives: capacity-focused, with 6 preferred on large drives for the rebuild margin), and — if the box runs VMs or a busy database — a small RAID 10. The home-server-specific factor is coverage: failures happen at night with no one to pull a drive, so a hot spare (or at minimum a spare in a drawer and alerts to a phone) matters more at home than in a staffed data center, and it's the argument that tilts the home decision from 5 toward 6 at equal cost. Whatever the level: the backup — offsite, or at minimum a second physical location — is the part of the plan that actually survives the house fire.

Planning

Rebuild and recovery planning

Rebuilds are the most expensive I/O event an array performs, and the only one scheduled by a drive dying. Planning for them means knowing, per level, what a rebuild copies, how exposed the array is during it, and what the spare strategy should be.

Rebuild and recovery considerations for each RAID level: what the rebuild reconstructs, its relative scope and speed, the risk during the rebuild window, and the spare strategy that fits
LevelRebuild reconstructsRelative scope / speedRisk during windowSpare strategy
RAID 0— (no redundancy)No rebuild existsA single failure ends the arrayNone — protect with copies instead
RAID 1Full copy of the surviving memberOne member's data, no computation — fastest classLow — no parity math to fail; zero redundancy until doneA hot spare completing the pair is straightforward and cheap
RAID 5All data + parity, computed from survivorsN−1 members' worth of I/O plus computationSecond failure or unrecoverable read ends the arrayHot spare + scrubbing + spares for same-vintage drives
RAID 6All data + dual parity, more computationLargest parity rebuild; slower than 5'sThird failure ends the array; URE exposure reduced vs 5Hot spare(s) — the level is built to wait on human timescales
RAID 10One mirror member's shareSmallest scope, no computation — fastest of the redundant levelsLow — but a second failure in the same pair is fatalOne spare per pair-group; replace degraded members immediately

"Scope" and "speed" are relative within a comparable array — the absolute time is set by drive capacity, controller bandwidth, and whether production I/O is competing. Plan with your own measured rebuild times, not the column above.

Verification: the step everyone skips

A rebuild that "completed" is not the same as a rebuild that verified. The verification pass — a resync check, scrub, or pool consistency scan — reads back the rebuilt member and confirms it matches its sources; that's how a silent bad sector on the replacement, or a flaky cable that corrupted the copy mid-rebuild, gets caught while it's still a one-drive problem. Make verification part of the standard post-rebuild procedure, and make scrubs part of the calendar (monthly is a common starting point; the right cadence depends on array size and drive age). The failure mode this prevents — a rebuild that looks done but isn't — is invisible to anyone who checks only the "rebuild complete" flag.

What a recovery plan should actually say

A usable recovery plan for a RAID system is five sentences: which monitoring alerts page a human, and how fast; where the spare drives are, and who's allowed to pull one; the exact procedure for identifying a failed member and triggering the rebuild on this stack (controller-specific — the manual, not a forum post); the verification step and its schedule; and the backup restore path, including that the array is not the restore source for logical failures. Anything longer is documentation; anything shorter is a hope. Print the five sentences, test the restore once a year, and the level you chose in Section 11 does its job inside a system that can actually use it.

FAQ

RAID questions, answered

Is RAID a backup?

No. RAID protects against drive failure, not against deletion, corruption, ransomware, or loss of the whole site. Every RAID array still needs a real backup — a copy that lives somewhere else — following the 3-2-1 rule.

Which RAID level provides the most usable capacity?

RAID 0, at the full N × S. Among the redundant levels, RAID 5 is the most efficient at (N − 1) × S, then RAID 6 at (N − 2) × S; mirrored layouts give up about half the raw capacity.

Which RAID level is fastest?

For raw throughput and write speed, RAID 0. Among redundant levels, RAID 10 typically delivers the best random and write performance because it stripes without a parity penalty. "Fastest" always depends on the workload, drive type, and controller.

Which RAID level tolerates two failed drives?

RAID 6 tolerates any two member failures while the array is healthy. RAID 10 can also survive two failures, but only if they land in different mirror pairs. RAID 5 tolerates exactly one.

Can RAID 10 survive three failed drives?

Yes, but only if the three failures are in three different mirror pairs — so the array needs at least six drives and no pair loses both members. If both members of any single pair fail, the array is lost, so don't plan around it.

What happens when a RAID 5 or RAID 6 member fails?

The array goes degraded: it keeps running, reconstructing reads from the surviving members and parity, until you replace the drive and rebuild. If another member fails before the rebuild completes (RAID 5) — or a third fails (RAID 6) — the data is lost.

Can I mix drives with different capacities?

Physically often, but the array uses only the smallest member's capacity per drive, so a 4 TB + 8 TB pair wastes the extra space. Mixed sizes also complicate capacity math and, in some layouts, rebuild behavior, so they're generally not recommended.

Does RAID protect against ransomware?

No. Ransomware encrypts your data before RAID sees it — every mirror and parity copy receives the same encrypted writes. Protection comes from offline or immutable backups, not from redundancy.

Is hardware RAID always faster than software RAID?

No. A good controller with cache can beat software RAID on some workloads, but software RAID on a fast CPU — md, ZFS pools, Storage Spaces — can match or exceed a basic controller, trading hardware portability for flexibility and lower cost.

Should a home server use RAID 5, RAID 6, or RAID 10?

For most home servers, RAID 1 (simple, cheap, quick to rebuild) or RAID 5/6 for capacity. Choose RAID 6 over RAID 5 when using large drives, because the rebuild window is where most home arrays fail. Choose RAID 10 if you run virtual machines or random I/O. Back up either way.

What is the difference between RAID and ZFS-style storage redundancy?

Classic RAID is a fixed level chosen at creation time, with redundancy built from the disks in the array. ZFS-style pools checksum all data and metadata, self-heal from spares, and offer flexible redundancy (mirrors, RAID-Z1/2/3) — closer to "data integrity first" than "drive failure first."

How should I monitor and back up an array?

Monitor health continuously (SMART status, degraded alerts, rebuild completion), run periodic scrub or consistency checks, keep spare drives on hand, and keep your backup independent of the array — the array protects uptime, the backup protects existence.

DiagMyPCHub · RAID levels guide · Capacity figures are simplified models for conventional layouts of equal-sized drives; failure tolerance describes healthy arrays — and no level replaces a backup that lives somewhere else.