RAID ZFS Calculator for Home NAS Pools

June 15, 2026

RAID ZFS Calculator

Estimate ZFS pool capacity for mirrors, RAIDZ1, RAIDZ2, RAIDZ3, and dRAID-style home NAS layouts with reserve, slop space, compression, growth, resilver, and performance planning.

Named home lab presets
Pool and drive inputs
Mirror gives IOPS; RAIDZ gives capacity.
ZFS expands by adding full vdevs.
For mirrors, this is mirror width.
Uses decimal TB for drive labels.
Sets resilver and performance assumptions.
Spares use bays but not usable pool space.
Affects small-write padding overhead.
Many pools feel slow when nearly full.
Includes slop, padding, metadata, and snapshots.
Shows logical capacity, not physical free space.
Used for growth runway estimate.
Backups, media, VM snapshots, and photos add up.
Lower this for busy pools or USB enclosures.
Used to flag network or pool bottlenecks.
Changes guidance, not raw math.
Helps interpret RAIDZ small-write behavior.
Calculated ZFS results
Usable ZFS Capacity - After reserve and overhead.
Logical Capacity - Compression-adjusted estimate.
Growth Runway - Based on current stored data.
Resilver Window - Approximate per failed disk.
Raw installed pool - Active disks only.
Parity or mirror cost - Per vdev redundancy.
Sequential read estimate - Before network limit.
Small-write IOPS clue - Vdev count matters most.
ZFS layout comparison table
LayoutMinimum practical widthFault toleranceExpansion behaviorBest fit
Mirrored vdevs2 disks per vdevOne or more copies per mirror setAdd another mirror vdevVMs, databases, containers, fast random I/O
RAIDZ13 disks per vdevOne disk per vdevAdd another RAIDZ1 vdevSmall SSD pools or low-risk budget storage
RAIDZ25 to 6 disks per vdevTwo disks per vdevAdd another RAIDZ2 vdevMost large-HDD home NAS builds
RAIDZ38 to 9 disks per vdevThree disks per vdevAdd another RAIDZ3 vdevLarge archive pools and long resilver windows
dRAID2 estimate12 or more disksDistributed two-parity styleUsually planned as a large shelfLarge appliances where rebuild speed matters
Drive class assumptions
Drive classSequential readSequential writeRandom IOPS cluePlanning note
NAS CMR HDD210 MB/s190 MB/s80 read / 70 writeGood default for RAIDZ2 home pools
Enterprise HDD250 MB/s230 MB/s120 read / 100 writeBetter under scrub and resilver load
Archive CMR HDD180 MB/s160 MB/s65 read / 55 writeFine for media, slower for VM churn
SATA SSD520 MB/s480 MB/s70000 read / 60000 writeUseful for all-flash mirrors or metadata special vdevs
NVMe SSD3200 MB/s2600 MB/s250000 read / 200000 writeNetwork and CPU often limit home servers first
Mixed older HDDs150 MB/s120 MB/s55 read / 45 writeSize and speed are governed by the weakest disks
Common ZFS pool sizes
Home server scenarioExample layoutRaw disksApprox. data disksWhy it is chosen
Tiny NAS1 mirror vdev2 x 8 TB1 x 8 TBSimple replacement, simple resilver, low bay count
Fast Proxmox datastore4 mirrored vdevs8 x SSD4 x SSDMore vdevs raise random IOPS and reduce latency
Family media NAS1 x 6-wide RAIDZ26 x 12 TB4 x 12 TBGood capacity with two-disk protection
Expandable rack NAS2 x 6-wide RAIDZ212 x 12 TB8 x 12 TBSecond vdev doubles many performance ceilings
Cold archive shelf1 x 12-wide RAIDZ312 x 18 TB9 x 18 TBExtra parity helps with long rebuild windows
Standards and ZFS planning references
ItemTypical valueCalculator usePractical caution
Drive label TBDecimal TBCapacity math starts in manufacturer TBOperating systems may display TiB, which looks smaller
ashift=124K sector alignmentDefault small-write overhead choiceDo not force 512B sectors on modern drives
Free pool target10% to 20%Reserve slider subtracts usable capacityBusy pools slow down when nearly full
RAIDZ expansionWhole vdevsExpansion step is a full matching vdevPlan future bays before buying the chassis
Recordsize16K to 1MUsed for workload guidanceDatabases and VMs may need smaller records

The calculator uses planning estimates. ZFS behavior varies with controller, HBA, RAM, dataset settings, snapshots, special vdevs, sync writes, checksums, scrubs, workload mix, and drive firmware.

