ZFS в системах deb based: Proxmox

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

Не так давно жаловался я на то, что поддержка ZFS в Ubuntu 16.04 — не из коробки, а скорее из иллюзии. В ответ на что получил комментарий aleks’а такого содержания:

Proxmox, на базе Debian, с собственным установщиком предлагает одной из ФС, zfs и raid от 0 и т.д.

Я, каюсь, и о существовании такого дистрибутива не слышал, не то что о ZFS в нём. Однако такая наводка заслуживала внимания, и потому для начала был посещён официальный сайт. Информация на котором, впрочем, была не очень радостной. Ибо дистрибутив Proxmox оказался коммерческим продуктом, распространяемым в двух вариантах: как среда для запуска виртуальных машин (Proxmox Virtual Environment) и как почтовый сервер со всякими анти-спамовыми и антивирусными прибамбасами (Proxmox Mail Gateway).

И то, и другое мне было без надобности, однако образы для их установки имелись в свободном доступе (хотя поддержка для них обещалась платная). А потому я скачал proxmox-ve последней версии чисто «на посмотреть». Образ этот имелся только в 64-битной сборке и имел объём чуть больше 700 МБ. Будучи запущенным в виртуальной машине, он для начала выдал меню загрузчика:

proxmox-ve_001

А по выборе в нём первого пункта для начала предложил ознакомиться с лицензией EULA:

proxmox-ve_002

С которой я согласился не читая — и, как оказалось, напрасно: найти её текст на сайте оказалось проблематичным (по крайней мере, мне не удалось), так что потом, когда он понадобился, пришлось вытаскивать его с образа.

Но это будет потом. А пока предлагалось определиться с целевым носителем для установки, и опциями его использования:

proxmox-ve_003

Ввиду виртуальности системы с целевым носителем всё было однозначно, а параметры для него по умолчанию предлагались следующие:

proxmox-ve_004

Выпадающий список доступных файловых систем откровенно порадовал наличием, кроме ext3/4 и xfs, всех разновидностей ZFS:

proxmox-ve_005

Правда, однодисковый случай специально предусмотрен не был, но я наудачу ткнул в zfs (RAID0) — и всё прокатило, было показано только отсуствтие какого-либо другого диска:

proxmox-ve_006

Далее идёт определение страны, часового пояса и раскладки клавиатуры, причём по умолчанию это выглядело так:

proxmox-ve_007

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

proxmox-ve_009

Далее будут выведены автоматически определённые параметры сети — мне понадобилось только задать имя домена в «правильном» формате:

proxmox-ve_010
С именем типа domain.zone инсталлятор соглашается — и погребение инсталляция совершается:

proxmox-ve_012

Завершаясь действительно менее чем за пару-тройку минут предложением ребута:

proxmox-ve_013

За которым следует появление меню загрузчика GRUB:

proxmox-ve_014

И предложение авторизоваться в командной строке, что можно сделать, разумеется, только root’ом:

proxmox-ve_015

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

# zfs list

можно видеть, что, во-первых, Proxmox обошёлся без раздела под /boot (или /boot/grub) с какой-либо «традиционной» файловой системой (типа etx2/3/4), который оказался необходимым в ZFS-пуле Antergos’а. Легко догадаться, что это требует применения патченной версии GRUB’а, способной опознать ZFS как корень файловой иерархии на стадии grub-probe, и внести известные изменения в свои конфиги:

proxmox-ve_016

Во-вторых, из скриншота можно видеть, что в пуле ZFS был создан dataset для свопинга (язык не поворачивается назвать его разделом или, господь борони, файловой системой) размером с оперативную память (для этой виртуальной машины я отвёл 4 ГБ). Хотя при определении опций целевого диска в ходе инсталляции я оставил соответствующее поле пустым. Подозреваю, что для отказа от свопинга там надо было явным образом указать что-то типа нуля.

Ну и в-третьих, вся инсталляция заняла 757 МБ дискового пространства — лишь немногим больше объёма образа. Каковой, кстати, при просмотре в менеджере архивов показал себя самой простой системой без всяких ухищрений типа SquashFS:

proxmox-ve_017

Итоговая инсталляция являла собой чисто консольную систему без малейших Иксов и тем более WM’ов или DE’ёв. Которые, конечно, можно установить, но… В ответ на первоочередную в таких случаях команду

# apt update

последовало сообщение об ошибке доступа ко всем «фирменным» репозиториям. Что и неудивительно, если поглядеть на файл /etc/apt/sources.list.d/pve-enterprise.list, содержащий единственную строку

deb https://enterprise.proxmox.com/debian jessie pve-enteprise

То есть оказалось, что для доступа к собственному репозиторию требует авторизации через логин и пароль, каковые, видимо, обретаются путём приобретения платной поддержки по цене от € 4,99/месяц на один CPU-socket по плану Community (поддержка через форум сообщества) до € 66,33 по плану Premium (через специальный портал с неограниченным числом обращений).

Не возьмусь судить, много это или мало, но в любом случае подходит только тем, кому действительно «по делу» требуется функционал контейнера виртуальных машин. Простому же советскому человеку десктопному применителю для использования в мирных целях от системы нужно совсем другое — а вот с этим другим в Proxmox-VE дело обстоит просто никак. И для него дистрибутив этот интересен только как пример того, что задействование ZFS в deb based системах на стадии инсталляции принципиально возможно.

Конечно, возникают мысли — а не использовать ли Proxmox-VE просто для установки базовой системы на пул ZFS, аналогично Debian mini.iso, с дальнейшим прикручиванием репозиториев любого deb based дистрибутива (родных Debian’овских, от LMDE или чего-то типа antiX/MX Linux). Однако тут можно ожидать проблем при обновлении таких критически важных компонентов, как ядро с его модулями и GRUB.

Заманчиво было бы также прикрутить к тем же deb based системам оригинальный инсталлятор от Proxmox-VE, именуемый Bare-metal ISO Installer. Однако не знаю, насколько это возможно технически и правомерно юридически. И, в любом случае, и то, и другое прикручивание — поле для индивидуальных упражнений любителя и энтузиаста. Но никак не основа системы для распространения ZFS среди широких народных масс. В качестве каковой на данный момент может выступать только Antergos в последней её ипостаси.

ZFS в системах deb based: Proxmox: 1 комментарий

  1. Пробовал его год-два назад, однако, эта система заточена для других целей, я её пробовал в качестве замены VMware ESXi. И в то время было решение для обновлений, вполне официальное, только неявное. Нужно было ручками что-то прописывать.

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