지난 몇 년간 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를 다시 작동시키려면 어떻게 해야 합니까?
편집하다
한 가지 문제는 내 저장소가 /etc/yum.repos.d/zfs.repo
여전히 7.6이지만 /etc/yum.repos.d/zfs.repo.rpmnew
7.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-modules
(weak-modules --add-kernel --no-initramfs
initramfs에 ZFS가 필요하지 않은 경우). kABI가 변경되지 않은 경우 모듈을 새/lib/module
디렉터리에 심볼릭 링크하여 새 커널과 함께 사용할 수 있습니다. (실제로 새 커널을 처음 사용하는 경우 kABI 변경이 있을 수 있습니다.) - 위의 방법으로 문제가 해결되지 않으면 패키지를 다시 설치해 보세요. 오픈ZFS이것을 언급했다CentOS 마이너 버전 간 업그레이드 시 필요한 단계입니다.
zfs
먼저 기존 항목 과spl
패키지를 삭제해야 합니다 .kmod-zfs
yum remove zfs spl kmod-zfs
- 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
- 새로 추가된 저장소에서
zfs
설치합니다 .kmod-zfs
- 설치를 시도해 볼 수도 있습니다.데이터 관리 시스템현재 사용 중인 kmod 패키지 대신 모듈(커널 업데이트 후 자동으로 다시 빌드됨)을 사용하세요.