RAIDZ Calculator

Calculate usable capacity, parity overhead, fault tolerance, and mean time to data loss for a ZFS RAIDZ, dRAID, mirror, or stripe pool.

PoolOnline18 TB usable, 1 vdev, 6 drives

Click any drive to fail it or bring it back. Health propagates drive to vdev to pool: a vdev stays degraded until it loses more drives than it tolerates, and the first faulted vdev takes the whole pool with it.

vdev 1RAIDZ1Online

Where the capacity goes

81%17%22 TB all drives
Usable
18 TB 81.3%
Parity
3.6 TB 16.7%
ZFS overhead
447 GB 2.0%

One hundred percent is every drive you bought, spares included, so the slices add back up to the raw capacity.

Reliability

With no spare racked, the repair time includes a 24 hour estimate for somebody to notice the alert and fit a replacement.

MTTDL (pool)114,077 years Annual probability of data loss: 8.77e-4%. Drive MTBF 1.2M h, 0.73% AFR.
Mean time to data loss for each vdev.
vdev Tolerates Repair MTTDL
1 RAIDZ1148 h114,077 years
  • Drives are treated as failing independently at a constant rate, so one bad batch, one hot shelf, or one power event is not modeled and is real.
  • Unrecoverable read errors are ignored: only whole drive failures count, so a long resilver on large drives is riskier than these numbers say.
  • Repair time is the resilver plus a 24 hour wait for a human, and a hot spare or a dRAID distributed spare drops that wait to zero. Spares never add fault tolerance.
  • Vdevs are striped, so losing any one vdev loses the pool. Read the result as an order of magnitude comparison between layouts, never as a prediction.

Result

Layout
1x (6-disk raidz1)
Raw capacity
22 TB (24.00 TB)
Usable capacity
18 TB (19.52 TB)
Parity overhead
3.6 TB (4.00 TB), 16.7%
ZFS overhead
447 GB (0.48 TB), 2.0%
Storage efficiency
81.3%
Fault tolerance
1 disk per vdev
MTTDL (pool)
114,077 years (drive MTBF 1,200,000 h, 0.73% AFR, 24 h resilver)
Annual data loss risk
8.77e-4%
Notes
This is an estimate: real usable space also depends on ashift, recordsize, and RAIDZ padding, which are not modeled here and vary by pool. Usable capacity above is derated by about 2.4% to approximate ZFS slop space and metadata reservation. Unrecoverable read errors (UREs) are ignored: only whole drive failures count, so a long resilver on large drives carries more real risk than these numbers show. MTTDL treats drive failures as independent and at a constant rate, so correlated failures from one bad batch or one hot shelf are not modeled.

Related tools

What it does

Computes usable capacity, parity overhead, storage efficiency, and fault tolerance for a ZFS pool built from RAIDZ1, RAIDZ2, RAIDZ3, dRAID, mirror, or stripe vdevs, with hot spares and dRAID distributed spares included. It splits the pool into slices that add up to every drive you bought: usable space, parity, the ZFS slop and metadata reservation, an optional OS reserve, and spare capacity, which is what the capacity pie draws. It also estimates mean time to data loss from a drive MTBF or annualized failure rate plus your resilver time, and it can simulate individual drive failures so you can see which vdev degrades and where the pool loses data. Decimal (TB, GB) and binary (TiB, GiB) disk sizes are both handled, so you can match the units your drives or your OS actually report.

How to use it

Set the disks per vdev, the size and unit of each disk, the level, and how many identical vdevs the pool stripes together. Toggle the ZFS overhead estimate, add an OS reserve percent, and add spare drives to watch each one move the capacity pie. For the reliability rows, enter a drive MTBF in hours or an annualized failure rate, plus how long a resilver takes; click a drive in the pool diagram to fail it and the health propagates from drive to vdev to pool. You can still type a shorthand like "6x4TB raidz2" instead of setting the first few options by hand.

Why this one

Generic RAID calculators treat every array the same, ignore how ZFS reports capacity, and stop at a single usable number, so they cannot tell you whether raidz2 with a hot spare beats raidz3 without one. This one shows the whole breakdown, models dRAID distributed spares, and puts a mean time to data loss estimate next to the capacity so the tradeoff is visible in one place. It is also upfront about its limits: the overhead figure is an approximation, unrecoverable read errors are ignored, and the reliability math assumes drives fail independently at a constant rate.

FAQ
Why is my real usable space lower than what this shows?
ZFS reserves slop space, spends metadata on padding, and its effective block size interacts with ashift and recordsize in ways a generic calculator cannot model. Capacity reporting has also changed across OpenZFS versions and depends on compression and pool history. Treat this tool's number as a close estimate, not the exact figure zpool list will print.
Should I use raidz1, raidz2, or dRAID?
raidz1 tolerates one disk failure per vdev and wastes the least capacity, but on large drives a second failure during a long resilver can lose the vdev. raidz2 tolerates two failures per vdev and is the common recommendation once drives pass a few terabytes. dRAID trades a little capacity for distributed spare space, which lets a rebuild start with no human involved and finish far faster, so it earns its keep on wide vdevs with many drives.
What does the MTTDL number actually mean?
It is the standard Markov approximation: given a per drive MTBF (or an annualized failure rate, converted with MTBF = 8766 / ln(1 / (1 - AFR))) and how long a repair takes, it estimates the average time until a vdev loses more drives than its parity covers. Use it to compare layouts, not to predict a date. It ignores unrecoverable read errors, assumes drives fail independently at a constant rate, and treats spares as removing the wait for a human rather than adding tolerance. For realistic inputs, Backblaze publishes fleet-wide annualized failure rates and the drive vendors publish lab MTBF ratings on their datasheets.

Keyboard shortcuts: press ? anywhere on this page to see them.