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