модуль zfs не найден на centos после перезагрузки

Вопрос или проблема

После перезагрузки сервера CentOS ZFS не работает:

$ sudo zfs list
Модули ZFS не загружены.
Попробуйте запустить '/sbin/modprobe zfs' от имени root, чтобы загрузить их.

$ sudo modprobe zfs
modprobe: FATAL: Модуль zfs не найден.

Версия моей ОС CentOS Linux release 7.2.1511 (Core), а uname -r выводит 3.10.0-327.18.2.el7.x86_64.

Я заметил, что некоторые пакеты, похоже, были обновлены автоматически при загрузке машины – я нашел следующие записи в /var/log/yum.log:

28 фев 10:11:17 Обновлено: epel-release-7-9.noarch
28 фев 10:11:29 Обновлено: openblas-openmp64-0.2.19-4.el7.x86_64
28 фев 10:11:30 Обновлено: openblas-threads64_-0.2.19-4.el7.x86_64
28 фев 10:11:31 Обновлено: openblas-openmp-0.2.19-4.el7.x86_64
28 фев 10:11:32 Обновлено: openblas-serial64_-0.2.19-4.el7.x86_64
28 фев 10:11:33 Обновлено: openblas-threads-0.2.19-4.el7.x86_64
28 фев 10:11:34 Обновлено: openblas-threads64-0.2.19-4.el7.x86_64
28 фев 10:11:35 Обновлено: openblas-0.2.19-4.el7.x86_64
28 фев 10:11:36 Обновлено: openblas-openmp64_-0.2.19-4.el7.x86_64
28 фев 10:11:37 Обновлено: openblas-serial64-0.2.19-4.el7.x86_64
28 фев 10:11:37 Обновлено: openblas-devel-0.2.19-4.el7.x86_64
28 фев 10:11:43 Обновлено: libtirpc-0.2.4-0.8.el7.x86_64
28 фев 10:11:44 Обновлено: 1:nfs-utils-1.3.0-0.33.el7.x86_64
28 фев 10:12:22 Установлено: kernel-devel-3.10.0-514.6.2.el7.x86_64
28 фев 10:12:27 Обновлено: x2goserver-4.0.1.20-1.el7.x86_64
28 фев 10:12:27 Обновлено: x2goserver-xsession-4.0.1.20-1.el7.x86_64

Согласно dkms status, похоже, что ZFS не установлен:

$ sudo dkms status
nvidia, 352.93, 3.10.0-327.10.1.el7.x86_64, x86_64: установлен
nvidia-uvm, 352.93, 3.10.0-327.10.1.el7.x86_64, x86_64: установлен (существует original_module)
spl, 0.6.5.9: добавлено
zfs, 0.6.5.9: добавлено
nvidia-uvm, 352.93, 3.10.0-229.el7.x86_64, x86_64: установлен-weak из 3.10.0-327.10.1.el7.x86_64
nvidia, 352.93, 3.10.0-327.18.2.el7.x86_64, x86_64: установлен-weak из 3.10.0-327.10.1.el7.x86_64
nvidia-uvm, 352.93, 3.10.0-327.18.2.el7.x86_64, x86_64: установлен-weak из 3.10.0-327.10.1.el7.x86_64
nvidia, 352.93, 3.10.0-327.4.4.el7.x86_64, x86_64: установлен-weak из 3.10.0-327.10.1.el7.x86_64
nvidia-uvm, 352.93, 3.10.0-327.4.4.el7.x86_64, x86_64: установлен-weak из 3.10.0-327.10.1.el7.x86_64

Когда я пытаюсь выполнить dkms install, я получаю ошибку:

$ sudo dkms install zfs/0.6.5.9 
Ошибка! echo
Заголовки вашего ядра для ядра 3.10.0-327.18.2.el7.x86_64 не найдены
в /lib/modules/3.10.0-327.18.2.el7.x86_64/build или /lib/modules/3.10.0-327.18.2.el7.x86_64/source.

Версия kernel-headers кажется совпадает с kernel, но в репозитории нет пакета kernel-devel той же версии.

$ yum list установлен | grep kernel
kernel.x86_64                         3.10.0-229.el7                   @anaconda
kernel.x86_64                         3.10.0-327.4.4.el7               @updates 
kernel.x86_64                         3.10.0-327.10.1.el7              @updates 
kernel.x86_64                         3.10.0-327.18.2.el7              @updates 
kernel-devel.x86_64                   3.10.0-327.28.3.el7              @updates 
kernel-devel.x86_64                   3.10.0-327.36.1.el7              @updates 
kernel-devel.x86_64                   3.10.0-327.36.2.el7              @updates 
kernel-devel.x86_64                   3.10.0-327.36.3.el7              @updates 
kernel-devel.x86_64                   3.10.0-514.6.2.el7               @updates 
kernel-headers.x86_64                 3.10.0-327.18.2.el7              @updates 
kernel-tools.x86_64                   3.10.0-327.18.2.el7              @updates 
kernel-tools-libs.x86_64              3.10.0-327.18.2.el7              @updates 

