If I didn’t have to spend a bunch of time moving virtual machines around, this probably wouldn’t matter very much. But, alas, I did find myself building zfs raid arrays a few times and couldn’t seem to remember what I wanted where.

🧂 Take with a conservative grain of salt.

RAID Type Min Disks Usable Capacity Fault Tolerance Performance Notes Notes
Striped 1+ 100% of total None Fastest read/write, no redundancy Equivalent to RAID0
Mirror 2+ 50% of total 1 disk per mirror vdev Excellent read, good write, fast recovery Equivalent to RAID1 in traditional RAID
RAIDZ1 3+ N - 1 1 disk failure Slower write, decent read Similar to RAID5
RAIDZ2 4+ N - 2 2 disk failures Slower write, decent read Similar to RAID6
RAIDZ3 5+ N - 3 3 disk failures Slowest write, decent read For high fault tolerance
ZFS RAID10 4+ (even) 50% of total 1 disk per mirror vdev Best balance of performance + redundancy Stripe of mirrors (manual mirror vdevs)
dRAID 3+ Varies (RAIDZ-like) Parity-based (configurable) Improved resilver vs. RAIDZ, good balance Requires newer ZFS versions
Special VDEV 1+ Not for main storage Depends on layout High IOPS for metadata/small files Used for performance, not redundancy

N = Number of disks in the vdev