
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 its repo's. (This has happened, to the author of this doc.) After a kernel 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 process works, building the modules is a long process that requires continuous access to online repo's. Accordingly, the potential for a build error exists. For this reason, while the Standard Kernel is very usable for ZFS, it is not ideal.
The Proxmox Kernel
The Proxmox Kernel is a Ubuntu Kernel that has ZFS modules prebuilt and compiled into 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 make it the default kernel 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 Virtualization 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.
At this point, a user choice must be made:
- If the Standaard Debian kernel is to be used, proceed with Disable Backports below .
- If the Proxmox kernel is to be used, skip to → Install The Proxmox Kernel.
Disable Backports:
As previously mentioned in The Debian Backports Kernel, in preparing to install ZFS, disabling backports is highly recommend.
Under System, OMV-Extras, click on Disable backports
(This may take a few minutes to complete. At the end of the process, End of Line will appear and the Close button will activate.)
Since the above process changes repo's, click on apt clean repos and apt clean.
While it's not absolutely necessary, to insure that the standard Debian kernel and it's repo's are aligned, consider rebooting the server before proceeding.
Install the Proxmox kernel:
Under System, Kernel, select the download Proxmox icon and select a kernel.
(While this selection is the users choice, the oldest kernel may result in an avoidable upgrade in the near future while the newest kernel is not as well tested in the field conditions.)
The code box will recommend rebooting to complete the installation of the Proxmox kernel. Reboot now.
After the reboot is complete, under System, Update Management, Updates, check for updates. It is likely that Proxmox related updates will be available. Install these updates.
General:
place holder