This is an old revision of the document!

ZFS Plugin For OMV7
Summary
The ZFS plugin makes it easy for users to take advantage of ZFS, with an easy installation and making ZFS's more important features available within Openmediavault's GUI.
What is ZFS?
ZFS (the Zettabyte File System) is the Granddaddy of COW (Copy On Write) filesystems. Having been under constant development since it's creation for Sun Solaris server in 2001, ZFS is very mature. Currently, OPENZFS on Linux is sponsored by Lawrence Livermore Labs. In short, ZFS on Linux is very well funded and will be fully supported into the foreseeable future and, likely, beyond.
The more important among ZFS' several features are as follows:
- Pooled storage (Built in logical volume management)
- Snapshots (Creates file, folder, filesystem and volume histories.)
- Data integrity verification and, with zmirrors or with activation of the 2copies feature, automatic repair
- RAID-Z, Zmirror and other implementations of ZFS are the functional equivalents to legacy RAID, without legacy RAID drawbacks such as the “write hole” and silent data corruption.
Data integrity and repair, and data restoration (VIA snapshots) are among ZFS' more important features.
More detail information on capabilities and limits is available → here.
Note | |
While the above external resource is informative creating a ZFS pool on the command line, in accordance with external references, is not recommended. This document will walk users through a ZFS installation process that is compatible with the ZFS plugin and Openmediavault. |
Prerequisites
- OMV-Extras is a prerequisite for installing the kernel plugin.
Installation and use guidance, for the OMV-Extras plugin can be found →here. - After OMV-Extras is installed, on OMV's left side bar go to System, Plugins. Find, select, and install the openmediavault-kernel 7.x.x plugin.
ZFS - The "Licensing" Issue
ZFS is licensed under CDDL which is a “free” open source license. Due to a perceived (but never tested in a Court of Law) licensing conflict, Debian Linux does not build ZFS kernel modules into their kernels by default. This is more of a “legal fiction”, than anything else, in that the OpenZFS license is simply another version of several “free open source” licenses, not unlike Debian's GNU General Public license and a hand full of other free OSS licenses contained within the Debian distro's (as outlined →here). Since Openmediavault is based on Debian Linux, ZFS is provided as a plugin to prevent any issue that may result from a licensing conflict.
In the final analysis, for the user, this free license “wrangling” is a non-issue.
ZFS - Kernels and Their Impact
Openmediavault installs with the Debian Backports kernel, by default. The standard Debian kernel is available, but must be selected. A third option, the Proxmox kernel, is installable VIA the kernel plugin. Following are the pro's and con's of each kernel, where ZFS is concerned:
The Debian Backports Kernel
The Backports Kernel (OMV's default kernel) is used, primarily for it's support of the latest hardware and, along similar lines, for the latest software packages. The issue with the backports kernel, where ZFS is concerned, is that it's possible to have a kernel upgrade offered for installation that does not have ZFS packages in it's repo's. (This has happened, to the author of this doc.) After such an upgrade, this may result in a ZFS pool “disappearing”. The pool still exists but, “fixing the issue” requires booting into an older kernel to see the pool until the new kernels packages “catch up”. For this reason alone, the backports kernel is not recommended.
The Standard Debian Kernel
The Standard Debian Kernel (selectable) can be used for ZFS. However, since ZFS kernel modules are not installed by default, they must be built by the ZFS plugin. While this will work, building the modules is a long process that requires access to online repo's. Accordingly, it is prone to errors. The Standard Kernel is very usable, for ZFS, but not ideal.
The Proxmox Kernel
The Proxmox Kernel is a Ubuntu Kernel that has ZFS modules prebuilt and compiled in the kernel by default. However, the Kernel plugin is required to install the Proxmox Kernel. Among the other useful features available, the kernel module will pull and install a Proxmox kernel, and can make it the default when booting. As Proxmox kernel upgrades become available and are performed, the repo's for the kernel will always have the required packages to support ZFS. Further, since the Proxmox kernel is financially supported by the Proxmox project, the kernel is exhaustively tested before it's made available. In the bottom line, using the Proxmox kernel decreases the possibility of an installation error and guarantees ZFS support while increasing overall server reliability.
Installation
To get started with ZFS and to create an easy installation path to the most stable server possible, some preliminary setup, settings and adjustments are recommended.
Disable Backports:
General:
Linux backport kernels are released quickly to support the “latest and greatest - cutting edge hardware”. As a consequence the “userland” (software supported by the latest backport kernels) may not be complete. ZFS, at times, may not be in the software repo's of backports kernels, immediately after their release. This may result in a kernel upgrade where a server's ZFS pool(s) may disappear. There are remedies for this but an ounce of prevention is worth a pound of cure. To avoid broken package issues it's best to use the mainline kernel, by disabling “backports”.
Install the Proxmox kernel:
General:
place holder