NAS / Storage

ZFS Mirror vs RAID 1

Both keep a full copy of your data on two drives, so both survive one dead disk. The real split is integrity. A ZFS mirror checksums every block and repairs silent corruption from the good copy. Traditional RAID 1, whether mdadm software RAID or a hardware controller, mirrors the bits but cannot tell a good copy from a rotted one. For a NAS holding anything you care about, run a ZFS mirror. Plain RAID 1 still earns its place on low-RAM boxes and non-ZFS systems. Here is the full split, including how a ZFS mirror compares to RAIDZ1.

Updated 2026-06-25 · by

Side by side

ZFS MirrorRAID 1
How it worksCopy-on-write mirror vdev with per-block checksumsBlock-level mirror via mdadm or a RAID card
Data integrityChecksums every block, self-heals from the good copyNone; cannot detect or repair silent corruption
Minimum drives22
FilesystemZFS onlyAny (ext4, XFS, Btrfs on top)
SnapshotsNative, instant, freeVia LVM or the filesystem, if at all
RAM appetiteHigher (ARC uses free RAM)Minimal
RecoveryImport the pool on any OpenZFS hostmdadm assemble on any Linux; HW RAID needs a compatible card
Grow / shrinkAdd mirror vdevs to grow; cannot shrink a poolmdadm grow and reshape are more flexible

What each one actually is

A ZFS mirror is a mirror vdev inside a ZFS pool. Two (or more) disks hold identical copies, but ZFS sits on top as both the volume manager and the filesystem, so it knows what every block is supposed to contain. The Proxmox and TrueNAS installers label this option RAID1 or mirror, which is why people search for "RAID 1 ZFS" in the first place. Under the hood it is a copy-on-write mirror, not classic block RAID.

Traditional RAID 1 mirrors two disks below the filesystem. On Linux that is usually mdadm software RAID: the kernel presents a single /dev/md0 device and you put ext4 or XFS on top. It can also be a hardware RAID controller that mirrors in firmware and shows the OS one disk. Either way, the mirror layer copies blocks around without understanding the data inside them.

The integrity gap: checksums and self-healing

This is the whole reason to pick ZFS. Every block in a ZFS pool carries a checksum. On read, ZFS verifies the block against that checksum, and if it fails, ZFS pulls the good copy from the other mirror member, returns correct data, and rewrites the bad block. A scheduled scrub walks the entire pool doing the same check proactively. Silent corruption, the kind that comes from bit rot, a flaky SATA cable, or a drive returning wrong bytes without flagging an error, gets caught and fixed.

Traditional RAID 1 has no such layer. mdadm mirrors blocks but stores no checksum, so when the two copies disagree it cannot tell which one is correct. A `check` scrub only counts mismatches; a `repair` blindly copies one side over the other and can overwrite the good copy with the bad one. Hardware RAID 1 is the same story with even less visibility. The data is duplicated, but its correctness is never verified, and for long-lived NAS data that is the gap that matters.

RAM, performance, and the 1 GB per TB myth

The most repeated objection to ZFS is RAM. The "1 GB of RAM per TB of storage" rule came from old FreeNAS guidance and was always conservative, aimed at large arrays running deduplication. For a two-disk mirror it is overstated. ZFS runs fine on a home NAS with 8 GB; the ARC simply borrows whatever RAM is free as a read cache and hands it back under pressure. Only turn on dedup if you have studied it and have the memory for it, because that is the feature that actually drives the heavy RAM math.

On performance, both mirror types read from both drives, so sequential reads scale similarly and a single disk already saturates a gigabit link. ZFS adds ARC caching, optional compression (lz4 is nearly free and often a net speedup), and copy-on-write, which sidesteps the RAID 1 write-hole risk on a sudden power loss. mdadm carries slightly lower CPU overhead on very weak hardware. For a homelab, the integrity and snapshot features outweigh that small CPU difference.

Recovery and portability

ZFS pools are portable. Pull both disks, plug them into any machine running OpenZFS (TrueNAS, Proxmox, Ubuntu, FreeBSD), run `zpool import`, and the pool comes up with its data, snapshots, and settings intact. There is no controller to match and no metadata to rebuild by hand.

mdadm is similarly portable across Linux: `mdadm --assemble --scan` reassembles the array on any modern kernel. Hardware RAID 1 is the weak link. The on-disk layout is the controller's own format, so recovering the array can require the same card model or a compatible one. When that card dies three years later, sourcing a match becomes a real problem. This is exactly why ZFS people tell you to flash the HBA to IT mode and give ZFS the raw disks rather than building a controller mirror underneath it.

ZFS mirror vs RAIDZ1, and what to run

The other half of the "RAID 1 ZFS" question is mirror versus RAIDZ1, the ZFS take on RAID 5. On two disks there is no contest, since a mirror is the only redundant option. On three or more disks a mirror still resilvers faster, expands more easily (add another two-disk mirror vdev whenever you want), and gives better random IOPS, at the cost of holding only 50 percent of raw capacity.

RAIDZ1 spreads single parity across three or more disks for more usable space, but resilvers are slower and stress every disk, and the single-parity rebuild risk on large drives is the same warning that applies to RAID 5. For a two- to four-disk homelab pool that holds data you would miss, mirrors keep things simple and fast; reach for RAIDZ2 when capacity matters more than easy expansion. Run your disk count through the RAID and ZFS calculator to see usable space for each layout, and if you are still picking a filesystem see Btrfs vs ZFS.

