Почему я больше не буду ставить xigmanas в режиме Root on ZFS

Nov 27, 2021 01:04

Так как надежды вызволить свой старый NAS подернулись туманной дымкой, взял из хлама старый ноутбук и запустил на нем вариант по-быстрому. Так как памяти всего 4Gb, решил отойти от своей рекомендации использовать embedded xigmanas. Да, оно для экспертов - но я ли не ИксперД? :)

Докладываю в каких именно деталях дьявол.

Напомню, что xigmanas - это свободный дистрибутив для домашнего NAS. Ранее назывался nas4free, еще ранее freenas, пока это имя у него не отняли типично рейдерскими методами ребята из IX Systems. xigmanas подробно описывается в этом бложике.

embedded режим xigmanas - это когда система живет на флешке. Она при старте создает в памяти небольшой системный диск, копирует на него себя, настраивает в соответствии с файлом конфигурации - и затем стартует с этого диска в памяти. Плюс такого режима для домашнего пользователя в том, что что бы программное ни произошло с системным диском для приведения системы в рабочее состояние достаточно ее перезагрузить. Если же проблема системного диска аппаратная - скачиваем с сети xigmanas, ставим вчистую на новую флешку, скармливаем ей из бекапа один текстовый файл конфига - вуаля. Если же сгорела, к примеру материнская плата, но выжили диски данных - подключаем их практически в любой другой комп, стартуем его с нашей флешки - вуаля. Согласитесь, приятно, особенно для пользователя, которому бы пользоваться, а не гайки крутить.

Важный недостаток - диск в памяти (внезапно) жрет память, около гигабайта - чего я в данном случае пожалел. Вариант установки xigmanas «как у всех», прямо на жесткий диск, называется full. И бывает в двух режимах. Форматируем ли мы систему в древний как дерьмо мамонта UFS или в супер надежный и мой любимый ZFS. Я, естественно, выбрал ZFS - и поел дерьма.

Я не буду описывать подробно детали, ограничусь общим смыслом. При установки full на zfs весь системный накопитель форматируется как zfs пул. Часть его отдаётся под систему. Излишек предоставляется пользователю в виде zfs датасета с точкой монтирования zroot. Пока все правильно. Предполагается, что в NAS есть еще диски и там хранятся данные. А на этом кусочке - ну тоже чуть чуть. Но в моем старом ноутбуке других дисков не было и сериалы я поставил качать на этот кусочек. Не рассчитал и забил его весь. В результате места не стало и для системы. NAS встал колом.

Поведение, конечно, не нормальное. Для его предотвращения всего-то надо было задать для zroot квоту - не юзать больше такого то % диска. Но из коробки это не сделано, а я сам как-то тоже не подумал.

Ну ладно, ноутбук удобен тем, что и клава и экран всегда тут. Смотрю в чем дело - ага, нормально не грузится, пишет нет места на диске. В Single User не вижу пула zroot - оно и правильно, грузится всё по минимуму. Стартую с флешки (той самой, которая установочная) - OK, пул доступен для импорта, импортируется, все данные на нем видны. Еще один пример фантастической надежности zfs, кстати. То есть подцепи диск к любой машине, понимающей zfs - и забирай свои данные. Стираю один из торрентов, пытаюсь грузиться нормально - не-а, не хочет. Судя по сообщениям - поврежден файл конфигурации. Был бы embedded - все бы восстановилось при ребуте. А так мне искать лень.

Переставляю xigmanas в вариант UFS, пару ударов в бубен - на куске для данных делаю zfs пул и радуюсь - все работает. даже если забью его под завязку, система не пострадает и продолжит работу.

xigmanas, nas, разбор полётов

Previous post Next post
Up