Закончив с разметкой диска, я благополучно завершил инсталляцию openSUSE. Она прошла прошла обычным порядком, без всяких осложнений. Едиснтвенно, что не удалось установить GRUB 2 — я упоминал уже, что, задав GPT-разметку, забыл создать раздельчик для его установки. И на этот раз на стадии обзора установки (она проводилась с NET-образа) я предусмотрительно выбрал пакет kernel-default вместо kernel-desktop, поскольку модули поддержки ZFS ядра имелись только для этого варианта его сборки.

После чего занялся прикручиванием к ней ZFS on Linux — на этот раз, как уже говорил, всерьёз и надолго. Тем более, что со времени моих прошлых упражнений в этой области она успела обновиться до версии zfs-0.6.0-rc11. Правда, из существенных новшеств я углядел в ней только возможность размещения на zpool’е раздела подкачки. И по прежнему ни слова не говорилось ро поддержке TRIM. Хотя к тому времени у меня возник вопрос: а нужна ли таковая, если учитывать специфику удаления файлов в ZFS? Но это будет предметом обсуждения в светлом будущем. А пока — об источниках пакетов.

В прошлый раз для включения поддержки ZFS я использовал пакеты из репозитория munix9. Однако среди «домашних» репозиториев OBS есть и другое хранилище пакетов поддержки ZFS — репозиторий ghaskins. Первый за прошедшее время не обновлялся, во втором же я обнаружил свежие версии пакетов zfs related, соответствующие zfs-0.6.0-rc11 и собранные для openSUSE релизов 12.1 и 12.2 (попытка собрать их для SLE 11 SP2, судя по сообщению OBS, завершилась ошибкой).

Естественно, имело смысл использовать репозиторий со свежими версиями zfs-пакетов, что я и сделал. В при этом в установке и настройке ZFS обнаружились некоторые отличия от варианта с пакетами из репозитория munix9, так что я опишу всё процедуру с самого начала, хотя местами повторюсь. Для наглядности описание будет иллюстрироваться с помощью модулей управления репозиториями и пакетами YaST2, хотя, разумеется, всё то же самое можно проделать и через zypper.

Чтобы использовать сторонний репозиторий, его перво-наперво надо подключить. Для этого отправляемся в пункт Репозитории секции Программное обеспечение YaST2, наживаем кнопку Добавить, выбираем пункт Указать URL и вносим в поля Имя… и URL соответствующие значения:

zfs22.png

Затем нажимаем кнопку Далее, соглашаемся со всеми предложениями, в том числе вырадаем вотум доверия ключам репозитория — и через некоторое время видим его в списке:

zfs23.png

Теперь потребуется пункт Управление программным обеспечением той же секции YaST, а в нём — вкладка Репозитории, в которой отыскивается нужный, что позволяет созерцать список содержащихся в нём пакетов. На скриншоте этот список можно видеть уже после установки всего необходимого:

zfs24.png

Прочие пакеты либо содержат отладочную информацию, либо собраны для всякого рода специализированных ядер. Правда, неплохо было бы заиметь также и пакет zfs-dracut — он позволил бы создать initrd с поддержкой ZFS посредством программы dracut. Что, в свою очередь, делает потенциально возможной установку openSUSE на корневой раздел файловой иерархии. Однако вот беда — самого пакета dracut не найти ни в основных, ни в сторонних репозиториях дистрибутива. Хотя в ходе подготовки openSUSE 12.2 о нём немало говорили большевики майнтайнеры, в окончательный релиз он так и не попал.

Ну и ладно — отложим пока вопрос о ZFS на корне до лучших времён. А пока обратимся к проверке того, что у нас получилось. Для чего сначала комадуем:

# modprobe zfs

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

$ dmesg | grep ZFS

в ответ на что должно последовать вот это:

[    3.209195] ZFS: Loaded module v0.6.0-rc11, ZFS pool version 28, ZFS filesystem version 5

Если так оно и есть — можно немедленно приступать к окучиванию ZFS: поскольку ядро у меня как было default, так и им осталось, рестарт системы не нужен. Хотя, для очистки совести, можно и перезагрузиться — дабы окончательно уверовать в то, что поддержка ZFS после этого никуда не делать.


Содержание