Student Application: Aron Xu

I am a freshman at Beijing Union University in China, majoring in Telecommunications. First of all, I am quite familiar with storage and file systems. I’ve been helping on maintaining some of the core infrastructures in several college network operation centers, having experience with ZFS, LVM, and professional storage systems (FC/FCoE-SAN and IP-SAN) in production environments, and BTRFS in testing environments. During the time, I’ve got familiar with ZFS on Solaris instances and learnt quite some knowledge about clustering and storage in detail. Also, I am experienced in Debian packaging with good knowledge of Debian Installer, DKMS, and license issues. I am also familiar with kFreeBSD and FreeNAS setups.

Project title

ZFS on Linux integration

Project details

The ZFS file system is a revolutionary new file system that fundamentally changes the way file systems are administered, with features and benefits not found in any other file system available today [1]. A large amount of the source code were released under CDDL with ?OpenSolaris, and the ZFS on Linux project [2] brings it to Linux users as an out-of-tree kernel module by a carefully designed way of avoiding copyright/license infringement. ZFS is proven in production environments, from ordinary single-node servers to large scale professional storage systems, in dimensions including management, cost, data security, and rich-feature set. While BTRFS is being actively worked on, it’s far from being as complete as ZFS, and at the same time because they provide a similar set of basic functions so that many of the work in this project will be useful to future use of BTRFS with very few changes.

Synopsis

Integrate ZFS on Linux to Debian, featuring a selected set of its advanced functions.

Benefits to Debian

A well integrated ZFS support will make Debian even better suited for enterprise usages than today, and most of the work in this project will be immediately available to BTRFS users once different bits are taken care.

Debian Installer support through a pre-build debian-installer image with zfs support included.

Make Debian Installer create root file system using transparent volumes by creating FHS directories as independent dataset, and tweak the default volume setting for which system is to be used.

The beadm-like tool, is a wrapper program to help users make snapshot properly, switch between different set of snapshots by changing default volume of the file system and make changes to Grub2 configurations when needed.

Similar to the beadm-like tool, other tools like apt-zfs-snapshot can make use of the dataset layout, so that users can get similar experience like switching between systems without affecting user directories.

A long-term solution to the debian-installer integration could be loading partman-zfs udeb by user in expert install mode, so that the loading of partman-zfs udeb (which depends on spl and zfs udebs) can be done through network, then two out-of-tree kernel modules could be used without being included in images.

Project schedule

May 27 - June 16: Check status of ZFS support in related software, check the behavior of ZFS related stuff on Solaris, FreeBSD, and kFreeBSD

May 17 - July 29:

Finish basic packaging of spl and zfs.

Ensure grub2 and initramfs can support ZFS, so that root file system support can land in.

Write mid-term work summary.

Aug 1 - Aug 31:

Write/Improve/Package the tools, e.g. apt-zfs-snapshot.

Make changes to debian-installer to ensure ZFS root installation is OK, and make creating the dataset layout as default for ZFS root installation.

Work on beadm-like tool and its integration. Other tools’ layout support should be in line as well.

Sept 1 - Sept 15:

Review and improve missing bit of the project.

Deal with possible oversights that aren't handled yet.

Sept 16 - July 25:

Deal with any issue that aren't finished yet.

Write final summary.

Exams and other commitments

I’ll have end-term exam in late June, which will cost me approximately a week's time.

Other summer plans

Will work part-timely in a college’s network operation center which requires 8-16 hours a week, and I’ve got permission to use their resource to help completing this GSoC project.

Why Debian?

As a long-term Debian user and contributor, the reason is very simple: I like Debian.