I am considering which OS and filesystem to use on some new servers I have and am considering either Free BSD with ZFS, or Linux with BTRFS.

The programs I have run on both systems, so the only issue is reliability of the filesystems and performance, etc.

  • 1
    I'm not much of a *nix person, but I usually see ZFS combined with Solaris - see this question here: serverfault.com/questions/60453/zfs-and-non-sun-oss (that might make your choice easier) – Mark Henderson Mar 30 '10 at 20:50
  • My personal choice would be zfs simply because I think it's a bit more mature than BTRFS. Of course I don't know how well zfs performs on bsd. – egorgry Mar 30 '10 at 20:58

As of April 2010 Btrfs is still in development and not ready for production use (really, it isn't - I have been bitten experimenting with kernel 2.6.32). Feature-wise btrfs contains some but not all of ZFS features. Most notably RAID-Z and data deduplication are missing.

What does work with btrfs is snapshotting, copy-on-write, checksumming and using multiple disks as a single volume. GNU cp recently got a neat "reflink" function to copy files as copy-on-write duplicates.

ZFS-FUSE seems more stable than btrfs, so if you go with Linux that may be an option (http://zfs-fuse.net/). Most features of Solaris ZFS are implemented. Can't find up-to-date performance benchmarks, though.

For a rock solid solution, I'd still say go with Linux and XFS. If you need snapshotting, add LVM2. If you need Software-RAID, add mdadm.

  • What's wrong with ZFS-FUSE on linux? I'm using that for my home NAS (2x500GB mirror setup with cron jobs for automatic snapshots and scrubbing) and I haven't had any problems. – Wim Coenen Mar 31 '10 at 14:32
  • I must admit after reading the latest updates on ZFS-FUSE it seems the project has successfully been revived (dev stalled for a long time). The feature-set is on par with ZFS on Solaris, only minor usability feats missing. I'll rephrase my answer accordingly. – korkman Apr 3 '10 at 1:24
  • 1
    ZFS can be used without FUSE it is already exists as native filesystem. See: zfsonlinux.org – Stone Feb 1 '12 at 20:25
  • "Please keep in mind the current 0.5.2 stable release does not yet support a mountable filesystem." – korkman Feb 22 '12 at 15:59

As of today (2012-02-01) btrfs still lacks an fsck utility, meaning that all your data is at risk if your system crashes (think kernel panic, power loss, and many other scenarios). I've experienced this data loss first-hand. If you're looking for data security (and who isn't?) then avoid btrfs. As of right now BTRFS is for experimenting filesystem junkies or non-essential data.

Of course you should keep backups of valuable data anyways, right?

For an ultra-stable alternative use ZFS on PC/FreeBSD 9. ZFS is a trustworthy enterprise filesystem that's been around many years. RAIDZ2 is a life saver.


As others have mentioned, Btrfs is still experimental, so you probably don't want to rely on Btrfs just yet.

People generally seem happy with ZFS on BSD, but you might also want to consider running ZFS on Solaris.

The BSD port of ZFS is probably the most mature port, but it still lags a few versions behind ZFS on Solaris, so you won't get all the latest features right away. As of FreeBSD 8.0, only ZFS version 13 is supported--so, for example, you won't get deduplication (which was introduced in ZFS version 21). You also won't get iSCSI with FreeBSD 8.0.

If you want the latest ZFS features as they're introduced, you may want to opt for OpenSolaris or Oracle Solaris, or Nexenta (a Solaris derivative with a GNU userland).

  • Sun Solaris? Oracle Solaris you mean? – andol Mar 31 '10 at 18:14
  • Yes, of course. :) – rob Mar 31 '10 at 18:20
  • I've been testing Nexenta and am quite happy with it – user17642 Apr 3 '10 at 5:20

As others have already pointed out, BTRFS is not really production quality yet, so if you need something that works today, ZFS is a better bet.

For some background on BTRFS, and how it differs from ZFS, see this LWN article.


I'm still a ZFS user (on both Solaris and Linux) however, on the latter, I would now consider btrfs as its latest (March 2012) release includes new features, performance improvements, bug fixes, and the very expected release of a btrfsfsck with repair capabilities.

According to that press release, the Btrfs file system is now production-ready.

  • 1
    Unfortunately, Oracle appears to be the only Linux vendor who says btrfs is production ready. It seems a bit premature, but there are few choices for midsized systems which require large disks. The disks are getting so large that silent data corruption on a disk is inevitable, and fscking a 3TB volume is impractical. – Stefan Lasiewski Mar 28 '12 at 21:12
  • Oracle being btrfs main developer, it is no surprise for them to be the first vendor to support btrfs in production. Moreover, for most people, the lack of a working fsck was what preventing them to use btrfs. Finally, silent data corruption is unlikely to render a btrfs file system unmountable given the fact there are two checksummed copies of meta-data. According to the release notes, the suspected main cause of file system corruption was a cache flushing bug that has been fixed. – jlliagre Mar 29 '12 at 7:38
  • Agreed. There's more interesting discussion at serverfault.com/a/285909/36178 – Stefan Lasiewski Mar 29 '12 at 16:06

While I was looking for the same thing I've stumbled over this piece of information from the FreeBSD wiki on the status of ZFS in FreeBSD. Looks like FreeBSD is catching up.

Source: http://wiki.freebsd.org/ZFSTuningGuide

History of FreeBSD releases with ZFS is as follows:

  • 7.0+ - original ZFS import, ZFS v6; requires significant tuning for stable operation (no longer supported)
  • 7.2 - still ZFS v6, improved memory handling, amd64 may need no memory tuning (no longer supported)
  • 7.3+ - backport of new ZFS v13 code, similar to the 8.0 code
  • 8.0 - new ZFS v13 code, lots of bug fixes - recommended over all past versions. (no longer supported)
  • 8.1+ - ZFS v14
  • 8.2+ - ZFS v15
  • 9.0+ - ZFS v28
  • Catching up yes; always behind at least a few version yes. – Chris S Aug 1 '11 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.