Hello good people,

Hoping this is an appropriate place for troubleshooting questions, I’m learning Linux & OpenZFS in preparation of a server + NAS build, currently working in VMware Workstation. I have successfully setup OpenZFS on Fedora 39 and have configured my zpool using virtual disks.

Now I am looking to replicate the setup on Fedora Silverblue: setup OpenZFS, import the existing disks, then attach the zpool.

1. Import the OpenZFS repository

rpm-ostree install -y https://zfsonlinux.org/fedora/zfs-release-2-4$(rpm --eval "%{dist}").noarch.rpm

2. Confirmed zfs-fuse is not used

rpm-ostree override remove zfs-fuse

error: Package "zfs-fuse" not found
3. Layer the kernel headers

rpm-ostree install kernel-devel

4. Layer OpenZFS

rpm-ostree install zfs

5. Confirmed status

rpm-ostree status

State: idle
Deployments:
● fedora:fedora/39/x86_64/kinoite
                  Version: 39.20240304.0 (2024-03-04T00:39:42Z)
               BaseCommit: b30269aa0e2604e24fd74596a75ee79ef77e6bc2b20f87b49d02f2796ccd3da2
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
          LayeredPackages: kernel-devel zfs
            LocalPackages: zfs-release-2-4.fc39.noarch
6. I was expecting the next step to fail

modprobe zfs

modprobe: FATAL: Module zfs not found in directory /lib/modules/6.7.7-200.fc39.x86_64

Nevertheless, I went ahead and created the 2 zfs.conf files as described in the OpenZFS documentation.

cat /etc/modules-load.d/zfs.conf
zfs
cat /etc/dnf/protected.d/zfs.conf
zfs

7. This is where I am now stuck

I have tired a number of things such as:

i. Adding modprobe as a kernel argument similar to Silverblue using nVidia drivers

rpm-ostree kargs --append=modprobe=zfs

rpm-ostree kargs
rhgb quiet root=UUID=cbaf12f4-d5b4-4d24-83d6-83ad53730f2a rootflags=subvol=root rw ostree=/ostree/boot.1/fedora/5d2cc07d31373ad2a64ab4ed610ce5a45625bd317c1447d2947a489056a5c077/0 modprobe=zfs

ii. Installed, then disabled, rpm-ostree initramfs, continuing instead with initramfs-etc as described here

rpm-ostree initramfs-etc --track=/etc/modules-load.d/zfs.conf
rpm-ostree initramfs-etc --track=/etc/dnf/protected.d/zfs.conf

rpm-ostree status
State: idle
Deployments:
● fedora:fedora/39/x86_64/kinoite
                  Version: 39.20240304.0 (2024-03-04T00:39:42Z)
               BaseCommit: b30269aa0e2604e24fd74596a75ee79ef77e6bc2b20f87b49d02f2796ccd3da2
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
          LayeredPackages: kernel-devel zfs
            LocalPackages: zfs-release-2-4.fc39.noarch
             InitramfsEtc: /etc/dnf/protected.d/zfs.conf /etc/modules-load.d/zfs.conf
8. zfs, zpool seem ok as I can get the help output or read the man pages, however:

zpool status
The ZFS modules cannot be auto-loaded.
Try running 'modprobe zfs' as root to manually load them.

zfs get all
The ZFS modules cannot be auto-loaded.
Try running 'modprobe zfs' as root to manually load them.

Obviously, I’m missing something due to my gaps in experience with Linux. I see that Universal Blue has incorporated OpenZFS as described on the GitHub page, so it should be possible for me to achieve this as well, I suppose.

Any pointers, documentation or advice is appreciated!

  • @[email protected]
    link
    fedilink
    210 months ago

    Unfortunately this is why I chose to run Ubuntu server. As far as I know, it’s the only distro with ZFS set up by default. I wish you luck, as I run Silverblue as my desktop and would love to run it for my server too!

    • @iotzanOP
      link
      210 months ago

      I chose Fedora since I’m most familiar with RedHat from my professional activities.

      • @[email protected]
        link
        fedilink
        English
        110 months ago

        I would recommend AlmaLinux in that case. It takes the place of CentOS, which was the free edition of Red Hat. Fedora is targeted at the desktop, not servers.

        You could do it, but I haven’t heard about people using Silverblue as a server yet.

        • @[email protected]
          link
          fedilink
          110 months ago

          Fedora has another immutable variant for servers called CoreOS. It’s the default distro on any OKD cluster, though I run a derivative of it from ublue called ucore, which has a variant for zfs.