Antergos и ZFS: победа здравого смысла

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

Едва вычитав про поддержку ZFS в инсталляторе Antergos’а, я разумеется, сразу же отправился качать «освежённые» образы 64-битной сборки. И сначала хотел ограничится только minimal’ным вариантом. Ибо для начала задача ставилась очень узкая: проверить, а не врут ли мальчишки? Ведь плавали, знаем, что в этой теме они склонны… ну не совсем чтобы врать, но несколько преувеличивать. А для этой цели минимального образа казалось достаточно.

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

При использовании полного образа система загружается в Live-режиме со средой GNOME по умолчанию. Где первым и естественным желанием будет убедиться — а не обманули ли с поддержкой ZFS «искаропки»? Сделать это можно, например, такой командой:

# lsmod | grep zfs

Вывод которой скажет нам — нет, не обманули, и все необходимые модули при старте были действительно загружены:

zfs                  2633728  1
zunicode              331776  1 zfs
zcommon                45056  1 zfs
znvpair                61440  2 zfs,zcommon
spl                    86016  3 zfs,zcommon,znvpair
zavl                   16384  1 zfs

В том числе и модуль поддержки Solaris Porting Layer:

# lsmod | grep spl
spl                    86016  3 zfs,zcommon,znvpair

Будучи окрылённым этим обстоятельством, я приступил к установке системы. Процедура эта ничем не отличалась от той, что была описана ранее. Поэтому остановлюсь только на тех её моментах, которые важны в в контексте данного сюжета. И которые начинаются после выбора рабочей среды и дополнительного софта, открытием окна, не вполне точно называемом Тип установки (предполагается, что языком инсталляции был выбран русский, и описанные ранее меры предосторожности относительно раскладок клавиатуры — приняты):

antergos-zfs_015

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

Однако тут-то и будет засада. После выбора целевого носителя (если есть, из чего выбирать), создания на нём, при необходимости, таблицы разделов и нового раздела оказывается, что в списке доступных файловых систем как раз ZFS и отсутствует:

antergos-zfs_019

Так что, воленс-неволенс, приходится вернуться обратно и, включив соответствующую опцию положиться на автоматику (благо, установкой я занимался в виртуалке — в реале диска, содержимым которого я мог бы пожертвовать, у меня сейчас не имелось):

antergos-zfs_020

Хотя и здесь есть некоторые возможности для вмешательства руками. В частности, если в машине имеется более одного диска, можно задать тип пула — с расщеплением (подобно RAID 0), с зеркалированием (аналог RAID 1) или различными степенями избыточности. При установке на одиночный единственным вариантом будет, разумеется, None:

antergos-zfs_021

Имя пула определяется произвольно, не рекомендуются только имена, обычно приводимые в примерах (типа tank, zpool или rpool). Ну а опция размера блока зависит от того, каков он физически на целевом носителе. И если там используется Advanced Format, то размер блока в 4 КБ лучше задать явным образом.

После этого появится окно сводки установки, в котором сообщается, что всё, что есть на целевом устройстве, будет удалено. А вместо того на нём будут созданы загрузочный раздел на 512 МБ (с файловой системой ext4, хотя об этом и не говорится вслух), пул ZFS на весь оставшийся объём и «раздел» подкачки внутри него:

antergos-zfs_022

О размере области подкачки явным образом также ничего не говорится. И, кстати, после установки определить его размер стандартной командой

$ swapon -s

тоже не получится — она останется безответной. Однако команда

$ sudo zfs list

в моём случае виртуальной машины с 2 ГБ памяти и диском на 64 ГЮ покажет такую картину:

NAME          USED  AVAIL  REFER  MOUNTPOINT
mypool       6,80G  54,2G  3,70G  /
mypool/swap  3,09G  57,3G    16K  -

То есть под подкачку было отведено полтора объёма оперативной памяти. Однако я забежал вперёд. А пока предстоит создать пользовательский аккаунт, дождаться установки пакетов и выполнить перезагрузку машины. После чего можно заниматься перекраиванием файловых систем внутри пула ZFS по собственному хотению. Благо процесс этот очень прост и многократно описан, в том числе и на нашем Блогосайте (например, здесь).

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

Потому что это не просто получение применителями Linux’а ещё одной нативной файловой системы (а точнее, системы размещения данных). И не просто очень хорошей системы (к этому вопросу я планирую вернуться в ближайшее время). Это — победа простого человечьего здравого смысла над лицензионными извращениями и юридическим крючкотворством. Ура, товарищи!

Antergos и ZFS: победа здравого смысла: 1 комментарий

  1. Как дела с производительностью? В моём случае mdadm + lvm рвёт в клочья raidz-1, разница в 4 раза.

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