Stratis Is Red Hat's Plan For Next-Gen Linux Storage Without Btrfs
I've been able to confirm from multiple Red Hat developers that Btrfs is indeed on its way out in RHEL, unlike the earlier deprecation in RHEL6. Red Hat is no longer betting on Btrfs as the future of Linux file-systems/storage.
While many of you over the past day hoped that somehow ZFS was being magically re-licensed or somehow becoming used by RHEL/Fedora, that is sadly not the case either. But for driving next-gen Linux storage they are currently working on the Stratis Project.
Stratis aims to deliver equivalent features and ease of use of volume-managing file-systems like ZFS and Btrfs but via a hybrid model. Stratis is being developed by Red Hat developers but hasn't received too much widespread attention yet. Stratis is described in a white-paper from April by lead developer Andy Grover:
Stratis is a new tool that meets the needs of Red Hat Enterprise Linux (RHEL) users calling for an easily configured, tightly integrated solution for storage that works within the existing Red Hat storage management stack. To achieve this, Stratis prioritizes a straightforward command-line experience, a rich API, and a fully automated, externally-opaque approach to storage management. It builds upon elements of the existing storage stack as much as possible, to enable delivery within 1-2 years. Specifically, Stratis initially plans to use device-mapper and the XFS filesystem. Extending or building on SSM 2.1.1 or LVM 2.1.2 was carefully considered. SSM did not meet the design requirements, but building upon LVM may be possible with some development effort.
Red Hat Enterprise Linux 7 began defaulting to an XFS file-system rather than EXT4 and it looks like they are continuing to invest in XFS and make continued use of it into the future, which isn't too surprise considering they have been employing some XFS developers.
Created a few days back now is this Stratis proposal for Fedora 28. Fedora 28 is likely to be the first release where they will be supporting this storage management solution. It's further described on that Wiki page as "a local storage system akin to Btrfs, ZFS, and LVM. Its goal is to enable easier setup and management of disks and SSDs, as well as enabling the use of advanced storage features -- such as thin provisioning, snapshots, integrity, and a cache tier -- without requiring expert-level storage administration knowledge. Furthermore, Stratis includes monitoring and repair capabilities, and a programmatic API, for better integration with higher levels of system management software."
Stratis is developed in the open via this GitHub project. Stratis is developed in Rust and Python.
Fedora 28 isn't due to be released until May 2018 and even at that stage Stratis will likely be in a primitive form. Within the aforelinked design document they do detail a bit about their feature plans. For Stratis 1.0 they hope to support snapshot management, file-system maintenance, and more. With Stratis 2.0 is where they plan to deal with RAID, write-through caching, quotas, etc. With Stratis 3.0 is where it should get interesting as they hope for "rough ZFS feature parity" and support send/receive, integrity checking, RAID scrubbing, compression, encryption, deduplication, and more. Only in the first half of 2018 is when they expect to reach Stratis 1.0. No word on when they anticipate getting to Stratis 3.0 with ZFS feature parity.
There's a long road ahead for Stratis but will be interesting to see it develop and where it gets by the time of Red Hat Enterprise Linux 8 (as well as to see how far Btrfs gets pushed still outside of SUSE and Facebook concurrently).