Plan usable capacity, fault tolerance, and storage efficiency for a ZFS pool
Minimum drives: 4
Storage analysis
Effective capacity applies compression and (if enabled) deduplication on top of usable capacity. Real-world compression and dedup ratios depend heavily on your data — these are estimates, not guarantees. Mirror pools show the capacity of a single drive regardless of the number of mirrored copies.
Choosing a layout
Mirrors give the most IOPS and the fastest resilvering — best for virtual machines and databases.
RAIDZ2 is the usual balance of capacity and safety for large disks; it survives two failed drives per vdev.
RAIDZ1 is only reasonable for small or SSD-based pools, for the same rebuild-risk reasons as RAID 5.
RAIDZ3 suits very wide vdevs or archives that must not be lost.
Practical tips
Keep about 20% of the pool free; ZFS slows down as it fills up.
Leave compression on (lz4 or zstd) — it costs almost nothing and often saves space and time.
Think twice about deduplication: it needs a lot of RAM and only pays off for highly repetitive data, such as many near-identical virtual machines.
Since OpenZFS 2.3, a RAIDZ vdev can be expanded one disk at a time; with older versions, plan the vdev width up front.