Main Page

From OpenZFS
Revision as of 19:59, 19 August 2013 by Mahrens (talk | contribs)
Jump to navigation Jump to search

Open ZFS

Open ZFS is open-source storage software which encompasses the functionality of traditional filesystems, volume managers, and more. Our community brings together developers from the illumos, FreeBSD, Linux, and MacOS platforms, and a wide range of companies and organizations. By working together, we can continue making Open ZFS an outstanding storage platform, with consistent reliability and functionality across all distributions.

The main technical goal of the Open ZFS project is to make it easier to share changes to ZFS between platforms. We have a number of efforts toward this:

Should we move the below to its own page? Perhaps leaving just a sentence about each main item here. I'd like to differentiate these in-progress projects from the "project ideas" which aren't necessarily being actively worked on.

  • A platform-independent mailing list for ZFS developers to review ZFS code and architecture changes from all platforms.
  • Smoothing the illumos integration process. Compared to other platforms, it is relatively more difficult to set up a build environment and test ZFS changes on illumos. We are working to make this easier, so that changes from Linux, FreeBSD, etc. can be pushed to illumos, thus reducing the diffs they need to maintain, and making these improvements available to all platforms. Our specific goals are:
    • Make it possible to build illumos ZFS on OmniOS. OmniOS is a modern server OS with virtual machine images available for all the major platforms.
    • Make it possible to build just ZFS on illumos, without having to build the entire codebase. This willl reduce build time from several hours to just minutes.
    • Finish porting all the ZFS test cases from the STF framework to the TestRunner framework, which lives in the illumos gate.
    • Create a script that will run on OmniOS and set up a build environment, get the ZFS code, apply a patch, build it, install it, run the TestRunner test suite, and generate a webrev which can be used to review the code on the zfs@lists.illumos.org mailing list.
  • Make it easy to run both ztest and the ZFS test suite (TestRunner or STF based) on every platform
  • Reduce code differences between the platforms
    • Create "porting layer" to abstract out the platform-specific code. The "Solaris Porting Layer" (SPL) is a good start at this. We can improve it by moving illumos/Solaris-specific code out of the main files and into platform-specific files.
    • Split the ZPL into platform-independent and platform-specific parts.
    • Long-term, consider if we can create a common repository to use for platform-independent ZFS code, rather than treating illumos as the de facto upstream repository.
      • Any code in this repo would need to be able to be tested in a platform-independent way (e.g. in userland using libzpool), so that changes tested on one platform can be expected to work on every platform.
      • Code tested by ztest would be the first candidate for this.
      • Userland ZFS ioctls would enable running /sbin/zfs and /sbin/zpool, and thus most of the TestRunner test suite against libzpool.

Pages

Website info


This website is kindly hosted on hardware provided by, and software written by the nice folk at HybridCluster, which is a ZFS-powered hosting platform which provides HA and auto-scaling with container-based live-migration for LAMP apps on FreeBSD.