24 TB to 160 TB of hard drives per server · Amsterdam, Bucharest, Chisinau · no KYC. Pay in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Language: English
Choose a hold

Comparison · ZFS parity · calculated from data sheets, not measured

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

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.

Last updated: · 7 min read

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 drivesRAIDZ2 usableRAIDZ3 usableParity share (Z2 / Z3)Failures survived (Z2 / Z3)
Hold 160: 10 × 16 TB HDD128 TB112 TB20% / 30%2 / 3
Hold 100: 10 × 10 TB HDD80 TB70 TB20% / 30%2 / 3
Hold 40: 4 × 10 TB HDD20 TB10 TB50% / 75%2 / 3
Hold 24: 2 × 12 TB HDDNot 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.

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
# 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.

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. The same trade-off without ZFS is on RAID 6 or RAID 10, and why ZFS wants the bare drives is on ZFS or hardware RAID.

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.

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.

Sources (6)
  1. zpoolconcepts(7): raidz and draid virtual devices — OpenZFS (read 2026-11-02)
  2. RAIDZ: space efficiency, reads and writes — OpenZFS (read 2026-11-02)
  3. zpool-attach(8): RAID-Z expansion — OpenZFS (read 2026-11-02)
  4. zpool-status(8): the -v option — OpenZFS (read 2026-11-02)
  5. Exos X20 data sheet (DS2080-2111US) — Seagate Technology (November 2021, read 2026-11-02)
  6. Backblaze Drive Stats for Q2 2026 backblaze.com/blog/backblaze-drive-stats-for-q2-2026 — Backblaze (2026-09-29, read 2026-11-02)

24 TB from $110.99/30 days · no KYC

Choose a hold