Facebook Instagram

Current Pool Configuration

Double parity RAID. Can survive two drive failures.

Expansion Configuration

OpenZFS 2.2+ allows adding one drive at a time. You can add multiple drives sequentially.

Expansion Summary

Before
63.39 TiB
6 drives/vDev
64.5% efficient
After
79.24 TiB
7 drives/vDev
69.1% efficient
Capacity Gained
+15.85 TiB(+25%)

Expansion Time Estimate

~5.9 days
Based on 63.39 TiB data rewrite at ~500GB/hour
Note: Pool remains usable during expansion but with reduced performance. Avoid heavy writes.

Incremental Expansion Planning

See how capacity increases with each drive added:

Drives AddedTotal/vDevUsable CapacityEfficiency
0 (current)663.39 TiB64.5%
+1779.24 TiB69.1%
+2895.08 TiB72.6%
+39110.93 TiB75.3%
+410126.78 TiB77.4%
+511142.62 TiB79.2%
+612158.47 TiB80.7%

Looking for drives to expand your pool?

View 18TB Drive Prices

Understanding ZFS RAIDZ Expansion

How RAIDZ Expansion Works

Starting with OpenZFS 2.2 (October 2023), you can add drives to existing RAIDZ vdevs one at a time. The expansion process rewrites all existing data to redistribute it across the new drive configuration. This is a major improvement over the previous limitation where RAIDZ vdevs could not be expanded.

Why This Matters

Before OpenZFS 2.2, expanding a RAIDZ pool required either destroying and recreating the pool (losing data) or adding an entirely new vdev (doubling your minimum drive count). RAIDZ expansion was ZFS's most requested feature for years, and it's now finally available.

Requirements

RAIDZ expansion requires OpenZFS 2.2+. Compatible systems include TrueNAS SCALE 24.04+, FreeBSD 14+, and recent Linux distributions with updated ZFS packages. Only RAIDZ1, RAIDZ2, and RAIDZ3 vdevs support expansion - mirrors cannot be expanded this way (use larger drives instead).

Best Practices

1. Add one drive at a time and let expansion complete before adding the next.
2. Ensure you have good backups before starting expansion.
3. Monitor expansion progress with zpool status.
4. Avoid heavy write workloads during expansion for best performance.

Frequently Asked Questions

How long does RAIDZ expansion take?

Expansion time depends on the amount of existing data in your pool, not the total pool size. Typical speeds range from 500GB to 1TB per hour on modern systems with good drives. A pool with 50TB of data might take 50-100 hours to expand. You can monitor progress usingzpool statuswhich shows completion percentage.

Can I use the pool during expansion?

Yes, ZFS allows normal read and write operations during expansion. However, you'll experience reduced performance as the system is constantly reading and rewriting data in the background. For best results, avoid heavy write workloads and let the expansion complete during low-usage periods.

What if expansion fails or is interrupted?

ZFS expansion is designed to be resilient. If the system reboots or expansion is interrupted, it will automatically resume from where it left off. However, you should always maintain good backups before any major pool operation. If a drive fails during expansion, normal RAIDZ redundancy protects your data.

Does expansion affect performance?

During expansion, you'll see reduced I/O performance as the system rewrites data. After expansion completes, performance should be similar or slightly better than before (more drives can improve read throughput). The efficiency improvement from having more data drives relative to parity drives is a permanent benefit.

Can I expand mirror vdevs?

No, mirror vdevs cannot be expanded using this feature. To increase mirror capacity, you need to replace drives with larger ones (one at a time, allowing resilver to complete between each). The RAIDZ expansion feature only applies to RAIDZ1, RAIDZ2, and RAIDZ3 vdevs.

Can I add different sized drives?

Technically yes, but it's not recommended. ZFS will use only the capacity of the smallest drive in the vdev for all drives. For best results, add drives of the same size (or larger) as your existing drives. If you add a larger drive, the extra capacity won't be usable.

How This Calculator Works

Capacity Calculation

Usable capacity is calculated based on RAIDZ level and drive count. For RAIDZ-N, the formula is:

Usable = (Drives - N) × Drive Size × (1 - 3.2% slop space)

Where N is the parity level (1, 2, or 3). The 3.2% slop space is reserved by ZFS for internal operations.

Time Estimation

Expansion time is estimated based on the amount of existing data that needs to be rewritten:

Time (hours) = Current Used Capacity (GB) ÷ 500 GB/hour

The 500GB/hour estimate is conservative. Actual speeds depend on drive speed, pool configuration, and system load. SSDs and modern HDDs may achieve 1TB/hour or more.