$ sudo yum install "kernel-devel-uname-r == $(uname -r)"
[...]
Нет пакета kernel-devel-uname-r == 3.10.0-327.18.2.el7.x86_64 доступно.
Ошибка: Нечего делать

Что мне делать дальше?

Я подумывал об обновлении ядра (до версии 514.6.2.el7), но я против этого, потому что опасаюсь, что это может вызвать проблемы. (Я унаследовал этот сервер как временный администратор и не понимаю всего, как он настроен.)

Запустите:

depmod -a; modprobe zfs

И снова:

dkms build -m zfs -v $(zfsVersion)

Вы должны обновлять репозиторий ZFS YUM каждый раз, когда меняется версия ядра, чтобы обе версии совпадали. А потом обновите и ZFS, и ядро.

Ответ или решение

Проблема: Модуль ZFS не найден на CentOS после перезагрузки

После перезагрузки вашего сервера на CentOS, вы столкнулись с проблемой, связанной с отсутствием загрузки модуля ZFS. Сообщение об ошибке, которое вы получили:

$ sudo zfs list
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.

$ sudo modprobe zfs
modprobe: FATAL: Module zfs not found.

Это указывает на то, что модули ZFS не загружены, и команда modprobe не может их найти. Вы используете CentOS версии 7.2.1511 с ядром 3.10.0-327.18.2.el7.x86_64.

Анализ ситуации

  1. Обновления пакетов: Вы заметили обновления системных пакетов в /var/log/yum.log, среди которых нет изменений для пакетов, связанных с ZFS. Это может означать, что ZFS был установлен до обновления системы, но обновление ядра могло привести к его несовместимости.

  2. Версии пакетов: Запуск dkms status показал, что ZFS не установлен:

zfs, 0.6.5.9: added

Это говорит о том, что система не видит установленные модули ZFS для текущей версии ядра.

  1. Проблема с отсутствующими заголовками ядра: Ошибка в dkms install zfs/0.6.5.9 указывает на то, что заголовки модуля для ядра 3.10.0-327.18.2.el7.x86_64 не найдены:
Your kernel headers for kernel 3.10.0-327.18.2.el7.x86_64 cannot be found at /lib/modules/3.10.0-327.18.2.el7.x86_64/build or /lib/modules/3.10.0-327.18.2.el7.x86_64/source.

Решение проблемы

Чтобы устранить эту проблему и восстановить работу модуля ZFS, следуйте данным рекомендациям:

1. Убедитесь, что установлены все необходимые пакеты:

Проверьте наличие kernel-devel и kernel-headers для вашего текущего ядра:

sudo yum install kernel-devel kernel-headers

Если вы не можете найти соответствующий пакет, возможно, следует рассмотреть возможность обновления ядра до версии, для которой доступны необходимые пакеты.

2. Установка ZFS через DKMS

После установки нужных пакетов или обновлений, выполните следующие действия:

sudo dkms build zfs/0.6.5.9
sudo dkms install zfs/0.6.5.9

3. Обновление репозитория ZFS

Каждый раз, когда вы обновляете ядро, убедитесь, что вы также обновляете репозиторий ZFS. Это можно сделать следующим образом:

sudo yum update zfs

4. Перезагрузка системы

В некоторых случаях может помочь перезагрузка системы после выполнения вышеуказанных команд, чтобы убедиться, что все изменения вступили в силу и модули загружаются автоматически.

5. Тестирование модуля ZFS

После выполнения всех вышеперечисленных шагов выполните следующую команду, чтобы проверить, работает ли ZFS корректно:

sudo zfs list

Если всё прошло успешно, вы должны увидеть список ваших настроек ZFS.

Заключение

В итоге, проблема с загрузкой ZFS на CentOS 7 может быть решена путем установки соответствующих версий kernel-devel и kernel-headers, а также обновлением самого ZFS. Следуя данным рекомендациям, вы сможете избежать конфликтов в будущем и поддерживать стабильную работу вашего сервера. Не забудьте внимательно следить за обновлениями системы и их влиянием на установленные модули.

Оцените материал
Добавить комментарий

Капча загружается...