Ubuntu Still Working On ZFS Install Support, But Not In Time For 19.04
As part of working on a new Ubuntu desktop installer that leverages their Curtin work from the server side, Canonical has had multiple developers evaluating ZFS install options to build upon their Ubuntu ZFS offerings from recent years in the ability to easily use ZFS On Linux with their stock kernel/packages.
While Canonical has occasionally dropped experimental features towards the end of release cycles and past the feature freezes, it's looking like this ZFS/new-installer work will be for the Ubuntu 19.10 cycle as opposed to creeping in as a last-minute experimental offering to announce for Ubuntu 19.04 that is due to be released later this month.
The ZFS undertaking is a huge effort and we also haven't heard much of their new installer work recently, but aiming for the Ubuntu 19.10 cycle is necessary if they want this work ready for Ubuntu 20.04 LTS next year. The Ubuntu Long Term Support cycles tend to be quite conservative and generally any major features need to be ready by the LTS-1 release in order to allow more widespread testing before shipping said functionality in such a big user-facing release.
The latest on the Ubuntu ZFS install effort can be found via this week's desktop notes. Didier Roche summed up the latest happenings as:
ZFS (with jibel):
Read entirely oracle doc: https://docs.oracle.com/cd/E19253-01/819-5461/index.html
Experimenting various more options on datasets layout for rollback/snapshot/fowards system and user datasets. Wrote a bunch of script to iterate over them before picking one.
Reviewed all default options for pool and filesystem properties.
Updated documentation with this ZFS layout. Requesting feedback.
Work on canary image to get an easy installation for experimenting with ZFS, updating the ppa to build from (https://launchpad.net/~ubuntu-desktop/+archive/ubuntu/canary-image/+packages):
Crafted a first curtin configuration. Found some bugs on curtin.
Added some install scripts for wrapping curtin calls and default user creations on post-install (as we need to create the datasets separately). In a zfs-install temporary package.
Added those packages to livecd-rootfs and ask for a new image build.
Debugged and looked at systemd generators for an ordering issues and potentially third party mounts. Also looked at snap generator for mountpoint which could create some issues with zfs-mount.service. We went for a temporary solution (https://launchpadlibrarian.net/417855920/zfs-linux_0.7.12-1ubuntu5_0.7.12-1ubuntu5zfs1.diff.gz) as zfs 0.8 has a full-featured generator (encoutering the same bug we found with a real system).
Found some issues with multi-layered passes and debugged build issue: https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1823685
With Red Hat continuing to work on XFS/Stratis as their storage play and SUSE continuing to stand behind Btrfs, Canonical appears to be set with ZFS On Linux for the long-coveted file-system, though that remains out-of-tree from the Linux kernel and in an arguably legal gray area due to the Oracle/Sun CDDL licensing.