Я несколько дней экспериментировал над расширением bastille, ср предыдущий пост Экскурсия в Бастилию и, надо признаться, ощущение у меня смешанное. Но ставить все же будем.
Ставить можно через расширение OneButton Installer
From [Extensions > Bastille > Maintenance] check the ZFS support box and click Save.
Собственно выше - краткое описание, которого должно хватить. Ниже - моё, вероятно, излишне подробное и обильно комментированное. (б) с работой поверх создаваемых в процесе инсталляции датасетов zfs create -p -o atime=off -o compress=lz4 Data/extensions/bastille cd /mnt/Data/extensions/bastille fetch --no-verify-peer https://raw.githubusercontent.com/JRGTH/xigmanas-bastille-extension/master/bastille-init && chmod +x bastille-init && ./bastille-init && echo "=> Done!"
From [Extensions > Bastille > Configuration] set the following parameters: bastille_zfs_enable "YES" bastille_zfs_zpool "Data/extensions" bastille_zfs_prefix "bastille"
From [Extensions > Bastille > Maintenance] check the ZFS support box and click Save.
Так, первый же вопрос - нужна ли вся эта zfs поддержка? Я, понятно, потестил и так и так. И должен сказать, что без этой встроенной поддержки zfs - проще. Ладно что при инсталляции возникает пучок датасетов - кушать не просят. [из истории моего пула - какие именно датасеты]2023-04-27.22:34:15 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/cache TT/Ext/bastille/cache 2023-04-27.22:34:16 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/cache/13.1-RELEASE TT/Ext/bastille/cache/13.1-RELEASE 2023-04-27.22:34:16 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/jails TT/Ext/bastille/jails 2023-04-27.22:34:17 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/logs TT/Ext/bastille/logs 2023-04-27.22:34:18 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/templates TT/Ext/bastille/templates 2023-04-27.22:34:19 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/releases TT/Ext/bastille/releases 2023-04-27.22:34:19 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/releases/13.1-RELEASE TT/Ext/bastille/releases/13.1-RELEASE
Ладно что каждый новый jail - это еще пара датасетов. Зато достаточно красиво сделано клонирование системных файлов при создании клетки. [Spoiler (click to open)]2023-04-28.00:24:04 zfs create -o compress=lz4 -o atime=off TT/Ext/bastille/jails/test 2023-04-28.00:24:04 zfs snapshot TT/Ext/bastille/releases/13.1-RELEASE@bastille-2023-04-28-002404 2023-04-28.00:25:22 zfs send -R TT/Ext/bastille/releases/13.1-RELEASE@bastille-2023-04-28-002404 2023-04-28.00:25:23 zfs receive TT/Ext/bastille/jails/test/root 2023-04-28.00:25:24 zfs set compress=lz4 atime=off mountpoint=none TT/Ext/bastille/jails/test/root 2023-04-28.00:25:24 zfs inherit mountpoint TT/Ext/bastille/jails/test/root
Неприятно, что при удалении клеток иногда эти датасеты не удаляются - ср [Spoiler (click to open)] largenas: ~# bastille destroy plexpass Jail running. See 'bastille stop plexpass'. largenas: ~# bastille stop plexpass [plexpass]: plexpass: removed
largenas: ~# bastille destroy plexpass Deleting Jail: plexpass. cannot unmount '/mnt/TT/Ext/bastille/jails/plexpass/root': pool or dataset is busy cannot unmount '/mnt/TT/Ext/bastille/jails/plexpass': pool or dataset is busy rm: /mnt/TT/Ext/bastille/jails/plexpass/root: Device busy rm: /mnt/TT/Ext/bastille/jails/plexpass: Device busy Note: jail console logs archived. /mnt/TT/Ext/bastille/logs/plexpass_console.log-2023-04-30
Так что решил без дополнительных zfs фишек. Тем более, что создать те датасеты, что мне нужны я сам могу, ручками. И даже сделал это под bastille. zfs create -o compression=off -o dedup=off -o sync=standard -o atime=off -o aclinherit=restricted -o aclmode=discard -o utf8only=on TT/Ext/bastille (правда, разработчик советует компрессию включить -o compress=lz4 - ну разница невелика)
Идем в вебгуй, перезагружаем экран - а меню расширений появляется Bastille
Если меню расширений у вас нет - убираем гадкую галочку здесь и перегружаем NAS
Дальше конфигурируем bastille из вебгуя
Если вы, как и я, обойдетесь без дополнительных zfs фишек - давим на ссылку во второй строке. Если хотите zfs фишки - идем сначала в 1 строку и задаем два параметра bastille_zfs_enable - "YES" bastille_zfs_zpool - "TT/Ext" (как у меня) или "Data/extensions" (как у разработчика расширения) - в общем имя пула и путь к тому месту, где у вас лежит bastille. Без всяких /mnt Тут есть небольшая хитрость - как сохранить введенное? Оказывается, надо нажать зеленую галку в этой строке.
В любом случае мы жмем Please click here then push "Save" button. И попадаем сюда
Нам ПОСЛЕДНИЙ РАЗ предлагают возможность установить zfs фичи. При отказе это можно будет сделать только полной переустановкой расширения. Но мы просто проверяем что все правильно - и жмем Save Картинка меняется
Если перейти в соседнюю (любую) вкладку расширения и вернуться обратно - она изменится еще раз, приняв финальный вид - без строки о выборе zfs
Конфигурирование расширения закончено - но нам надо закачать коды операционной системы для сборки наших клеток
Я советую как на рисунке. Выбрать тот релиз, на котором собрана ваша версия (можно смотреть на домашней странице вебгуя) В нем базовый релиз и обязательно - lib32. Порты - не обязательно. Но пусть будут. Исходники понадобятся вам вряд ли. Надо будет - загрузите потом.
Следующим постом запустим и сконфигурируем клетку.