Where ZFS Mirror wins

  • Per-block checksums catch and self-heal silent corruption that RAID 1 cannot even detect.
  • Instant snapshots, replication with zfs send, inline lz4 compression, and ARC read cache are built in.
  • Pools import on any OpenZFS host with one command, with no controller to match.
  • Converting a single disk to a mirror is one `zpool attach`, and you grow by adding mirror vdevs.

Where RAID 1 wins

  • Filesystem-agnostic: put ext4 or XFS on top, no ZFS required.
  • Tiny RAM and CPU footprint, fine on weak boxes and cheap VPSes.
  • mdadm is mature and reassembles on any Linux with standard tools.
  • More flexible to grow, shrink, and reshape than a ZFS pool.

Which to pick, by situation

Your situationPickWhy
Boot/root pair on Proxmox or TrueNASZFS mirrorThe installer's ZFS RAID1 option gives a checksummed, snapshot-capable boot pool you can roll back.
Two-disk NAS holding photos, documents, and backupsZFS mirrorSelf-healing catches bit rot that plain RAID 1 would silently serve back to you.
Low-RAM VPS or appliance on ext4/XFSRAID 1 (mdadm)No ZFS dependency, minimal memory, and recovery with standard Linux tools.
Old server with a hardware RAID cardEither, but flash to IT modeGive ZFS the raw disks instead of trusting the controller's mirror, or run mdadm; avoid card lock-in.

The verdict

Run a ZFS mirror for any NAS or homelab pool that holds data you would be upset to lose. The checksumming and self-healing are the entire point: they catch and repair the silent corruption that a plain RAID 1 mirror duplicates without ever noticing. Keep mdadm RAID 1 for the jobs it still fits, a low-RAM box, a non-ZFS distro, or a simple boot pair where you want standard tooling. Avoid building new data on a hardware RAID 1 controller; flash it to IT mode and let ZFS mirror the raw disks instead. If you are choosing the NAS OS to run it on, TrueNAS vs Unraid is the next stop, and the storage calculator will show usable capacity before you buy drives.

Choose ZFS Mirror if the data matters and you want checksums, self-healing, snapshots, and portable pools: a ZFS mirror on TrueNAS, Proxmox, or any OpenZFS system.

Choose RAID 1 if you need a dead-simple, low-RAM mirror on a non-ZFS system or a boot pair, with standard Linux recovery tooling.

Official links

FAQ

What is ZFS RAID 1?

It is a ZFS mirror vdev. ZFS does not use the label RAID 1 internally, but a two-disk mirror keeps a full copy on each drive just like RAID 1, then adds per-block checksums and self-healing on top. The Proxmox and TrueNAS installers label this option RAID1 or mirror, which is why the terms get used interchangeably.

Why use ZFS instead of RAID?

Because ZFS verifies your data, not just duplicates it. Traditional RAID mirrors or parity-protects blocks but stores no checksum, so it cannot tell a good copy from a corrupted one. ZFS checksums every block, repairs bad ones from the good copy during reads and scrubs, and adds snapshots, replication, and compression that block RAID has no concept of.

Which RAID should I use with ZFS?

For two disks, a mirror. For more disks, use mirrors when you want speed and easy expansion, or RAIDZ2 when you want capacity with two-drive fault tolerance. Do not stack ZFS on top of a hardware RAID volume; flash the controller to IT/HBA mode and give ZFS the raw disks so its checksums and self-healing actually work.

What is the difference between a ZFS mirror and RAIDZ1?

A mirror keeps full copies on each drive: 50 percent usable capacity, fast resilvers, easy expansion, and strong random IOPS. RAIDZ1 stripes single parity across three or more disks for more usable space, but resilvers are slower and the single-parity rebuild risk on large drives is real. Two disks can only be a mirror; RAIDZ1 needs at least three.

Does a ZFS mirror need a lot of RAM?

Not for a small mirror. The 1 GB per TB rule is conservative guidance aimed at large dedup-enabled arrays. A two-disk home NAS runs fine on 8 GB; ZFS uses spare RAM as ARC read cache and releases it under pressure. Only dedup makes RAM a hard requirement, and most people should leave dedup off.

Can I convert a single ZFS disk to a mirror?

Yes. Run `zpool attach poolname existing-disk new-disk` and ZFS resilvers the new drive into a mirror with no data loss or downtime. The reverse, `zpool detach`, drops back to a single disk.

Is hardware RAID 1 better than a ZFS mirror?

No, not for data you intend to keep. Hardware RAID 1 has no end-to-end checksums and ties recovery to a compatible controller card. A ZFS mirror verifies and repairs data and imports on any OpenZFS machine. Use the controller in IT mode and let ZFS do the mirroring.

Which is faster, a ZFS mirror or RAID 1?

For sequential reads they are close, since both read from two drives and a single disk already saturates gigabit. ZFS often wins real workloads thanks to ARC caching and near-free lz4 compression, while mdadm has slightly lower overhead on very weak CPUs. For a NAS the integrity features matter more than the small speed gap.

Related on HomelabCompass

← All comparisons