Why I somewhat irrationally have a distrust of ZFS on Linux

December 27, 2012

By now there are a number of ways to run ZFS on Linux (for example here as a native kernel module and here as a user-level component connected to the kernel with FUSE). All such efforts are separate projects with no prospect of that ever changing because ZFS's CDDL license is fundamentally incompatible with the Linux kernel's GPLv2 licensing.

(Theoretically Oracle could decide to relicense ZFS. The odds of that happening appear to be very low.)

I'm not really interested in running important production filesystems through FUSE, which leaves ZFS kernel modules. I'm not fundamentally opposed to running out of kernel modules in production and in fact our iSCSI server software is an example of it. Despite this, the idea of ZFS on Linux makes me fundamentally nervous precisely because of the out of kernel issue. Put simply, I worry about ZFS on Linux projects being able to attract people who are familiar enough with the Linux kernel to do a good job of the kind of deep integration that ZFS needs. Because of ZSF's issues, you automatically lose all kernel hackers who care enough about kernel licensing issues or who feel relatively strongly about their work being included in the main kernel. You're left with kernel hackers who're willing to work on a license-incompatible project that will never be integrated, and my presumption is that there are not very many really good kernel hackers who meet this description.

(You can presumably get more such kernel hackers if you can pay them, but then that puts a ZFS on Linux project at the mercy of continuing funding.)

Initially I was going to be more pessimistic and strong about this than I am now. What happened is that when I started to write this entry, I pulled the git repo for ZFS on Linux and started looking at 'git log'. Development is very active and it seems to be done by people who know what they're doing. A lot depends on the project lead (and thus funding from LLNL) and the project is not mature yet, but those aren't risks that worry me; we'd almost certainly look at the project only after it had stabilized. If it never stabilizes because it loses development funding and developers, oh well so be it.

I'm not entirely happy with the situation, though. I still think that ZFS on Linux's perpetual outsider status makes me less confident about it than either an Illumos-derived distribution or FreeBSD, where ZFS is or seems to be an active part of the core development. It's possible that ZFS on Linux will prove to have sufficient extra advantages to overcome this, but I'm dubious.

Sidebar: ZFS on Linux ZFS version information

This is not mentioned in the zfsonlinux.org web pages, at least not that I could find. ZFS on Linux is at zpool version 28, which is the same as the current Illumos version (and also FreeBSD and OpenSolaris). Solaris 10 update 8 plus patches (what we're currently running) is at version 15. Oracle Solaris 11 seems to be at (their) version 32.

At this point, ZFS feature flags (see the comments here) do seem to be in Illumos (and FreeBSD?) but aren't yet in ZFS on Linux. However, the ZFS on Linux developers are working on this; given their pace of development, I suspect that support will appear relatively soon in an official release.

Comments on this page:

From at 2012-12-27 15:35:32:

the thing that always surprises me about your infrastructure descriptions is the continued reliance on sun hardware. it seems that even 10+ years ago, the mantra "twice the resources for half the price" applied to commodity intel vs sun hardware. how do you afford it? /mark

By cks at 2012-12-27 18:49:27:

At some point Sun actually got competitive for basic 1U servers (and I think maybe somewhat bigger hardware). Thumpers and their other big servers were still quite expensive, but the SunFire X2100 and X2200 series was both the cheapest and the most attractive basic 1U server hardware we could get. They were our 1U servers of choice up until Oracle killed off the entire hardware line when they bought Sun (much to my regret). That they were fully supported for Solaris (and actually came with an intrinsic Solaris license) was just icing on the cake; only a small fraction of the SunFires we've bought actually run Solaris.

(It may have helped that Sun was willing to give us good academic discounts and they had periodic end-of-quarter or end-of-year fire sales. At nominal list price they might have been overpriced compared to Dell et al.)

From at 2012-12-27 21:33:06:

Ditto on Sun educational pricing, especially for entry-level hardware, was incredible. Maybe too much chasing revenue at the expense of any realized profit.

Written on 27 December 2012.
« Does Python 2 need to evolve?
A spammer that is not the brightest light in the box »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Dec 27 02:00:46 2012
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.