Алексей Федорчук
С месяц назад я писал, что поддержку ZFS в LMDE обеспечить можно — но только путём сборки статических модулей kmod, привязанных к версии ядра. Однако в ходе экспериментов по установке этого дистрибутива с Debian’овского mini.iso
обнаружилось, что в этом случае возможна и поддержка ZFS с помощью динамически собираемых модулей dkms. Причём не только до «Betsy’анизации» свежеустановленного Debian’а, о которой будет речь в одном из очерков, но и в любой момент после неё.
Делается это так. Сначала с официального сайта проекта ZFSOnLinux скачивается пакет, описывающий репозиторий, что имеет место там быть:
wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_6_all.deb
Далее пакет этот устанавливается обычным образом, например, так:
$ apt deb path2/zfsonlinux_6_all.deb
В сущности, установка эта сводится к подключению того самого репозитория, то есть автоматическому созданию файла /etc/apt/sources.list.d/zfsonlinux.list
. Поскольку система по прежнему опознавалась как «читый» Debian, никакого сообщения об ошибке не последовало. А указанный файл содержало две важные строки:
deb [arch=amd64] http://archive.zfsonlinux.org/debian jessie main #deb-src http://archive.zfsonlinux.org/debian jessie main
Со второй из них не помешало бы сразу снять символ комментария — есть подозрение, что репозиторий исходников может понадобиться. Я этого не сделал и, видимо, был не прав, что потребовало от меня пары лишних телодвижений.
Далее следует стандартная процедура обновления кеша:
$ apt update
Однако устанавливать пакеты из нового репозитория пока рано — сначала надо обеспечить себя сборочным инструментарием. Мне хватило трёх пакетов, причём последние два я установил для страховки (да и лишними они никак быть не могут):
$ apt install build-essential alien fakeroot
И после этого я дал команду для сборки метапакета, включающего в себя всё, имеющее отношение к SPL и ZFS:
$ apt install debian-zfs
И она завершилась провалом. То есть метапакет вроде бы установился — команды
$ apt search debian-zfs
радостно сообщила о присвоении ему статуса installed
, однако самих модулей spl-dkms
и zfs-dkms
не было и в помине. Памятуя, что в таких случаях помогает предварительное построение дерева зависимостей, я дал команду
$ apt build-dep ubuntu-zfs
Которая ответила мне сообщением о невозможности доступа к архивам исходников. Тут-то я и смекнул, что следовало раскомментировать строку с описанием соответствующего репозитория. Однако возвращаться назад и начинать всё сначала смысла не имело, так что я просто собрал модули по одному:
$ apt install spl-dkms $ apt install zfs-dkms
И именно в такой последовательности — как я выяснил ранее, модули spl
необходимы для сборки zfs-dkms
.
После этого всё собралось и установилось как надо, а команда
$ sudo modprobe zfs
прошла успешно, о чём сказал правильный вывод команды:
$ lsmod | grep zfs zfs 2060592 9 zunicode 328546 1 zfs zcommon 39960 1 zfs znvpair 58712 2 zfs,zcommon spl 69445 3 zfs,zcommon,znvpair zavl 13038 1 zfs
Теперь, создав предварительно точку монтирования /home/data
, я импортировал ранее образованный пул ZFS:
$ sudo zpool import data
И немедленно убедился в правильности выполнения этой операции:
$ sudo zpool status [sudo] password for alv: pool: data state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM data ONLINE 0 0 0 sda3 ONLINE 0 0 0 errors: No known data errors
Всё — мои рабочие данные стали доступны их обеих инсталляций LMDE. Причём никаких дополнительных действий для автоматического монтирования файловых систем ZFS не потребовалось — файл /etc/default/zfs
образовался автоматически, и после рестарта системы содержимое каталога /home/data
было на месте.