Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Could I get ZFS to work properly in Linux?

Are there any caveats / limitations?

share|improve this question
up vote 32 down vote accepted

ZFS is not in the official Linux kernel, and never will be unless Oracle relicenses the code under something compatible with the GPL.

Additionally, NetApp claims they own patents on some technology used in ZFS. NetApp settled their lawsuit with Sun after the Oracle buyout, but that settlement doesn't protect any other Linux distributor. (Red Hat, Ubuntu, SuSE...)

Today, your best options are:

  • Switch to btrfs, which has similar features to ZFS but doesn't have the GPL license conflict and has been in the mainline kernel for testing since 2.6.29 (released in January 2009)

  • Use a different OS for your file server (FreeBSD 9, say) and use NFS to connect it to your Linux boxes

  • Use ZFS on FUSE, a userspace implementation, which works neatly around the kernel licensing issue at the expense of a significant amount of performance

  • If you are able to integrate a kernel patch on-site, you can use the Behlendorf port of ZFS to Linux. The license conflict means you cannot sell or give the patched server away to someone outside your organization, as that would constitute distributing non-GPL-compatible code (ZFS) linked to GPL code (the Linux kernel).

Incidentally, btrfs is also backed by Oracle, but was started years before the Sun acquisition. I don't believe the two will ever merge, or one be deprecated in favor of the other due to the license conflict and patent issue. ZFS is too popular to go away, but there will continue to be demand for a ZFS alternative.

share|improve this answer
Does oracle have any real motivation to back both ZFS and btrfs? It seems to be logical just to merge the 2 or relicense ZFS which is the more mature product. – Sam Saffron Aug 11 '10 at 1:18
btrfs is way less mature than ZFS, which works excellently today, particularly on distributions like Nexenta which, with the Ubuntu/Debian style server-oriented userland, are more usable for those familiar with Linux (IMO). – Barry Kelly Aug 11 '10 at 5:06
shrug My ZFS adventure included a trip into Nexenta land, which I couldn't get running on a perfectly standard new PC I built for the purpose of testing out the ZFS options. I tried both the stable and the beta versions available at the time. FreeBSD ran on it just fine, so I went with that. – Warren Young Aug 11 '10 at 9:11
Frankly, between ZFS and DTrace, the licensing issue is something that I'm hoping will push more people to consider using FreeBSD. – gvkv Aug 11 '10 at 16:29
This answer could probably use an update. Currently ZFS On Linux can be downloaded as source code and built as a loadable kernel module without needing to patch the kernel itself, so the licensing incompatibility should be less of an issue (no more than any other non-GPL kernel module, including proprietary hardware support modules). Since 0.6 ZoL is considered stable enough for production use, and although there are still some remaining issues to be worked out (e.g., with default settings xattr use is costly in terms of performance) on the whole it works very well for lots of people. – Michael Kjörling May 19 '14 at 11:38

Several answers here mention the Behlendorf ZFS port.

Keep in mind that the Behlendorf ZFS port is currently targeted towards Lustre users with extremely large filesystems. This is what Lawrence Livermore National Labs, the US Department of Energy and other research facilities need, because they run very large filesystems (100TB - multi-Petabyte systems in the near future). Lustre runs on Linux, and is running into problems when used for filesystems above certain sizes. Some people hope to solve this problem using ZFS, which is where zfsonlinux.org comes into play.

In order for ZFS to be useful for the rest of us, the ZPL (ZFS POSIX Layer) must be ported to Linux, so that administrators can interact with the filesystem. zfsonlinux.org has a development version of the ZPL, and KQ Infotech provides another implementation of the ZPL, which is a fork of the zfsonlinux.org code.

Behlendorf wants help to improve the ZPL and to merge in any changes from KQ Infotech into the zfsonlinux.org repository. If you can do this, the community will benefit greatly, and you will be a rockstar.

share|improve this answer

Oh yes, now you can! There is ZFS on Linux Project. ZFS has been successfully ported to multiple platforms and now there is a a functional Linux ZFS kernel port.

  • Use Ubuntu + Native ZFS for Linux PPA.
  • Use RPM-compatible distributive for example CentOS or OLE.
  • You can compile package by yourself from sources for your Linux distributive.

My real experience is using Ubuntu + Native ZFS - it working very stable from daily repositories.

share|improve this answer

I don't know how well they work, but there are two ports of ZFS available for Linux - a FUSE implementation and a in-kernel filesystem implementation.

share|improve this answer

You can with the FUSE version of ZFS. The limitation is that it runs as a userspace process.

share|improve this answer

I have set up ZFS Fuse on debian/lenny for my home NAS. I didn't encounter any problems or limitations. Search for ZFS on my blog for some more related posts.

I did try BTRFS first, but found that it simply wasn't ready yet. This was in february 2010.

share|improve this answer

ZFS Fuse indeed works.

CAVEAT: Make sure that the 'other' operating systems you'll use the drive for supports the same version the ZFS Fuse - BSD usually runs a couple of versions later than the Linux ones.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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