Zfs: CentOS 7.8.2003 has been released with kernel 3.10.0-1127.el7.x86_64 - ZFS packages not yet available

Created on 28 Apr 2020  路  16Comments  路  Source: openzfs/zfs

CentOS 7.8.2003 has been released with kernel 3.10.0-1127.el7.x86_64 but there is not yet a package listed for ZFS at https://github.com/openzfs/zfs/wiki/RHEL-and-CentOS

It would be fantastic if someone can make this package.

In the meantime, if there is a way to build from sources myself, I'd also be grateful for instructions / a link to those instructions.

Packaging

Most helpful comment

ZFS 0.8.4 was released today with support for Centos 7.8. Try re-running though the steps for Centos 7.8 on: https://github.com/openzfs/zfs/wiki/RHEL-and-CentOS. The new kmod RPMs are working for me on 3.10.0-1127.

All 16 comments

The 7.6 packages worked just fine with 7.7. Anyone try them with 7.8?

Yes, I have tried to but I get lots of errors trying to load the kmod-zfs kernel module.

Here's my system:

cat /etc/centos-release

CentOS Linux release 7.8.2003 (Core)

uname -r

3.10.0-1127.el7.x86_64

rpm -qa | grep zfs

kmod-zfs-0.7.13-1.el7_6.x86_64
zfs-0.7.13-1.el7_6.x86_64
zfs-release-1-6.el7.noarch
libzfs2-0.7.13-1.el7_6.x86_64

rpm -q kmod-zfs -l

/lib/modules/3.10.0-957.5.1.el7.x86_64
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/avl
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/avl/zavl.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/icp
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/icp/icp.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/nvpair
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/nvpair/znvpair.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/unicode
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/unicode/zunicode.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zcommon
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zcommon/zcommon.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zfs
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zfs/zfs.ko
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zpios
/lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zpios/zpios.ko

insmod /lib/modules/3.10.0-957.5.1.el7.x86_64/extra/zfs/zfs/zfs.ko

and then "dmesg | grep zfs" gives:

[ 2372.241459] zfs: loading out-of-tree module taints kernel.
[ 2372.241523] zfs: module license 'CDDL' taints kernel.
[ 2372.431061] zfs: module verification failed: signature and/or required key missing - tainting kernel
[ 2372.431234] zfs: Unknown symbol nvpair_value_uint8 (err 0)
[ 2372.431253] zfs: Unknown symbol kmem_debugging (err 0)
[ 2372.431271] zfs: Unknown symbol spl_kmem_zalloc (err 0)
[ 2372.431300] zfs: Unknown symbol vn_openat (err 0)
[ 2372.431321] zfs: Unknown symbol fnvlist_dup (err 0)
[ 2372.431345] zfs: Unknown symbol dataset_namecheck (err 0)
[ 2372.431364] zfs: Unknown symbol __cv_destroy (err 0)
[ 2372.431379] zfs: Unknown symbol p0 (err 0)
[ 2372.431402] zfs: Unknown symbol nvlist_lookup_uint64_array (err 0)
[ 2372.431417] zfs: Unknown symbol taskq_dispatch_delay (err 0)
[ 2372.431438] zfs: Unknown symbol SHA2Final (err 0)
[ 2372.431460] zfs: Unknown symbol nvlist_dup (err 0)
[ 2372.431486] zfs: Unknown symbol nvpair_value_nvlist (err 0)
[ 2372.431504] zfs: Unknown symbol SHA2Update (err 0)
[ 2372.431526] zfs: Unknown symbol nv_alloc_fini (err 0)
[ 2372.431544] zfs: Unknown symbol SHA2Init (err 0)
[ 2372.431559] zfs: Unknown symbol taskq_cancel_id (err 0)
[ 2372.431574] zfs: Unknown symbol spl_vmem_free (err 0)
[ 2372.431595] zfs: Unknown symbol __thread_create (err 0)

(and many more errors).

These instructions https://github.com/openzfs/zfs/wiki/Building-ZFS worked for me. After running make, running scripts/zfs.sh loaded the modules sufficiently for me to import my pool.

I had some kind of mess of 0.8.2 and 0.8.3 versions, so had to follow these instructions to cleanup previous versions and afterwards dkms version of 0.8.3 installed and compiled without an issue on 7.8.2003. Error I saw during yum -y update was

