ZFS vs. OpenZFS

You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. Our Senior Analyst clears up what ZFS and OpenZFS refer to and how they differ.

 

 

I admit that we geeks tend to get caught up in the nuts and bolts of enterprise storage and overlook the more obvious questions that users might have. You’ve probably noticed that this blog and the FreeNAS blog refer to “ZFS” and “OpenZFS” seemingly at random when talking about the amazing file system at the heart of FreeNAS and every storage product that iXsystems sells. I will do my best to clarify what exactly these two terms refer to.

From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS & you should too” or try a completely-graphical ZFS experience with FreeNAS.

Yes, ZFS is really as good as people say it is.

After enjoying nearly a decade of refinement by a growing group of developers around the world, ZFS became the property of database vendor Oracle, which ceased public development of both ZFS and OpenSolaris in 2010. Disappointed but undeterred, a group of OpenSolaris users and developers forked the last public release of OpenSolaris as the Illumos project. To this day, Illumos represents the official upstream home of the Open Source OpenSolaris technologies, including ZFS. The Illumos project enjoys healthy vendor and user participation but the portable nature and compelling features of ZFS soon produced far more ZFS users than Illumos users around the world. While most if not all users of Illumos and its derivatives are ZFS users, the majority of ZFS users are not Illumos users, thanks significantly in part to FreeNAS which uses the FreeBSD operating system. This imbalance plus several successful ZFS Day events led ZFS co-founder Matt Ahrens and a group of ZFS developers to announce the OpenZFS project, which would remain a part of the Illumos code base but would be free to coordinate development efforts and events around their favorite file system. ZFS Day has grown into the two-day OpenZFS Developer Summit and is stronger than ever, a testament to the passion and dedication of the OpenZFS community.

Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.

Michael Dexter
Senior Analyst

7 Comments

  1. Calvin Levy

    This is a well spoken description of ZFS in terms of understanding deployments. Distinguishing “Oracle ZFS” and “OpenZFS” certainly increases my appreciation of the work and effort that FreeNAS/TrueNAS/iXsystems have added to the storage market. May the future of OpenZFS continue to be bright and illuminate the lives of storage and computer professionals!

    Reply
  2. Kevdog

    Am I mistaken but I thought freenas added feature flags to their version of zfs which made their version of zfs incompatible with Linux versions of zfs.

    Reply
    • Caleb

      I’m no ZFS expert. But as I understand it any incompatibility has to do with available versions. FreeBSD tends to use a more recent version of ZFS which can have features that are incompatible with the Linux version.

      That said as long as the the applications make the same calls to ZFS same the incompatibilities are not visible.

      Reply
  3. Johnw

    So on freebsd and linux, both are use the same openzfs?

    Reply
    • Joe

      No they do not. It is an entirely different development branch, however, they try to remain comparable with freeBSD’s openzfs. To my knoledge, FreeNAS does not add anything to OpenZFS.

      Im curious why ZOL (“ZFS on Linux”) was left out of this explanation when the purpose of the article is to differentiate between the different ‘common’ ZFS branches. ZFS on Linux is plenty popular to add to the discussion and is also fully supported on Ubuntu Linux (though it can be installed on any popular distribution such as CentOS, Debian, Arch).

      In short, Ive used ZOL for a very long time and have only recently switched to FreeBSD (not FreeNAS) full time and I am noticing zero difference (my configuration is not that complex). They both just work.

      Reply
    • Marcin

      Both FreeBSD and Linux ZFS implementations originate from and share majority code of OpenZFS which is part of illumos. Both develop they own features hidden behind feature flags but work on integrating them in reference illumos implementation.

      Reply
  4. Seth

    I hope for the day OpenZFS has replaced all the CDDL code with a GPL-compatible and non-patent-encumbered code base. 😀
    ZFS in the Linux kernel would be a dream come true.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

iXsystems Unveils New TrueNAS M-Series Unified Storage Line.