Edit page

RAIDZ Extension Calculator

RAIDZ extension allows TrueNAS users to add disks one at a time to an existing RAIDZ VDEV, incrementally expanding capacity. Use this calculator to estimate the storage capacity efficiency of a ZFS RAIDZ VDEV after incremental extension.

Existing data blocks retain their original data-to-parity ratio and block width, but are spread across the larger set of disks. New data blocks adopt the new data-to-parity ratio and width, or overhead. Because of this overhead, an extended RAIDZ VDEV can report a lower total capacity than a newly created VDEV with the same number of disks.

Extended VDEVs recover lost headroom as existing data is read and rewritten to the new parity ratio. This can occur naturally over the lifetime of the pool as you modify or delete data. To manually recover capacity, simply replicate and rewrite the data to the extended pool.

While this process can recover the actual lost capacity, reported capacity continues to rely on the old data-to-parity ratio. An expanded vdev can continue to report a lower than expected capacity, even after rewriting old data to the new parity ratio. This accounting inconsistency does not impact the actual available capacity of the vdev.

See Extending a RAIDZ VDEV for more information, including a detailed overview, considerations, and a tutorial.

How to use this calculator

Edit the values to see how much lost headroom capacity is available to recover.

ValueDescription
Drive SizeEnter the size (in TB) of each disk in the existing VDEV. Added disks should be the same size or larger than existing drives.
RAIDZ Level / Number of Parity DisksEnter the RAIDZ level (RAIDZ1, RAIDZ2, or RAIDZ3) of the existing VDEV. Extending a VDEV does not change RAIDZ fault tolerance.
Data expansion thresholdEnter the percentage of pre-extension VDEV capacity that is filled before adding an additional disk.
Initial number of drivesEnter the width of the VDEV before extension.
Final number of drivesEnter the planned final width of the VDEV after extension.
How to interpret the results

Calculated values represent how much space on the final extended VDEV is lost to headroom, or data capacity that would be available in an equivalent VDEV created from scratch with the same width and data-to-parity ratio. This is the capacity available to recover by rewriting existing data to the extended width.

The calculator returns estimated capacity values for two scenarios:

ResultScenario
Extend VDEV to final width all at onceFill the existing VDEV to its threshold percentage, extend to the final width in one continuous process, then rewrite existing data.
Extend VDEV one drive at a timeFill the existing VDEV to its threshold percentage, the extend by one additional drive. Continue filling the VDEV until the threshold is reached, then extend by one more drive. Repeat until the final width is reached, then rewrite existing data. This scenario results in more lost headroom available for recovery because there is more data that is not written with the final data-to-parity ratio.

Results

Adapted from this spreadsheet with thanks to TrueNAS community member yorick (github).
Additional contributions from DayBlur and Louwrentius.