Про Sabayon подробнее. О ZFS

Алексей Федорчук

Дистрибутивом Sabayon я впервые заинтересовался позапрошлым летом, когда в сообщении об очередном его релизе (кажется, 9-м — давеча их нумерация была ещё другой, чем нынче) я вычитал про поддержку в нём ZFS. Причём эту декларацию можно было понять так, что поддерживалась она «искаропки» — то есть чуть ли не на стадии инсталляции.

Разумеется, ничего подобного в Sabayon’е не было: ни малейшей ZFS в инсталляторе там не обнаружилось, ZFS on Linux присутствовала там, как и во все остальных дистрибутивах, на правах бедной родственницы, за кадром. Обнаружились в нём тогда и другие, существенные для меня, шероховатости. Так что разбираться с ZFS я тогда не стал, и вообще о нём временно забыл. Пока не появился повод вспомнить про Sabayon в другой связи — с точки зрения поддержки различными дистрибутивам своего последнего увлечения, десктопа Cinnamon.

Как я уже писал в предыдущем сочинении, с Cinnamon’ом в Sabayon’е оказалось так себе. А вот со всеми остальными десктопами — хорошо. И по ходу знакомства с ними в этом дистрибутиве я обнаружил, что он к применению ZFS действительно готов. В том смысле, что свежеинсталлированной системе уже присутствуют модули для умолчального ядра (zfs-kmod), модули совместимости с Solaris (spl) и утилиты для манипулирования с пулами и дейтасетами (zpool и zfs). И для использования всего этого хозяйства достаточно подгрузить нужные модули командой

# modprobe zfs

После чего можно создавать пул ZFS и дейтасеты (файловые системы) внутри него, или импортировать пулы существующие.

Предвижу возражение: никакая это ни особенность Sabayon’а, потому что установить все модули и утилиты поддержки ZFS из репозиториев в openSUSE или Ubuntu, пусть и не официальных, — дело не хитрое. В чём легко убедиться здесь и здесь, соответственно. После чего в этих системах точно так же можно работать с пулами и дейтасетами. Подозреваю, это же самое можно сказать и в адрес некоторых других дистрибутивов тоже — список тех, что поддерживают ZFS on Linux, можно видеть прямо на первой странице сайта проекта.

Да, это чуть сложнее, чем получить модули и утилиты для работы с ZFS готовенькими. Но к этой системе размещения данных обращаются, как правило, те применители, которые знают, что это такое. И для которых подключение подключение стороннего репозитория и установка из него пары пакетов ни малейших трудностей не составляет. А что они не доступны прямо после инсталляции — так разницы нет, раз поддержка ZFS не может быть включена во время оной без специальных ухищрений, неоднократно описанных в сети.

Однако между поддержкой ZFS в Sabayon’е и прочих дистрибутивах есть полторы разницы. Половинная — та, что, хотя эта система размещения данных и недоступна в его штатном инсталляторе модули и утилиты для её применения таки имеются на дистрибутивных носителях (кроме, как ни странно SpinBase). Так что, хотя при типовой установке она недоступна, никто не запрещает создать в Live-режиме пул ZFS и необходимые дейтасеты в нём, после чего действовать методом, описанным на предыдущей странице — через установку базовой системы с последующим выполнением chroot.

Конечно, это можно проделать и в Live-режиме Ubuntu или openSUSE — с той только разницей, что в них потребуется предварительно подключить сторонние репозитории и установить из них соответствующие пакеты. Как уже было сказано, адепта ZFS это остановить не может — только несколько притормозить, почему я и назвал это только половиной разницы.

А вот целая, и очень большая, разница — в другом. И в Ubuntu, и в openSUSE пакеты для поддержки ZFS собираются энтузиастами, и располагаются в совсем неофициальных репозиториях (PPA в первом случае, одном из «домашних» — во втором). И их разработка «рассинхронизирована» с подготовкой релиза. А поскольку модули поддержки ZFS привязаны не только к версии используемого в релизе ядра, но и к вариантам его сборки, это может приводить к несоответствию тех и других. А подчас и приводит — в openSUSE я реально с таким сталкивался.

В Sabayon’е же поддержка ZFS носит если и не совсем официальный характер, то уж полуофициальный — точно, так что тут никакой «рассинхронизации» нет. Само собой разумеется, что соответствующие модули точно соответствуют версии ядра на установочном носителе и в инсталлированной с него системе. Но в репозитории Sabayon’а эти модули существуют на все случаи жизни — для всех доступных в нём же сборок ядра. Так что применительгарантирован от неожиданностей даже при активных экспериментах с прекомпилированными ядрами. Что же до ядер самосборных… впрочем, пакетные дистрибутивы давно уже не требуют, за редчайшим исключением, никакого «ярерного рукоблудия», так что не будем о них.

Так что утверждение майнтайнеров Sabayon’а о его готовности к работе с ZFS более чем обосновано. И эту готовность я полагаю пятой особенностью дистрибутива. С моей точки зрения, наиболее важной. Не то что я теперь всё брошу и кинусь применять Sabayon в качестве главной рабочей системы — для меня лично все проблемы с ZFS решены давно и надолго, до физической амортизации нынешней моей машины. А когда в этой связи они возникнут вновь — я примерно представляю, как их решать в общем случае.

В общем, в фанатики Sabayon’а я не записался. Но надеюсь, что простота использования в нём ZFS будет способствовать популярности этого, безусловно достойного, дистрибутива. И, напротив, рост его популярности послужит делу распространения самой прогрессивной технологии размещения данных, каковой ZFS является. Знаменуя тем самым очередную победу здравого смысла над крючкотворством.

На этой оптимистической ноте я позволю себе закончить текущий цикл про Sabayon. Вернусь ли я к нему? Не знаю. Но в любом случае беру тайм-аут для завершения, наконец, книжки про историю UNIX’ов, Linux’ов с BSD’ями и прочего FOSS’а…

Содержание