dkms: running auto installation service for kernel 3.10.0-1127.el7.x86_64
Error! Could not locate dkms.conf file.
File: /var/lib/dkms/zfs/0.8.2/source/dkms.conf does not exist.
 Done.

the mentioned workarounds do not work (well) on automated patched systems.
i know that i can't upgrade right now, because the test system cannot load zfs module anymore.
must wait for clean kmod module repo for 7.8 here.

+1: on clean 7.8 install

Error: Package: kmod-zfs-0.8.3-1.el7.x86_64 (zfs-kmod)
           Requires: kernel(posix_acl_valid) = 0x7add44b5
           Installed: kernel-3.10.0-1127.el7.x86_64 (installed)
               kernel(posix_acl_valid) = 0xc89bfa92
           Available: kernel-debug-3.10.0-1127.el7.x86_64 (base)
               kernel(posix_acl_valid) = 0xc89bfa92
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Here are the packages (kABI-tracking kmod) built on CentOS 7.8 with kernel 3.10.0-1127.el7.x86_64:
https://nc.nicksoft.com/index.php/s/Le9DdDmT4cbEnBJ

Build command used:

$ cd zfs
$ ./configure --with-spec=redhat
$ make -j1 pkg-utils pkg-kmod

So it should work with future CentOS 7.8 kernels

Install with

yum remove zfs zfs-kmod spl spl-kmod libzfs2 libnvpair1 libuutil1 libzpool2 zfs-release
yum localinstall kmod-zfs-0.8.3-1.el7.x86_64.rpm \
 libnvpair1-0.8.3-1.el7.x86_64.rpm \
 libuutil1-0.8.3-1.el7.x86_64.rpm \
 libzfs2-0.8.3-1.el7.x86_64.rpm \
 libzpool2-0.8.3-1.el7.x86_64.rpm \
 zfs-0.8.3-1.el7.x86_64.rpm

I don't have spl installed on my machine. I don't know why it works without spl - maybe it's built into zfs packages.

I have not tried this on another machine. Use them on your own risk!

Just ran into this issue myself. Thanks for hosting those packages @npelov . That saved me a lot of time.

I just switched back to the previous kernel and that appears to have worked for now and was painless.

who is the maintainer for the Centos 7.8 and Centos 8.1 rpms? Do we need to create them and post them here? Why is taking so long for these rpms to be published under the official ZFS page?

The problem with RH 7 is you have to roll out a whole new repository every time they decide to "improve" the KABI. And then once you upgrade, you can't boot an earlier kernel anymore.

I'm ditching this Dead Rat POS the moment pam_ldap is working on Alpine and we can have user accounts there.

This issue hits many people again and again, with every CentOS/RHEL release. The reasons where sufficiently been explained, and no complaint about that.

Workarounds exist, but mainly work in "home-labs". For me this is more unsatisfying, because we use Puppet based automation and consequently a lot of things break here (bootstrap procedure, yum update breaks Puppet run). I even switched to use DKMS already, which is a pain on production servers (compilation packages needed) - but it doesnt help for this problem.

As a workaround I now only see the option to compile ZFS from source and install via DKMS (to avoid kernel update breaking the ZFS module functionality).

But for sure, the preferred solution would be, at the same time the RHEL/CentOS release is available, ZFS modules should also be available.

I raised this (or similar, I forget) issue with centos folks once, their stance is centos is a straight rebuild of redhat and won't carry any extras even in the "plus" kernel. ELRepo (that has a rehat subscription and can build modules when rh kernel's available upstream) is similarly uninterested in taking on ZoL.

I don't have spl installed on my machine. I don't know why it works without spl - maybe it's built into zfs packages.

To be clear, yes, 0.8.x-x has combined the spl packages into the zfs packages.

@tonyhutter are you the right person to ask about plans for this particular kmod update?

ZFS 0.8.4 was released today with support for Centos 7.8. Try re-running though the steps for Centos 7.8 on: https://github.com/openzfs/zfs/wiki/RHEL-and-CentOS. The new kmod RPMs are working for me on 3.10.0-1127.

Was this page helpful?
0 / 5 - 0 ratings