Native ZFS On Linux

Home » CentOS » Native ZFS On Linux
CentOS 20 Comments

I have a question that has been puzzling me for some time … what is the reason RedHat chose to go with btrfs rather than working with the ZFS-on-Linux folks (now OpenZFS)? Is it a licensing issue, political, etc?

Although btrfs is making progress, ZFS is far more mature, has a few more stable features (especially Raid-z3) and has worked flawlessly for me on CentOS-6 and Scientific Linux-6. I used ZFS for a couple of large file servers with no problems. The only annoying part was having to manually install the kernel module each time a kernel update was issued.

Because FreeBSD has built-in drivers for LSI cards (I use JBOD mode) and strong ZFS support, I’ve switched to FreeNAS with it’s default native ZFS and driver support for LSI. I would have preferred to stick with CentOS, but FreeNAS just made things easier to manage. It also seems about twice as fast as ZFS on Linux (same hardware), but that may simply be a tuning issue.

Is there any chance that a native ZFS (rather than btrfs) will ever emerge in RHEL/CentOS? Just curious, because I’d love to return to CentOS/SL next time I build large file servers.

As an aside, I have used only WD Black and WD RedPro drives for RAID, and not had any issues. Green drives are scary :-)

Chuck

20 thoughts on - Native ZFS On Linux

  • Licensing, IMO. Redistributing ZoL is likely fraught with a bit of legal peril, or at best, technical peril if you want to try and skirt the legal edges. Oracle is notoriously litigious and having a target liked Red Hat would probably have their lawyers whetting their chops.

    Ironically, btrfs was also an Oracle thing — in that Chris Mason worked for them (believe he’s now at Google?).

    Do agree that ZFS feels like what btrfs is trying to become. I use ZoL
    on some production boxes and its been quite stable, but am also considering the approach you’ve taken with FreeNAS for some larger deployments to chase after a bit more performance and tighter integration with the OS…

    Ray

  • Once upon a time, Chuck Munro said:

    Licensing. Sun chose an Open Source license that is incompatible with the GPLv2 as used by the Linux kernel, so it is not legally possible to distribute a combined work of the kernel and the Sun ZFS code (at least that’s the opinion of a number of lawyers, including Red Hat’s; not all agree, but not worth arguing about here). It is possible to access ZFS
    filesystems through the FUSE layer using Sun-derived code (because that doesn’t create a combined work), but that’s not really an “enterprise”
    filesystem access method.

    The only legal way to use ZFS natively under Linux would be to not use any of the Sun code and reimplement ZFS from scratch for Linux. That would be a large job.

    BTRFS also is much better integrated with the Linux kernel’s way of doing things. The Linux ZFS port keeps its own cache separate from the kernel’s page cache, which complicates memory management. Also, BTRFS
    has features that ZFS does not.

    I expect BTRFS to get a lot more mature in the near future, as Facebook is putting resources into moving parts of their infrastructure to BTRFS.

  • Chuck Munro wrote:

    There is no licensing issue, but there are OpenSource enemies that spread a fairy tale about an alleged licensing issue.

    The only problem with integrating ZFS into Linux is that the VFS interface from Linux is inferior to the one from OpenSolaris and as a result, there is a need to first implement missing interfaces.

    J

  • Chris Adams wrote:

    This is an infamous insinuation that has been verified as being false by the prople who know better (e.g. Simon Phipps).

    Correct is:

    – The Sun developers had threatened to leave Sun in case Sun would use the BSD license for OpenSolaris. So BSD was not possible.

    – The GPL is not free enough to make it usable for OpenSolaris. So the GPL was not possible.

    – The license chosen (the CDDL) gives maximum compatibility to other licenses.

    BTW: I have been involved in the discussions for the license selection and I can verify as well that you are the victim of a fairy tale.

    Name us a single credible lawyer that made this claim…..

    In contrary, well-known lawyers (e.g. the lawyers of Harald Welte) explained why a combination of a filesystem with the Linux kernel is not problem.

    With this funny claim, you just again verify that you are uninformed. If you reimplement the code (even though there is no legal need to do so) you _create_
    a legal problem as only the original code includes the patent grant from the CDDL. If you reimplement the code, you need to pay royalities for the patents.

    If you like to use legal free code, you _need_ to use the original implementation.

    J

  • Guys … let’s try not to have a license fight again on the list. Sometimes these things get way out of hand.

    This list is not a place for legal advise .. let’s let the attorneys who actually know the law and the maintainers of programs decide what license they use and what it means.

    Whatever is in RHEL sources, that is what will be in official CentOS
    Linux .. and if you want something else (ie, ZFS) .. then get like minded people and start a SIG to maintain that for CentOS on the CentOS-devel mailing list.

    Thanks, Johnny Hughes

  • Johnny Hughes wrote:

    Could you explain why you did not reply to the mail fropm Chris Adams who introduced a false claim about so called “opinions of a number of lawyers”?

    As mentioned: lawyers explain why there is no problem with ZFS integration. If you don’t like useless discussions, you need to prevent people from spreading unverified rumors.

    J

  • Johnny Hughes wrote:

    OK, plese note that I am not willing to tolerate anti-oss claims and will continue to correct similar false claims. If you don’t like those discussions at all, you should try to avoid false claims and the need for corrections.

    J

  • If I were RedHat, including a non GPL filesystem into my operating system would make me sweat a bit. Intel were facing a similar issue bundling OpenZFS with Lustre in their Intel Enterprise Edition for Lustre. They seem to have solved it by having the installer download the OpenZFS package during installation time.

  • Andrew Holway wrote:

    There is no need to do it this way….

    Note that it is without doubt that ZFS was not derived from the Linux kernel and thus cannot be a derived work.

    Combining ZFS and Linux creates a so called “collective work” where each part can have it’s own license.

    See: http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf

    line 70 (PDF line 46).

    This is a GPL book from real lawyers that won the Harald Welte cases!

    Important facts:

    – ZFS has been developed independendtly from Linux

    – ZFS of course works without Linux (when in OpenSolaris).

    I however know that the FSF acts like the Mafia when it comes to GPL
    compatibility. Be careful not to believe false claims from people who ignore legal facts because they are acting political.

    J

  • Once upon a time, Joerg Schilling said:

    All that matters for CentOS is:

    1: Red Hat doesn’t ship ZFS because of Red Hat’s lawyers’ interpretation
    of GPL+CDDL
    2: Arguing about it here will not change #1
    3: CentOS ships a clone of Red Hat Enterprise Linux and so won’t have
    things that Red Hat’s lawyers don’t approve (see #2)

    Please let it go. I think everybody here knows your opinion.

  • Chris Adams wrote:

    As this is something that was never backed up with facts, it must be seen as pure speculation.

    If you like to be taken seriously, come up with arguments from these lawyers…

    Everybody here knows the anti OSS opinion of some RedHat people.

    Note that it is a well known fact that there has been never a verifyable explanation on why there should be a problem. We thus need to see everything against the explained usability as no more than disinformation politics.

    On the other side: as long as this disinformation politics continues, Linux distros push temselves into a big disatvantage compared to platforms that ship ZFS.

    J

  • I think that you need to simplify #1 to:

    1: Red Hat doesn’t ship ZFS

    As that is really all that matters and so that people can’t argue that you
    are making a statement of knowledge about what/why Red Hat’s lawyers have
    decided. It does not matter on these lists WHY they don’t ship it, just
    that they don’t.

    Just my opinion.

  • Hm… this best answer is meant for RedHat Enterprise subscribers’ eyes only…

    Even though my University has a subscription, I’m sort of reluctant to use it just to read this answer. In a couple of non-confidential words, what is the answer?

    Valeri

    ++++++++++++++++++++++++++++++++++++++++
    Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247
    ++++++++++++++++++++++++++++++++++++++++

  • And in my experience with Red Hat is the only thing that has any chance of
    changing that is if a big enough customer(s) demand it. It has to make
    economic sense for them and at this stage it apparently does not.

  • Joerg Schilling wrote:

    This is a ludicrously absurd argument.
    a) ZFS is not included by RH.
    b) RH has some reason for this: either
    i) they like btrfs better, or
    ii) their lawyers like ZFS less.

    In either case, UPSTREAM DOES NOT INCLUDE IT WITH THEIR ENTERPRISE OS. Therefore, given CentOS’s mission, this argument is “all sound and fury, signifying nothing”.

    mark “drive by comment”

  • Sorry, I copy-pasted the “Root Cause” in my earlier email. The “Root Cause” explains the negative answer to the question “Does Red Hat Enterprise Linux support ZFS Filesystem?”. Its a short article.

  • +1

    I for one will go with Btrfs. This is where the action is at, ATM, and more and more companies are investing in BTRFS and going with it: SUSE, Fujitsu, Docker, Facebook, Oracle…

    ///
    Btrfs 1.0, with finalized on-disk format, was originally slated for a late-2008 release,[12] < http://en.wikipedia.org/wiki/Btrfs#cite_note-12>
    and was finally accepted into the Linux kernel mainline
    <
    http://en.wikipedia.org/wiki/Linux_kernel_mainline> in 2009.[13]
    <
    http://en.wikipedia.org/wiki/Btrfs#cite_note-13> Several Linux distributions < http://en.wikipedia.org/wiki/Linux_distribution> began offering Btrfs as an experimental choice of root file system
    <
    http://en.wikipedia.org/wiki/Root_file_system> during installation.[14]
    <
    http://en.wikipedia.org/wiki/Btrfs#cite_note-14>[15]
    <
    http://en.wikipedia.org/wiki/Btrfs#cite_note-15>[16]
    <
    http://en.wikipedia.org/wiki/Btrfs#cite_note-16> In summer 2012, several Linux distributions moved Btrfs from experimental to production or supported status.[17] < http://en.wikipedia.org/wiki/Btrfs#cite_note-17>[18]
    <
    http://en.wikipedia.org/wiki/Btrfs#cite_note-18>
    ////

    The ZFS Zealots (ZZ or Z-square) brigade act like kids on a temper trantum because they preferred toy was left out of the playground. Please get down your crying and yelling, there’s people trying to work here (with btrfs).
    ;-p

    FC


    During times of Universal Deceit, telling the truth becomes a revolutionary act Durante épocas de Engaño Universal, decir la verdad se convierte en un Acto Revolucionario
    – George Orwell

LEAVE A COMMENT