ZFS planning tips
Keep vdev geometry deliberate. A pool is only as resilient as each vdev. Two separate RAIDZ2 vdevs can outperform one wide vdev, but each vdev still has its own parity failure boundary.
Leave space for ZFS to breathe. Compression can make logical capacity look generous, but scrubs, snapshots, VM churn, and fragmentation need real free physical space.

Planning a ZFS storage pool requires mathematic calculations because the usable data capacity isnt the same than the total data capacity of the disks. A user will use the total data capacity of the drives to create a ZFS storage pools. A ZFS storage pool is create by putting virtual devices, or vdevs, together.

Each vdev have specific rules about fault tolerance and performance, and the ZFS storage pool will use these vdevs to create a storage areas. The layout of the vdevs will impact the fault tolerance of the storage pool, as well as the performance of that storage pool. Mirrors are the best if fast random writes is needed.

How to Plan a ZFS Storage Pool

RAIDZ storage areas have more data capacity, but require a trade-off in write speeds. Using a calculator can help a user determine the number of vdevs and the width of each vdev in the storage area. In planning a ZFS storage pool, the size and class of the drives will matter.

The 12 TB drive might have a different performance rating then the 18 TB enterprise drive. Both drives may be selling for decimal terabytes, but their performance during a resilver will likely not be the same. The calculator can select the drive class to change the assumptions about the sequential drive speed and IOPS of those drives.

This information will matter if you are trying to ensure that a RAIDZ2 will resilver before the next drive fails in your storage pool. The calculator shows the time it will take to resilver the drives, which is another helpful time frame for those who will be using many spinning drive in their NAS setup. ZFS requires some space dedicated to its own function.

This space is called overhead. Overhead is used for data about the drives in the storage pool, as well as to ensure the drives can write even when the storage pool is nearly full. The storage pool has settings for both free-space reserve and slop that can be used to model the amount of this overhead.

A fifteen percent reserve is likely sufficient for a file sharing storage pool. However, if virtual machine will be used in the storage pool, a twenty percent reserve will be needed. Another consideration is the compression of the drives.

By setting a compression algorithm in the storage pool, the physical drive sizes can be used to create a logical capacity that is larger than the physical size of the drives. The calculator models both the physical and logical sizes so that the amount of usable data can be determined for the storage pool. Another consideration is how fast the data will accumulate in the storage pool.

Storage pools fill up with data. Although you may start with a large amount of free space, data will eventually fill the storage pool. The calculator will ask for the current data usage and the rate of how fast the data will grows each year.

This information will allow the calculator to project into the future how many month of runway the storage pool will have before it is full. This projection will allow someone to compare two scenarios: one in which the storage pool will last three years, and one that will last only next year. Adding drives to a storage pool requires adding another vdev with the same geometry as the existing drives in the storage pool.

Therefore, prior to purchasing a storage array, one should of consider how many drive bay will be needed in the array. ZFS storage pools are not created equal. The workloads that will be used with the drives will change the performance of the drives.

Media will be streamed with few interruptions. This type of workload is best with RAIDZ drives. However, virtual machines will create many small random write to the drives.

In this scenario, mirror drives is better. Therefore, the user can select the workload that will be used in the calculator. This will impact how the storage pool is to be used, but will not change the raw capacity calculations of the drives.

Many people make the mistake of only considering the number of drives that will be mirrored to create fault tolerance. Using two drives for fault tolerance out of a twelve drive vdev will work, but the storage pool will have a long window of time before the drives can be resilvered. If a second drive should fail during the resilvering process, the storage pool will fail.

The risk of failure during resilver can be seen in the resilver estimate and risk exposure score within the calculator. These figure will not replace any backups made for the drives. However, they will help to make a decision about how many spare drive should be purchased for the storage pool.

The reference tables within the tool will provide information about the minimum width for each type of layout. Each type of layout has its own fault tolerance. Many drives may fail if the setup uses any number of older drive.

In this case, the entire storage pool will slow to the speed of the slowest drive. Finally, ashift settings determine how the drives will pad small writes. This information is helpful in deciding how many drives of each type should be purchased in advance.

The goal is to create a storage pool that is fast enough for the intended use, can survive a drive failure, and has enough data space for the future. Using this calculator will make it possible to achieve all of this before purchasing any drive for a storage pool.

RAID ZFS Calculator for Home NAS Pools

Related posts

Leave a Comment