首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 7:重启后,zfs模块不会加载,no /dev/zfs

CentOS 7:重启后,zfs模块不会加载,no /dev/zfs
EN

Unix & Linux用户
提问于 2022-01-11 19:29:15
回答 1查看 1.9K关注 0票数 2

959天后,CentOS 7系统需要重新启动,该系统在过去几年一直完美地使用ZFS。在此期间,我每月运行一次yum update

重新启动系统显然无法加载它的ZFS模块,这一点可以从

代码语言:javascript
复制
# zpool list
/dev/zfs and /proc/self/mounts are required.
Try running 'udevadm trigger' and 'mount -t proc proc /proc' as root.
# modprobe zfs
modprobe: FATAL: Module zfs not found.
# uname -a
Linux foo 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Nov 30 15:51:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
# yum install zfs zfs-kmod
Package zfs-0.7.13-1.el7_6.x86_64 already installed and latest version
Package kmod-zfs-0.7.13-1.el7_6.x86_64 already installed and latest version
Nothing to do

/proc被挂载,而udevadm trigger没有任何影响。/dev/zfs不存在。ZFS (大小写不敏感)的Grepping为空。手动加载模块

代码语言:javascript
复制
# modprobe zfs
modprobe: FATAL: Module zfs not found.

我很困惑。我怎样才能让ZFS再次运行呢?

编辑

一个问题是,我在/etc/yum.repos.d/zfs.repo的回购仍然是7.6英镑,而/etc/yum.repos.d/zfs.repo.rpmnew是7.9英镑。我保存了旧的zfs.repo,并将其拷贝到了zfs.repo上。然后再次按照kABI的说明进行操作。现在我明白了:

代码语言:javascript
复制
# yum install zfs
Resolving Dependencies
--> Running transaction check
---> Package spl.x86_64 0:0.7.13-1.el7_6 will be obsoleted
--> Processing Dependency: spl = 0.7.13 for package: kmod-spl-0.7.13-1.el7_6.x86_64
---> Package zfs.x86_64 0:0.7.13-1.el7_6 will be updated
--> Processing Dependency: zfs = 0.7.13 for package: kmod-zfs-0.7.13-1.el7_6.x86_64
---> Package zfs.x86_64 0:2.0.7-1.el7 will be obsoleting
--> Processing Dependency: libzpool4 = 2.0.7 for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libzfs4 = 2.0.7 for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libuutil3 = 2.0.7 for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libnvpair3 = 2.0.7 for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libzpool.so.4()(64bit) for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libzfs_core.so.3()(64bit) for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libzfs.so.4()(64bit) for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libuutil.so.3()(64bit) for package: zfs-2.0.7-1.el7.x86_64
--> Processing Dependency: libnvpair.so.3()(64bit) for package: zfs-2.0.7-1.el7.x86_64
--> Running transaction check
---> Package kmod-zfs.x86_64 0:0.7.13-1.el7_6 will be updated
---> Package kmod-zfs.x86_64 0:2.0.7-1.el7 will be an update
---> Package libnvpair1.x86_64 0:0.7.13-1.el7_6 will be obsoleted
---> Package libnvpair3.x86_64 0:2.0.7-1.el7 will be obsoleting
---> Package libuutil1.x86_64 0:0.7.13-1.el7_6 will be obsoleted
---> Package libuutil3.x86_64 0:2.0.7-1.el7 will be obsoleting
---> Package libzfs2.x86_64 0:0.7.13-1.el7_6 will be obsoleted
---> Package libzfs4.x86_64 0:2.0.7-1.el7 will be obsoleting
---> Package libzpool2.x86_64 0:0.7.13-1.el7_6 will be obsoleted
---> Package libzpool4.x86_64 0:2.0.7-1.el7 will be obsoleting
---> Package spl.x86_64 0:0.7.13-1.el7_6 will be obsoleted
--> Processing Dependency: spl = 0.7.13 for package: kmod-spl-0.7.13-1.el7_6.x86_64
--> Finished Dependency Resolution
Error: Package: kmod-spl-0.7.13-1.el7_6.x86_64 (@zfs-kmod)
           Requires: spl = 0.7.13
           Removing: spl-0.7.13-1.el7_6.x86_64 (@zfs-kmod)
               spl = 0.7.13-1.el7_6
           Obsoleted By: zfs-2.0.7-1.el7.x86_64 (zfs-kmod)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

# yum install --skip-broken zfs
[...]
Packages skipped because of dependency problems:
    kmod-zfs-2.0.7-1.el7.x86_64 from zfs-kmod
    libnvpair3-2.0.7-1.el7.x86_64 from zfs-kmod
    libuutil3-2.0.7-1.el7.x86_64 from zfs-kmod
    libzfs4-2.0.7-1.el7.x86_64 from zfs-kmod
    libzpool4-2.0.7-1.el7.x86_64 from zfs-kmod
    zfs-2.0.7-1.el7.x86_64 from zfs-kmod

我怎样才能解决依赖问题?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-01-11 20:12:29

959天没有重新启动?哇。我假设您没有使用kexec,所以这意味着您已经第一次启动了新内核。问题是,您安装的ZFS模块是为不同的内核构建的,所以您现在无法加载它。

你的选择:

  • 尝试使用weak-modules skript (如果您不需要initramfs中的weak-modules --add-kernel --no-initramfs)。如果没有kABI更改,它将将模块符号链接到新的/lib/module目录,以使其在新内核中可用。(如果这是您第一次使用新内核,那么可能会发生kABI更改。)
  • 如果上面没有工作,您可以尝试重新安装软件包。OpenZFS 提到这个是在CentOS次要版本之间进行升级时的必要步骤。
    1. 您需要首先使用zfssplkmod-zfs来删除现有的yum remove zfs spl kmod-zfs包。
    2. OpenZFS安装7.9的最新存储库。

安装https://zfsonlinux.org/epel/zfs-release.el7_9.noarch.rpm rpm --导入/etc/pki/RPM-GPG/RPM-KEY-zfsonlinux

代码语言:javascript
复制
1. Install `zfs` and `kmod-zfs` from the newly added repo.
  • 您还可以尝试安装DKMS模块(它将在内核更新后自动重建),而不是现在使用的kmod包。
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/685955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档