CentOS 7:再起動後にzfsモジュールがロードされません。 /dev/zfsはありません。

CentOS 7:再起動後にzfsモジュールがロードされません。 /dev/zfsはありません。

過去数年間、ZFSを完全に使用してきたCentOS 7システムを959日以降に再起動する必要がありました。yum updateその間、私は月に一度走った。

以下のようにシステムを再起動してもZFSモジュールをロードできないようです。

# 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 dmesg (大文字と小文字を区別しない) が空です。モジュールを手動でロードすると、次のように表示されます。

# modprobe zfs
modprobe: FATAL: Module zfs not found.

混乱しています。 ZFSを再起動するにはどうすればよいですか?

編集する

1つの問題は、私のリポジトリは/etc/yum.repos.d/zfs.repoまだ7.6ですが、/etc/yum.repos.d/zfs.repo.rpmnew7.9ということです。以前のzfs.repoを保存し、7.9 zfs.repoをzfs.repo.thenにコピーして、kABIの指示に従いました。今私はこれを得ます:

# 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

依存関係の問題を解決するには?

ベストアンサー1

959日間再起動はありませんか?うわー。私はあなたがしなかったと仮定しますkexec。これは、あなたが初めて新しいカーネルを起動したことを意味します。問題は、インストールしたZFSモジュールが別のカーネル用に構築されているため、今はロードできないことです。

あなたの選択:

  • skriptを試してくださいweak-modulesweak-modules --add-kernel --no-initramfsinitramfsにZFSが必要ない場合)。 kABIが変更されていない場合は、モジュールを新しい/lib/moduleディレクトリにシンボリックリンクして新しいカーネルで使用できます。 (実際に新しいカーネルを初めて使用する場合は、kABIの変更がある可能性があります。)
  • 上記の方法で問題が解決しない場合は、パッケージを再インストールしてみてください。オープンZFSこれを言及したCentOSマイナーバージョン間のアップグレードに必要な手順。
    1. zfsまず、既存のアイテムとsplパッケージを削除する必要があります。kmod-zfsyum remove zfs spl kmod-zfs
    2. 7.9用の最新リポジトリのインストールオープンZFS
    yum install https://zfsonlinux.org/epel/zfs-release.el7_9.noarch.rpm
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
    
    1. 新しく追加されたリポジトリからzfsインストールします。kmod-zfs
  • インストールを試してみることもできます。データ管理システム現在使用しているkmodパッケージの代わりにモジュール(カーネルの更新後に自動的に再構築されます)を使用してください。

おすすめ記事