NAS / Storage

Btrfs vs ZFS

Btrfs and ZFS are both copy-on-write filesystems with checksums, snapshots, and built-in volume management. ZFS is more mature and the safer choice for multi-disk NAS pools. Btrfs lives in the Linux kernel, needs less RAM, and shines for single disks and mirrors, but its built-in RAID 5/6 is still unsafe. For most NAS builds the answer is ZFS, with a real role for Btrfs in specific spots.

Updated 2026-06-03 · by

Side by side

BtrfsZFS
In the Linux kernelYes (mainline)No (OpenZFS module, CDDL)
LicenseGPLCDDL
Checksums + copy-on-writeYesYes
SnapshotsYesYes
RAID 5/6 equivalentBuilt-in, but unsafe (write hole)RAIDZ, solid
RAID 0/1/10StableStable
RAM appetiteLowerHigher (ARC cache)
Maturity at scaleGood for single/mirrorVery high
Common defaultsFedora, openSUSE, SynologyTrueNAS, Proxmox option

Two copy-on-write filesystems, different maturity

Both filesystems go well beyond storing bytes. They checksum every block to catch silent corruption, support instant snapshots, and manage their own volumes so you do not stack a separate RAID layer underneath. If you have only ever used ext4 or NTFS, either one is a real upgrade in data integrity.

The difference is track record at scale. ZFS came out of Sun, has been hammered in production for over a decade, and is the default for serious NAS builds. Btrfs is solid for single disks and mirrors and is the default root filesystem on Fedora and openSUSE, but its multi-disk parity story has never fully stabilized.

The RAID 5/6 question decides a lot

This is the heart of the comparison for a NAS. ZFS RAIDZ (its RAID 5/6 equivalent) is mature and trusted, and it closes the classic parity write hole by design. You can build a large RAIDZ2 pool and sleep at night.

Btrfs has built-in raid5 and raid6 modes, but they carry a known write hole and have a long-standing reputation for losing data after a failure. The Btrfs project itself flags them as unstable. The safe way to run Btrfs across several disks is raid1 or raid10, or to put Btrfs on top of traditional mdraid, which is exactly what Synology does. If you want striped parity, that is a point for ZFS.

RAM, kernel, and licensing

ZFS likes RAM. Its ARC cache uses free memory aggressively, which makes pools fast but means you want more RAM than a Btrfs box needs. ECC is recommended for either, and genuinely complements ZFS, though neither requires it.

Btrfs is in the mainline Linux kernel, so it is there on any modern distro with no extra modules. ZFS ships under the CDDL license, which is incompatible with the GPL, so it lives as an out-of-tree OpenZFS module. In practice OpenZFS is well packaged on TrueNAS, Proxmox, and most distros, but it is one more component that tracks kernel updates.

Is Btrfs deprecated? Not really

You will see claims that Btrfs is dead. The confusion comes from Red Hat, which deprecated and removed Btrfs support in RHEL years ago. That is a Red Hat decision, not the state of the filesystem. Btrfs is actively developed and is the default root filesystem on Fedora Workstation, openSUSE, and others, and it underpins Synology's storage.

What you should avoid is Btrfs raid5/6, not Btrfs itself. For a single disk, a laptop, or a mirror with snapshots, Btrfs is a great, kernel-native choice.

What to run

For a multi-disk NAS with parity, run ZFS. RAIDZ2 gives you checksummed, snapshot-capable storage that scales and recovers safely, which is why TrueNAS is built on it. Plan your pool first, ideally with ECC RAM.

Reach for Btrfs when you want kernel-native snapshots on a single disk or a mirror, on a laptop or a root filesystem, or when you are on a Synology where it sits safely on top of mdraid. If you are picking a NAS OS to wrap around the filesystem, see TrueNAS vs Unraid, and run your layout through the RAID and ZFS storage calculator before you buy disks.

Where Btrfs wins

  • Built into the mainline Linux kernel, no extra modules.
  • Lighter on RAM, good for single disks, mirrors, and root filesystems.
  • Kernel-native snapshots, and it is the default on Fedora, openSUSE, and Synology.

Where ZFS wins

  • RAIDZ parity is mature and safe, with no write hole.
  • Best-tested integrity and reliability for large multi-disk pools.
  • First-class snapshots and replication, and the foundation of TrueNAS.

Which to pick, by situation

Your situationPickWhy
Multi-disk NAS with parityZFSRAIDZ is mature and safe; Btrfs raid5/6 is not.
Single disk or laptop with snapshotsBtrfsKernel-native, lighter, and stable for single/mirror.
Maximum reliability for a large poolZFSBest track record and integrity at scale.
You want it built into the kernel, no modulesBtrfsMainline in Linux; ZFS is an out-of-tree CDDL module.

The verdict

For a NAS or any multi-disk pool where integrity matters, run ZFS. RAIDZ is the safe, proven way to get checksummed, snapshot-capable parity storage, which is why TrueNAS is built on it. Use Btrfs where it is strongest: single disks, mirrors, laptops, and Linux root filesystems that want kernel-native snapshots, or on a Synology where it sits on mdraid. Just avoid Btrfs raid5/6. If you are choosing the OS around it, see TrueNAS vs Unraid.

Choose Btrfs if you want a kernel-native filesystem for a single disk, a mirror, or a root filesystem with snapshots, and you do not need striped parity.

Choose ZFS if you are building a multi-disk NAS pool and want mature, safe parity, strong integrity, and snapshots that scale.

Official links

FAQ

Is ZFS better than Btrfs?

For a multi-disk NAS with parity, yes, because RAIDZ is mature and safe while Btrfs raid5/6 is not. For a single disk, a mirror, or a Linux root filesystem, Btrfs is an excellent, lighter, kernel-native choice. They aim at overlapping but different jobs.

Is Btrfs deprecated?

No. Red Hat removed Btrfs from RHEL, which fuels the rumor, but Btrfs is actively developed and is the default root filesystem on Fedora and openSUSE and the basis of Synology storage. Only its raid5/6 modes should be avoided, not the filesystem itself.

What are the disadvantages of ZFS?

It wants more RAM, it is not in the mainline kernel (it ships as an out-of-tree CDDL module), ECC is recommended, and historically it was rigid about expanding a vdev, though RAIDZ expansion now helps. None of these stop it from being the default for serious NAS builds.

Does ZFS destroy SSDs?

No. ZFS does write more than a simpler filesystem because of copy-on-write and metadata, which adds some wear, but modern SSDs handle it fine. You can reduce writes by disabling atime and tuning recordsize. For a normal homelab SSD, this is not a real concern.

Related on HomelabCompass

← All comparisons