OpenZFS Developer Summit 2019
The seventh annual OpenZFS Developer Summit took place on November 4th and 5th in San Francisco and brought together a healthy mix of familiar faces and new community participants. Several folks from iXsystems took part in the talks, hacking, and socializing at this amazing annual event. The messages of the event can be summed up as Unification, Refinement, and Ecosystem Tooling.
The much-discussed hope to unify the OpenZFS code bases across the supported operating systems went from dialog to action item with the bold declaration by OpenZFS co-founder Matt Ahrens that the ZFS on Linux repo will be renamed simply “OpenZFS” and that the next milestone release will be “OpenZFS 2.0”. “As far as I’m concerned, this can’t come too soon,” said one attendee. Remarkably, there has been zero public objection to this effort. OpenZFS developer on macOS and Windows Jörgen Lundman supported this point with Michael Dexter in their talk “OpenZFS Everywhere”, in which they reported on the status of OpenZFS on the obvious platforms: Illumos, FreeBSD, and GNU/Linux, but also macOS, NetBSD, and Windows.
The iXsystems Engineering Team has been driving FreeBSD’s integration with OpenZFS 2.0 to guarantee that FreeNAS and TrueNAS offer the most up-to-date OpenZFS experience available. This integration will be part of release 12.0.
Three talks drove home the point of just how much continuous refinement OpenZFS is experiencing over the years, beginning with “Metaslab Allocation Performance” by Paul Dagnelie of Delphix. Paul described how his team used DTrace to identify a performance issue that was impacting several clients whose workloads included synchronous writes of small records to all-flash storage pools. They addressed the issue with a move from B-Tree to range tree data structures, an “Embedded SLOG”, and a number of adjustments to the metaslab size parameters.
This was joined by Brian Behlendorf’s talk “ZFS TRIM Explained” in which he described how OpenZFS has received both a manual TRIM for flash devices, and a continuous TRIM similar to the one implemented on FreeBSD.
Finally, Allan Jude gave a work-in-progress report on his “VDEV Properties” work that allows the user to obtain detailed information about individual VDEVs just like they would with a pool or dataset. VDEVs have only offered rudimentary information reporting and this work sheds light on what was one of the darkest corners of a zpool.
An original iXsystems logo can be spotted as the future of OpenZFS is shaped during one of the “Hallway Tracks” in-between official sessions
While OpenZFS is central to a robust storage stack, the stack itself is an ecosystem in which a number of components work together to produce a solution. The journey of developers between different OpenZFS operating systems has produced palpable frustration over the various tools that are absent on any given platform. The status reports “libshare on Linux is Broken”, “A Device by Any Other Name: Common Pitfalls in Device Naming for ZFS on Linux“, and “Illumos Brings the SAS” all helped vocalize this frustration and offered pragmatic solutions to the issues encountered. Users and developers should rightfully ask, “Why can’t this be as simple as it is on that other OS?” The two talks on debugging by Tom Caputi of Datto and Serapheim Dimitropoulos of Delphix gave great overviews of various debugging strategies for what may as well be searches for digital needles in digital haystacks.
The presentations on the second day wrapped up with an eye-opening report on Multi Actuator hard drives by Muhammad Ahmad of Seagate who sat down with Matt Ahrens to explore the performance characteristics of OpenZFS on this exciting new technology. “MA HDDs” can act as either a single drive with the promise of double the performance or two independent drives. Alexander Motin of iXsystems is currently evaluating these drives on FreeBSD to ensure that FreeBSD and FreeNAS are ready for their arrival on the market.
On a humorous note, Don Brady of Delphix used his hackathon time to work on a “metaslab worst-fit allocator” that would introduce data fragmentation for testing. This report won first place among the hackathon reports.
The road to OpenZFS 2.0 will be an exciting one and we have the diverse OpenZFS team from around the world to thank for navigating us through it!