Btrfs vs ZFS: Which to Use on Synology, Unraid and TrueNAS

  • Post author:Frank Joseph
  • Post published:
  • Post last modified:
  • Post category:Miscellaneous
  • Reading time:9 mins read

Btrfs vs ZFS is mostly decided by the NAS you’re running. Synology and UGREEN give you Btrfs, TrueNAS Community Edition gives you ZFS, and Unraid and Proxmox let you pick either. If you do get to choose, ZFS is the safer pick for parity RAID (Btrfs’s own RAID 5/6 is still marked unstable), and Btrfs is the more flexible one.

I ran Btrfs on my Synology NAS for years before moving everything to TrueNAS by November 2025, so my main storage today is a ZFS pool on TrueNAS Community Edition. Much of the ZFS vs Btrfs advice online predates RAIDZ expansion in OpenZFS 2.3 and Unraid 7.2, so everything below was checked against the current docs in October 2026.

Btrfs vs ZFS at a Glance

Both are copy-on-write file systems that checksum data and metadata and take snapshots. The difference most people never see is licensing: Btrfs is in the mainline Linux kernel, while OpenZFS’s CDDL license keeps it out of the kernel binary, so it ships as a separate module (NAS operating systems bundle it for you).

BtrfsZFS
In the Linux kernelYes, mainlineNo, separate module (CDDL license)
MirrorsRAID1, RAID1C3, RAID1C4, RAID10Mirror vdevs
Parity RAIDRAID 5/6, marked unstableRAIDZ1, RAIDZ2, RAIDZ3
Growing an arrayAdd mixed-size drives, convert profiles laterAdd a vdev, or one disk at a time to RAIDZ (OpenZFS 2.3+); parity level fixed
RAM guidanceNothing comparable8 GB minimum on TrueNAS, more for dedup

If you’re also weighing ext4, see my Btrfs vs. Ext4 comparison, and ZFS vs. LVM covers the other side of Linux storage.

Btrfs vs ZFS RAID: Mirrors, RAID 5/6 and RAIDZ

RAID is where the two differ the most, and where older comparisons get it wrong: Btrfs mirrors are fine, Btrfs RAID 5/6 isn’t, and RAIDZ can now grow one disk at a time.

Btrfs RAID 5/6 Is Still Unstable

As of October 2026, the Btrfs status page lists RAID5/6 as unstable, and the docs say not to use it in production, only for evaluation or testing. The problem is the write hole: an unclean shutdown can leave a stripe whose data and parity come from different writes, and Btrfs has no write journal to fix that. No fix has shipped, so don’t plan around one.

Btrfs mirrors (RAID1, RAID1C3, RAID1C4 and RAID10) are all marked OK. This is where Btrfs is flexible, since you can add drives of different sizes and convert between profiles later with a balance.

None of this applies to a Synology NAS. Synology runs Btrfs on top of MD RAID or SHR, so the parity is handled below Btrfs. UGREEN does not document how UGOS Pro layers this, so don’t assume the same there.

RAIDZ and RAIDZ Expansion

ZFS builds redundancy into vdevs (a mirror, or RAIDZ1, RAIDZ2 and RAIDZ3 with one, two or three disks of parity), and a pool stripes vdevs together. You couldn’t grow a RAIDZ vdev for years, but OpenZFS 2.3.0 added RAIDZ expansion in January 2025. You attach one disk at a time, and it has to be at least as large as the smallest disk in the vdev. The parity level you pick when you create the vdev never changes, though, and data already on the pool keeps its old data-to-parity ratio while new writes use the new one.

My TrueNAS pool is one eight-wide RAIDZ2 vdev, and by January 2026 one of those drives had failed. With RAIDZ1 I’d have been pretty stressed out, even with backups, but with RAIDZ2 another drive could die without losing any of my data. An eight-drive RAIDZ1 vdev really doesn’t make sense unless it’s an off-site backup of a full local copy, and even then you’re probably better off with RAIDZ2.

For the traditional RAID levels these map to, see RAID 1 vs. RAID 5, RAID 6 vs. RAID 10 and the best RAID type for a NAS.

Btrfs vs ZFS Performance and RAM Use

Which is faster depends on RAM, pool layout and the OS around the file system more than on the file system’s name.

ZFS uses RAM as a read cache (the ARC), so more RAM means faster reads, but that does not mean you need a ton of it. TrueNAS lists 8 GB as its minimum, and in my opinion 16 GB is the better place to start. The “1 GB of RAM per TB” rule isn’t in the OpenZFS FAQ (Proxmox recommends it for ARC sizing), and TrueNAS’s 5 GB per TB is only for deduplication.

Btrfs uses the normal Linux page cache and has nothing like ZFS’s RAM sizing guidance, so it asks less of your hardware.

Layout matters as much. More ZFS vdevs striped together generally means more speed, and a mirror resilvers by copying from its partner disk, while a parity vdev puts load on every disk.

Data Integrity, Snapshots and Compression

A checksum only detects corruption, and repairing it needs a good copy, so self-healing on either file system needs redundancy underneath. Btrfs self-heals this way too, so the old claim that it can’t is wrong. On Synology, Btrfs pulls that copy from the RAID layer: a scrub can only repair what it finds on a pool with redundancy, and only in shared folders created with Enable data checksum for advanced data integrity ticked (it cannot be added later).

