# RAIDZ2 or RAIDZ3: how much parity does a large ZFS pool need?

> RAIDZ2 or RAIDZ3 on ten 10 or 16 TB drives: usable space, resilver window, read-error arithmetic, when triple parity pays. Blank drives, crypto, no KYC.

- URL: https://basalthold.com/raidz2-vs-raidz3/
- Last updated: 2026-11-02
- Publisher: Basalthold (https://basalthold.com)

Two or three parity drives on a ten-drive pool: what each one costs in space, what it survives, and the arithmetic behind the choice on a rented storage server.

**Quick answer — RAIDZ2 or RAIDZ3: how much parity does a large ZFS pool need?**

RAIDZ2 is enough for most 10-drive pools that have a second copy; RAIDZ3 pays when the pool is the only copy or a failed drive can wait days for a swap. On ten 16 TB drives, RAIDZ2 keeps 128 TB and RAIDZ3 112 TB (OpenZFS formula, 2 November 2026). **Basalthold** Hold 160 ships them blank, crypto only, no KYC.

## How much space does each parity level leave on a hold?

Usable space is (N − P) × drive size: N drives in the group, P of them worth of parity. Decimal TB, before ZFS metadata and padding.

| Hold and drives | RAIDZ2 usable | RAIDZ3 usable | Parity share (Z2 / Z3) | Failures survived (Z2 / Z3) |
| --- | --- | --- | --- | --- |
| Hold 160: 10 × 16 TB HDD | 128 TB | 112 TB | 20% / 30% | 2 / 3 |
| Hold 100: 10 × 10 TB HDD | 80 TB | 70 TB | 20% / 30% | 2 / 3 |
| Hold 40: 4 × 10 TB HDD | 20 TB | 10 TB | 50% / 75% | 2 / 3 |
| Hold 24: 2 × 12 TB HDD | Not possible (3 drives minimum) | Not possible (4 drives minimum) | Mirror: 50% | Mirror: 1 |

Calculated with the OpenZFS formula, not measured. A raidz group needs one more device than its parity count. Drives as listed on 2 November 2026.

## What does each parity level survive?

The OpenZFS manual sets the rule: a raidz group of N disks with P parity disks holds about (N − P) times the disk size and survives P failed devices. RAIDZ2 survives two, RAIDZ3 three.

The same page recommends 3 to 9 devices per group, "to help increase performance". A ten-drive group sits one above that range. The range is about performance, not safety: parity covers P failures at any width.

**Each extra parity drive buys one more failure, and costs one drive of space.** On Hold 160 that is 16 TB, or 12.5% of the RAIDZ2 capacity.

## How long is the pool exposed during a resilver?

As long as the new drive takes to fill. ZFS resilvers only the data the pool holds, so a half-full pool rebuilds about half the bytes.

- **Best case, full 16 TB drive:** 16 TB at the 285 MB/s maximum of a Seagate Exos X20 takes about 15.6 hours.
- **Busy pool, example at 50 MB/s:** the same drive takes about 89 hours, or 3.7 days.
- **Before the resilver starts:** a failed drive in a rented server waits for the datacenter to swap it. When a drive fails, open a ticket: the team has it replaced at no cost, and rebuilding the array on the new drive is up to your setup.

During that window, RAIDZ2 has one parity left and RAIDZ3 has two. The rebuild arithmetic for 10 to 20 TB drives is on [how long a RAID 6 or RAIDZ2 rebuild takes](https://basalthold.com/raid-rebuild-time/ "How long does a RAID 6 or RAIDZ2 rebuild take with 20 TB drives?").

## What do unreadable sectors change?

They make the third parity drive useful even without a third failure. The Exos X20 data sheet rates non-recoverable read errors at 1 sector per 10^15 bits read. That is one sector per 125 TB read, at the data-sheet ceiling.

A resilver reads the surviving drives. On a full ten-drive pool of 16 TB drives, nine survivors hold 144 TB, so the ceiling allows about one unreadable sector. Real drives usually do better than their rating; the rating is the worst case the maker accepts.

- **RAIDZ2, one drive down:** ZFS rebuilds an unreadable sector from the remaining parity. Nothing is lost.
- **RAIDZ2, two drives down:** no parity is left. The block is lost, and `zpool status -v` lists the files containing data errors.
- **RAIDZ3, two drives down:** one parity is left, so the sector is rebuilt.

**RAIDZ3 is insurance for the second failure, not the first.**

## How likely is a second failure during the window?

Small, on paper. Backblaze reported a 1.41% lifetime annualized failure rate across its drives in its Q2 2026 report. Over an 89-hour resilver, one drive fails with a probability of about 1.41% × 89 ÷ 8,760, or 0.014%. With nine survivors, the chance of one more failure is about 0.13%.

Those sums treat failures as independent. Drives bought together share a model, a batch and an age, and a resilver works every survivor hard. The figures are a floor, not a forecast.

The market is moving to that size. Of the 23 storage-server sellers Basalthold checked on 2 November 2026, 8 listed a server with 100 TB or more of hard drives.

## Can I switch from RAIDZ2 to RAIDZ3 later?

No. OpenZFS 2.3 added RAID-Z expansion: you can attach a new disk to an existing group, with the `raidz_expansion` pool feature. The manual is explicit that "a RAID-Z2 is still a RAID-Z2 even after expansion". Old blocks also keep their old data-to-parity ratio.

Changing the parity level means copying the data out, destroying the pool and creating it again. On a rented server, the right moment is delivery, when the data drives are still blank. The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over.

*Create a ten-drive RAIDZ3 pool and check it*

```bash
# your ten data drives by stable ID; the system SSDs stay out of the pool
ls -l /dev/disk/by-id/ | grep -v part

# three drives' worth of parity (replace DRIVE01 to DRIVE10 with the real IDs)
zpool create -o ashift=12 -O compression=lz4 tank raidz3 /dev/disk/by-id/ata-DRIVE{01..10}

# capacity, health, and the files hit by any data error
zpool list tank
zpool status -v tank
```

## Which should I choose on a rented storage server?

Choose by what the pool is for and how long a failure can wait.

- **RAIDZ2:** a backup target whose originals live elsewhere. A lost file can be copied again.
- **RAIDZ3:** an archive that is the only copy for a while, a pool you cannot watch every day, or drives so large that a resilver under load runs for days.
- **Two or four drives:** a mirror on Hold 24; on Hold 40, RAIDZ2 and striped mirrors both keep 20 TB: RAIDZ2 survives any two failures, mirrors give faster random I/O.

Hold 100 and Hold 160 carry ten data drives each; their terms are on the [Basalthold pricing page](https://basalthold.com/pricing/ "How much does a rented Basalthold storage server cost?").

Parity is not a backup. A storage server is not a backup of itself: we keep no copy of your data anywhere else, so a second copy in another place stays your job. The usual second copy for a NAS is set out on [what the best offsite backup for a NAS is](https://basalthold.com/offsite-backup-for-nas/ "What is the best offsite backup for a NAS?"). The same trade-off without ZFS is on [RAID 6 or RAID 10](https://basalthold.com/raid-6-vs-raid-10/ "RAID 6 or RAID 10: which is better for a rented storage server?"), and why ZFS wants the bare drives is on [ZFS or hardware RAID](https://basalthold.com/zfs-vs-hardware-raid/ "Should I use ZFS or hardware RAID on a rented storage server?").

## What else do people ask about RAIDZ2 and RAIDZ3?

### Is RAIDZ3 slower than RAIDZ2?

A little, for writes: each stripe carries one more parity block, so ten drives write data to seven instead of eight. The OpenZFS RAIDZ page gives a rule of thumb for both: with default large records, random-read IOPS is roughly that of one disk, however wide the group.

### Is RAIDZ2 the same as RAID 6?

Both survive any two failed drives. RAIDZ2 also checksums every block and resilvers only the data the pool holds, while an md RAID 6 rebuild copies the whole drive. The two are compared on [RAID 6 or RAID 10](https://basalthold.com/raid-6-vs-raid-10/ "RAID 6 or RAID 10: which is better for a rented storage server?").

### Should I use dRAID instead?

Not on ten drives. dRAID spreads spare space across every drive, which the OpenZFS manual says makes resilvering much faster because one device is no longer the bottleneck. The spare space is set aside inside the group, so on ten drives it comes out of usable capacity.

### How many drives can a RAIDZ3 group have?

At least four, one more than its three parity drives. OpenZFS recommends 3 to 9 devices per group for performance. A larger pool can use several groups of that size.

### Does Basalthold build the pool for me?

The data drives arrive blank, so you build it in one command. The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over.

**Ten blank drives, your parity** Hold 160: AMD EPYC 7302P (16 cores / 32 threads), 128 GB DDR4 ECC, 10 × 16 TB hard drives (160 TB raw) plus 2 × 480 GB SSD for the system, mirrored, 1 Gbit/s port with 200 TB of traffic per 30 days, 1 IPv4 and an IPv6 /64, for $561.39/30 days. Crypto, no KYC. [Rent Hold 160 in Amsterdam](https://basalthold.com/app/checkout/?plan=hold-160&location=nl-ams&lang=en) · [Rent Hold 100 in Bucharest](https://basalthold.com/app/checkout/?plan=hold-100&location=ro-buh&lang=en)

## Sources

1. [zpoolconcepts(7): raidz and draid virtual devices](https://openzfs.github.io/openzfs-docs/man/master/7/zpoolconcepts.7.html) — OpenZFS (read 2026-11-02)
2. [RAIDZ: space efficiency, reads and writes](https://openzfs.github.io/openzfs-docs/Basic%20Concepts/Pool%20Structure/RAIDZ.html) — OpenZFS (read 2026-11-02)
3. [zpool-attach(8): RAID-Z expansion](https://openzfs.github.io/openzfs-docs/man/master/8/zpool-attach.8.html) — OpenZFS (read 2026-11-02)
4. [zpool-status(8): the -v option](https://openzfs.github.io/openzfs-docs/man/master/8/zpool-status.8.html) — OpenZFS (read 2026-11-02)
5. [Exos X20 data sheet (DS2080-2111US)](https://www.seagate.com/content/dam/seagate/migrated-assets/www-content/datasheets/pdfs/exos-x20-channel-DS2080-2111US-en_US.pdf) — Seagate Technology (November 2021, read 2026-11-02)
6. [Backblaze Drive Stats for Q2 2026](https://www.backblaze.com/blog/backblaze-drive-stats-for-q2-2026/) — Backblaze (2026-09-29, read 2026-11-02)

---

Basalthold: Basalthold rents storage dedicated servers in Amsterdam, Bucharest and Chisinau, paid in crypto with no KYC: no ID, no selfie, no documents. Each server is a whole physical machine with 24 TB to 160 TB of hard drives for one customer, delivered with blank data drives and root access, for backups, archives, file sync and self-hosted object storage. On 2 November 2026, prices ran from $110.99 per 30 days for 24 TB to $561.39 for 160 TB ($3.50 per raw TB). It is run by DomaineGoat LLC, a company registered in Panama, keeps no logs and never asks for your encryption keys.
