I earn commissions when you sign up or buy through the affiliate links on this page, at no extra cost to you.
Homelab · Guide · By Mohammed Almuhanna · Updated
ZFS RAIDZ Explained
I do not run ZFS. My own NAS is a Synology on SHR-1 because I wanted a boring appliance that just works, not a box I hand-built and babysit. But if you are building your own pool, ZFS is what I would point you at. RAIDZ is ZFS's built-in parity RAID, and it lives inside the filesystem instead of under it. So ZFS checksums every block and repairs silent corruption during a scrub. Plain hardware RAID 5 never even notices that bit rot. There are three levels, set by how many parity disks each vdev carries.
RAID vs RAIDZ: what's actually different
People type "RAID vs RAIDZ" expecting two rival technologies. They are the same idea, parity spread across disks, with one structural change: RAIDZ is built into ZFS, so it sees your actual data, while a hardware RAID card or Linux mdadm sits underneath and only sees blocks. That is why RAIDZ can tell a good block from a quietly corrupted one and plain RAID cannot. Here is the whole thing in one place.
| Traditional RAID (5/6) | ZFS RAIDZ | |
|---|---|---|
| Where it lives | under the filesystem | inside the filesystem |
| Catches silent corruption | No | Yes, checksums every block |
| Self-heals on a scrub | No | Yes, rebuilds bad blocks from parity |
| RAID 5 write hole | Exposed | Closed (variable-width stripes) |
| Single parity | RAID 5 | RAIDZ1 |
| Double parity | RAID 6 | RAIDZ2 |
| Triple parity | none | RAIDZ3 |
| Grow one disk at a time | usually yes | only since OpenZFS 2.3, and old data keeps its ratio |
For choosing a level, map them one to one: RAIDZ1 is RAID 5, RAIDZ2 is RAID 6, same fault tolerance either way. RAIDZ3 has no hardware equivalent. What ZFS buys you is the checksums and self-healing, not extra redundancy. The levels are where you actually pick.
RAIDZ1, RAIDZ2, RAIDZ3
- RAIDZ1 keeps one parity disk and survives one disk failure. Usable space is roughly (N − 1) × the smallest disk.
- RAIDZ2 keeps two parity disks and survives two failures. Usable space is roughly (N − 2) × the smallest disk. This is the common homelab default.
- RAIDZ3 keeps three parity disks and survives three failures, for wide vdevs where rebuild times are long.
Why "roughly"
ZFS allocates in records and pads stripes to keep them aligned to the pool's ashift. With small records or odd disk counts, real usable space lands a few percent below the simple (N − parity) estimate. Plan with the estimate, then check the live pool once it is built. Do not size your purchase to the last terabyte and expect it to be there.
RAIDZ usable space by level
Here is the simple estimate for a six-bay pool of 12 TB drives, the setup a lot of homelabs land on. Real usable space sits a few percent under this for the padding reason above, so treat it as the planning number, not a promise.
| Level | Parity disks | Survives | Usable (6 × 12 TB) | Efficiency |
|---|---|---|---|---|
| RAIDZ1 | 1 | 1 drive | 60 TB | 83% |
| RAIDZ2 | 2 | 2 drives | 48 TB | 67% |
| RAIDZ3 | 3 | 3 drives | 36 TB | 50% |
Swap in your own drive count and size in the storage calculator for your exact pool.
Which should you pick?
RAIDZ2. For a normal homelab pool of 4 to 8 large drives, double parity is the sane default, and I will say it plainly. A modern 12 TB or larger drive takes a long time to rebuild, and during that rebuild you are reading every other drive end to end. If a second drive drops in that window, RAIDZ1 is done and your data is gone. A read error in that window is gentler on ZFS, it costs you the files sitting under the bad sectors rather than the whole pool, but that is still data you do not get back without a backup. RAIDZ2 survives both. RAIDZ1 is fine only on small drives or non-critical data that you also back up, and RAIDZ3 is for wide vdevs where the rebuild window stretches long enough that you want a third disk of margin. See why single parity is risky with large drives for the actual rebuild and read-error math.
None of this fixes what actually catches people. RAID is not a backup. Redundancy keeps you running through a dead drive, it does nothing for a deleted file, a bad write, or the whole box dying. I run single parity myself and sleep fine, and the only reason I sleep fine is the offsite backup behind it. Keep one.
How wide to build a vdev
The one ZFS thing to plan before you buy is vdev width. A pool is built from vdevs, and you set parity per vdev, not per pool. Most people keep a RAIDZ vdev between 6 and 12 disks and grow the pool by adding another vdev, not by stuffing one vdev huge. For years you could not add a single disk to an existing RAIDZ vdev at all; OpenZFS 2.3 added RAIDZ expansion, but data written before you expand keeps its old parity ratio until it is rewritten. So pick the width you want up front. Do not count on growing one disk at a time the way SHR or unRAID let you.
Common questions
What is the difference between RAID and RAIDZ?
RAIDZ is ZFS's parity RAID, built into the filesystem, while traditional RAID (a hardware card or mdadm) sits under the filesystem. Both spread parity across disks and survive drive failures the same way: RAIDZ1 matches RAID 5, RAIDZ2 matches RAID 6. The difference is that ZFS checksums every block and repairs silent corruption on a scrub, which plain RAID cannot do because it never sees your data, only the blocks.
What is the difference between RAIDZ1, RAIDZ2, and RAIDZ3?
They differ by how many parity disks each vdev carries and therefore how many failures it survives. RAIDZ1 keeps one parity disk and survives one failure, RAIDZ2 keeps two and survives two, and RAIDZ3 keeps three and survives three. Usable space is roughly (N − parity) times the smallest disk.
Which RAIDZ level should I use?
RAIDZ2 for any normal pool of 4 to 8 large drives. Double parity survives a second drive failure during the long rebuild a big modern drive needs, and RAIDZ1 does not. Use RAIDZ1 only on small drives or non-critical data you also back up. RAIDZ3 is for wide vdevs where the rebuild window is long enough to want a third disk of margin.
Why is RAIDZ better than plain hardware RAID 5?
RAIDZ lives inside the filesystem, so ZFS checksums every block and repairs silent corruption during a scrub. Plain hardware RAID 5 never even notices that bit rot. That is the main reason to point a new self-built pool at ZFS. If you would rather not build and babysit a pool at all, a Synology on SHR-1 with an offsite backup is the boring appliance route, which is what I run myself.
Is RAIDZ the same as RAID 5 or RAID 6?
RAIDZ1 is single parity, the ZFS equivalent of RAID 5. RAIDZ2 is double parity, the equivalent of RAID 6. RAIDZ3 has no hardware-RAID equivalent. The parity count matches, but ZFS adds per-block checksums and self-healing on a scrub that hardware RAID does not have.
Why is usable space only an estimate?
ZFS allocates in records and pads stripes to keep them aligned to the pool's ashift. With small records or odd disk counts, real usable space can sit a few percent below the simple (N − parity) estimate. Plan with the estimate, then confirm on the live pool.
What is OpenZFS?
OpenZFS is the open-source version of ZFS that everyone actually runs today: it is what ships in TrueNAS, Proxmox, most Linux setups, and FreeBSD. "ZFS" started at Sun for Solaris; OpenZFS is the community project that carried it forward across platforms after that, and it is where features like RAIDZ expansion (added in OpenZFS 2.3) land. When a guide says ZFS or RAIDZ for a home NAS, it means OpenZFS.