Note: this is for installing ZFS on an existing Fedora installation. To use ZFS as root file system, see below.

  1. If zfs-fuse from official Fedora repo is installed, remove it first. It is not maintained and should not be used under any circumstance:

    rpm -e --nodeps zfs-fuse
  2. Add ZFS repo:

    dnf install -y https://zfsonlinux.org/fedora/zfs-release$(rpm -E %dist).noarch.rpm

    List of repos is available here.

  3. Install kernel headers:

    dnf install -y kernel-devel

    kernel-devel package must be installed before zfs package.

  4. Install ZFS packages:

    dnf install -y zfs
  5. Load kernel module:

    modprobe zfs

    If kernel module can not be loaded, your kernel version might be not yet supported by OpenZFS.

    An option is to an LTS kernel from COPR, provided by a third-party. Use it at your own risk:

    # kwizart/kernel-longterm-5.10
    # kwizart/kernel-longterm-4.19
    dnf copr enable -y kwizart/kernel-longterm-5.4
    dnf install -y kernel-longterm kernel-longterm-devel

    Reboot to new LTS kernel, then load kernel module:

    modprobe zfs

    It might be necessary to rebuild ZFS module:

    for directory in /lib/modules/*; do
      kernel_version=$(basename $directory)
      dkms autoinstall -k $kernel_version

    If for some reason, ZFS kernel module is not successfully built, you can also run the above command to debug the problem.

  6. By default ZFS kernel modules are loaded upon detecting a pool. To always load the modules at boot:

    echo zfs > /etc/modules-load.d/zfs.conf

Testing Repo

Testing repository, which is disabled by default, contains the latest version of OpenZFS which is under active development. These packages should not be used on production systems.

dnf config-manager --enable zfs-testing
dnf install zfs

Root on ZFS

ZFS can be used as root file system for Fedora. An installation guide is available.

Start here.