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!

  • MrSpandex@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    9 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!

    • iotzan@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

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

        • biribiri11
          link
          fedilink
          arrow-up
          1
          ·
          9 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.