RAID Capacity Planner
Usable capacity for RAID 1, 5, 6, 10 and ZFS RAIDZ1/Z2/Z3 — labelled versus what the operating system will actually show, and what each filesystem takes off the top.
Choose a RAID level, a drive size and a drive count. The planner returns usable capacity three ways: as the drives are labelled, as the operating system will report it, and as each filesystem leaves it.
Why the number on the box is never the number you get
Two separate reductions apply, and they compound. Redundancy takes whole drives out of the pool — one for single parity, two for dual, half the set for a mirror. What remains is then reported by the operating system in binary units, so a decimal terabyte from the manufacturer arrives as roughly 0.91 tebibytes on screen.
- Raw capacity as printed on the drives
- Capacity after redundancy, by RAID level
- The same figure as the operating system reports it
- What the filesystem takes for metadata, journals and reserved blocks
Choosing a parity level
The trade is rebuild risk against usable capacity. Single parity survives one drive; on a large array of high-capacity drives, a rebuild can run for days, and a second failure during it loses the pool. Dual parity costs one more drive and removes that exposure.
- RAID 1 mirrors, so usable capacity is one drive however many members there are
- RAID 10 stripes across mirrored pairs — half the set, and an odd drive cannot be paired
- RAID 5 and RAIDZ1 give single parity; RAID 6 and RAIDZ2 give dual; RAIDZ3 gives triple
Understanding usable capacity
Two separate reductions, and they compound
The capacity printed on a drive is almost never the capacity you can write to, and the shortfall comes from two independent causes that people often conflate.
The first is redundancy. Parity takes whole drives out of the usable pool — one for single parity, two for dual, and for a mirror, everything except one copy. The second is units: manufacturers sell decimal terabytes, where one terabyte is a trillion bytes, while operating systems report binary tebibytes, where one is 2^40. That conversion alone removes about nine per cent, before any filesystem is involved.
- A 12 × 20 TB RAID 6 array is sold as 240 TB of drives.
- Parity removes two drives, leaving 200 TB labelled.
- Reported in binary units, that is about 182 TiB.
- A filesystem then takes one to two-and-a-half per cent more for metadata, journals and reserved blocks.
Choosing a parity level
The trade is rebuild risk against usable capacity, and drive capacity has changed the balance. Reconstructing a failed 20 TB drive takes days, not hours, and the array is degraded and under load throughout. Single parity offers no protection during that window.
Dual parity — RAID 6, or RAIDZ2 on ZFS — costs one additional drive and removes that exposure entirely. On any array built from high-capacity drives, that is the sensible default rather than the cautious option.
- RAID 1 mirrors the same data to every member, so usable capacity is one drive however many are in the set. It is not a capacity strategy.
- RAID 10 stripes across mirrored pairs: half the drives, excellent rebuild behaviour, and the right answer where write performance matters more than capacity.
- RAID 5 and RAIDZ1 survive one drive. RAID 6 and RAIDZ2 survive two. RAIDZ3 survives three, which matters on very wide arrays.
Where ZFS differs
RAIDZ works on the same parity arithmetic as conventional RAID, but the surrounding behaviour is different in ways that matter for planning. Checksums on every block detect silent corruption that a traditional controller would pass through unnoticed. Copy-on-write means a rebuild only reconstructs data actually written, so a half-full pool rebuilds in roughly half the time.
Against that, a RAIDZ group cannot usually be widened after creation, so the drive count is a decision made once. Plan the group geometry before buying rather than after.
What this planner does not model
Stripe geometry, controller-reserved capacity, hot spares and pool-level reservations all move the final figure, usually by a small amount and always downward. Treat the result as the ceiling of what the array can present, and leave room beneath it.
For surveillance specifically, size the workload first and the capacity second — an array that fits the footage but cannot sustain the write rate will drop frames regardless of how much space it has.
Common questions
- Why is my 240 TB array only 182 TB?
- Parity and units. Two of twelve drives hold parity, which leaves 200 TB of the 240 TB bought; the operating system then reports that in binary tebibytes rather than decimal terabytes, which removes about nine per cent more. Neither is a fault — both are working as designed.
- What is the difference between TB and TiB?
- A terabyte is a trillion bytes, which is how drives are sold. A tebibyte is 2^40 bytes, about ten per cent larger, and it is what most operating systems mean when they display 'TB'. The gap is entirely a labelling convention, not lost capacity.
- Is RAID 5 still safe on large drives?
- It is increasingly hard to justify. A rebuild on a multi-terabyte array runs for days with no redundancy remaining, and drives in the same batch tend to fail at similar times. RAID 6 costs one more drive and covers exactly that window.
- RAID 6 or RAIDZ2?
- The capacity arithmetic is identical. RAIDZ2 adds end-to-end checksums, faster rebuilds on partly-filled pools, and snapshots; conventional RAID 6 is simpler to operate and easier to expand. The decision usually rests on which the team already runs well.
- Do I need a hot spare?
- On any array where a rebuild takes more than a few hours, yes. A hot spare starts reconstruction immediately rather than whenever somebody reaches the site, which on a large array is the difference between hours of exposure and days. Budget it as a drive that holds no data.
- Can I mix drive capacities in one array?
- Technically usually yes, practically it wastes money: most implementations treat every drive as though it were the smallest one present, so a 20 TB drive in an array of 12 TB drives contributes 12 TB. Keep a group uniform and add capacity as new groups.