- Подключаем репозитарий ELrepo:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
- Устанавливаем ml-ядро и средства разработки:
yum --enablerepo=elrepo-kernel install -y kernel-ml kernel-ml-devel kernel-ml-headers
grub2-set-default 0
reboot
- Подключаем репозиторий ZFS:
yum install -y http://download.zfsonlinux.org/epel/zfs-release.el7_4.noarch.rpm
gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
- Устанавливаем ZFS:
- Проверяем наличие модуля и загружаем его:
spl, 0.7.1, 4.12.8-1.el7.elrepo.x86_64, x86_64: installed
zfs, 0.7.1, 4.12.8-1.el7.elrepo.x86_64, x86_64: installed
dkms autoinstall
modprobe zfs
Пояснения и подводные камни:
- Главный подводный камень — необходимость явно устанавливать kernel-ml-devel и -headers.
- В противном случае установка пакета zfs вызовет по автоматическим зависимостям установку пакета kernel-devel, который относится не к ядру из ELrepo, а к стандартному ядру 3.10 из RHEL/CentOS 7.x
- В результате DKMS не сумеет собрать модули ZFS для ml-ядра из-за отсутствия сборочных исходников для него.
- Кроме сборки модуля ядра через DKMS, существует вариант с установкой готового модуля (т.н. kABI-tracking kmod).
- Достоинство: сервер не превращается в сборочную помойку.
- Недостаток: готовый модуль собирается только под официальное ядро, поэтому для ядер из ELrepo данный вариант неприменим.
- Репозитарий elrepo-kernel:
- ..по умолчанию отключен (enabled=0), чтобы избежать автоматической установки новых ядер при yum update/upgrade, поэтому мы явно включаем его через --enablerepo
- ..содержит две серии пакетов с ядром — kernel-ml для самых свежих и kernel-lt для стабильных. Данная инструкция проверялась только с ml-ядрами, но любители стабильности могут смело использовать её для lt.