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!

    • 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.