A scrub reads everything and checks it. On Synology you schedule it in Storage Manager (here’s my data-scrubbing process), and TrueNAS’s default task checks weekly and scrubs once 35 days have passed.

DSM Schedule Data Scrubbing dialog with the schedule enabled for Storage Pool 1, set to repeat every three months
Scheduling data scrubbing on my Synology in 2022.

Snapshots are copy-on-write on both, so they only use space as data changes, and Btrfs snapshots saved me a few times on my Synology. ZFS snapshots are read-only, and a clone gives you a writable copy. Synology offers snapshot replication on a Synology NAS for Btrfs shared folders, and ZFS sends snapshots at the block level (that’s how I set up replication to an off-site TrueNAS box).

Btrfs compresses with zlib, lzo or zstd, and ZFS with lz4 by default, plus gzip and zstd. Btrfs dedupes after data is written, while ZFS dedupes inline, which is what pushes its RAM needs up.

Btrfs vs ZFS on Synology, Unraid, TrueNAS and Proxmox

Synology

DSM asks for Btrfs or ext4 when you create a volume, and it cannot be changed afterwards. Synology recommends Btrfs for snapshots, replication, quotas and data integrity protection. ext4 is more common on older and entry-level models, and there is no ZFS on DSM. Btrfs on SHR is the setup Synology intends (it’s what I ran), and here’s which Synology NAS I’d buy.

DSM Storage Manager showing an SHR storage pool of five drives with one-drive fault tolerance and a Btrfs volume
My Synology pool in 2023: SHR with a Btrfs volume on top.

Unraid Btrfs vs ZFS

On Unraid you set either per pool (on the Main tab), and changing it later means reformatting. Use ZFS for a parity pool, since Unraid’s docs call Btrfs RAID 5 and 6 experimental, and either for a mirror. ZFS pools arrived in 6.12 (June 2023), and 7.2.0 (October 2025) added RAIDZ expansion for single-vdev pools. As of October 2026 the stable line is 7.3.

Unraid isn’t a ZFS-first platform, so if ZFS is your goal, I’d recommend TrueNAS (my Unraid vs. TrueNAS comparison covers why).

TrueNAS

TrueNAS Community Edition (TrueNAS Scale, renamed in 25.04) is designed to run ZFS and that’s it. As of October 2026 the stable release is 25.10.7, and CORE is legacy, so TrueNAS CORE or TrueNAS Community Edition (Scale) isn’t much of a debate anymore.

It’s what I run today and my pick when data integrity comes first, and if you’re new to it, here’s how to set up TrueNAS Community Edition.

TrueNAS pool screen showing a 1 x RAIDZ1 four-wide data vdev, ZFS health online with zero errors, and the last scrub
My older TrueNAS pool in 2023: one four-wide RAIDZ1 vdev.

Proxmox Btrfs vs ZFS

The Proxmox VE 9.2 installer offers ext4, XFS, BTRFS and ZFS under Options next to Target Harddisk, but Btrfs is a technology preview there and the installer only builds it as RAID0, RAID1 or RAID10. ZFS is the mature option, with mirrors and RAIDZ1 to RAIDZ3 at install (dRAID only for pools you create later), so on Proxmox it’s not a close call. TrueNAS vs. Proxmox covers the OS choice itself.

UGREEN and QNAP

UGOS Pro asks for Btrfs or EXT4 when you create a storage pool, and there’s no ZFS. Snapshots only work on Btrfs, yet a lot of people set it up as EXT4 and can’t use them without reformatting. ZFS on UGREEN hardware means installing TrueNAS, whose ZFS pool wipes the data drives (that’s what I did on my DXP8800 Plus).

QNAP splits it by OS: QTS uses ext4, QuTS hero is ZFS-based and needs at least 8 GB of RAM, and switching means wiping and reinitializing the NAS. UGREEN vs. Synology and Synology vs. QNAP cover the hardware side.

Btrfs or ZFS: Which Should You Use?

For most people, the right answer is the file system your NAS is built around, set up properly:

  • On a Synology or UGREEN NAS: use Btrfs rather than ext4 (on Synology, with SHR or RAID underneath).
  • Building a NAS where data integrity comes first: ZFS on TrueNAS Community Edition, with RAIDZ2 for a wide vdev.
  • On Unraid: ZFS for a parity pool, Btrfs or ZFS for a mirror, and TrueNAS if ZFS is the whole point.
  • On Proxmox: ZFS, since Btrfs is still a technology preview there.
  • Tempted by Btrfs’s own RAID 5/6: don’t put data you care about on it.

Overall, if you just need basic snapshots, Btrfs is great, but if your priority is long-term integrity and possible scaling, ZFS is going to win in the long run. A file system’s status can change with any release and nothing here guarantees your data is safe. Keep real backups, because snapshots aren’t a replacement for them.

Frank Joseph

I'm Frank, founder of WunderTech. I've been working in enterprise IT for 15+ years and running home labs for nearly a decade — every tutorial on this site is tested on hardware I actually own, including Synology NAS units, a DIY TrueNAS server, a Proxmox cluster, a full UniFi network, and more. I hold a BS in Computer Information Systems and an MBA, but most of what you'll read here comes from my home lab, not a classroom. You can also find video versions of these tutorials on my YouTube channel.