LINUX.ORG.RU

Propagator: лечить или заменить.

 ,


1

2

Доброго дня, Уважаемые!

Делаю образ для PXE загрузки на основании AltLinux LiveCD.

Суть загрузки такая: загружается ядро, потом запускается т.н. Prepagator (http://www.altlinux.org/Installer/common/propagator), который запрашивает по DHCP сетевые настройки, монтирует каталог по NFS с сервера и из этого каталога берёт сжатую squashfs файловую систему и разворачивает её у себя в ОЗУ, загружая с неё систему.

На стенде все отлично и шустро работает. Но однажды я пришёл подключать данный образ в одной сети. На моё удивление «отлично и шустро» застопорилось на моменте отправления DHCP-запроса на сервер. На экране гордо висит надпись «Sending DHCP requiest...», а в логах написано следующее:

AUTOMATIC: parameter dhcp for network means returning DHCP
DHCP: sending DISCOVER 

При этом пакет с DHCP-запросом физически не вылетает из образа.

Попробовал перезагрузить - то же самое. При этом в логах строчки «DHCP: sending DISCOVER» может и не быть, что сигнализирует о несистемности ошибки. Раз на 10-ый может быть загрузка пройдёт.

Копаясь с wireshark я обнаружил, что в данной сети управляемые свитчи Д-Линк, в которые отсылают STP-пакеты в поисках другого коммутатора (Судя по всему по умолчанию включён STP в Д-Линках). Ради интереса отключил на свитче STP и, о чудо, загрузка стала быстра и стабильна как в лучшие годы.

Ну, думаю, не беда. Единичный случай, решился в меру легко.

Но потом мне нужно было установить образ в другой ЛВС. Она больше первой и ахинеи там творится раз в 10 больше. Кроме STP-пакетов там еще летали неизвестные мне XID от свитча Huawei и 0x8899 от домашнего роутера Zyxel. Долго-долго искал данное сетевое оборудование (хозяева сами не знают, где у них что лежит), но даже после отключения загрузка образа не прошла.

Сейчас я стою перед выбором: либо крутить propagator в образе или эту злосчастную ЛВС. В сети понаходить и выгнать тараканов, мешающих загрузке, не сложно, но нет гарантии, что я завтра не попаду в такую же мрачную ЛВС в другом месте и образ опять не будет грузиться.

Крутить propagator кажется идеей лучшей, но тут у меня могут проседать знания: информации по продукту мало, в исходниках разбираться может занять много времени (по срокам я сжат) да и не факт, что получится.

Собственно, я хочу спросить у Вас, Уважаемые:

Был ли у Вас опыт работы с данной программой?
Знаете ли вы замену данной программе, схожую по функционалу (получить IP по DHCP, подключиться по NFS с поддержкой squashfs и запустить развёртывание системы в ОЗУ)?


Если есть сорцы - проще пропатчить прогу (или увидеть в сорцах возможности настройки).

Делается очень легко - грепаешь строчку на которой всё виснет.

Смотришь стэк вызовов (можно отладчиком, можно методом пристального взора).

Ищешь блокирующий вызов, где то после вывода этой строки. Придумываешь как обойти.

Как заплатка - это решение скорее всего самое быстрое (если нет нормальной доки). Хотя поддерживать его - заколебёшься.

Если куплен саппорт - напиши в саппорт, они как бэ должны порешать проблемму. Либо - напиши в рассылку/форум сообщества пилящего эту прогу.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Да, исходники нашлись. И файл с нужной строчкой тоже.

Попробую сделать, но тут всё-ровно я отписался т.к. мне нужна альтернатива на случай, если ничего с заплаткой не получится.

Друг кто знает...

PIKNIK
() автор топика
8 сентября 2015 г.
Ответ на: комментарий от PIKNIK

В общем пришёл Сталин доктор и сказал «Расстрелять!» «Заменить!».

Почитал я исходники, ничего явного не нашёл. В итоге дело решилось в разы проще: скачал образ Ubuntu LiveCD, вытянул оттуда ихнюю программу (называется casper) и просто тупо подкинул её к АльтЛинуксовскому дистрибутиву. К моему удивлению всё корректно загрузилось. Нужно было только чуть X-ы донастроить и модули ядра из UbuntuLIVE-образа перенести. (метод создания LiveOS у них схожие. Разница в деталях).

Попробовал сиё чудо в работе - грузится идеально: не только пропало стопорение, но и время загрузки увеличилось в 2 раза.

Отлично! Сейчас оглядываясь назад, считаю, что выбор в качестве дистрибутива AltLinux было не самой лучшей идеей. Дело не в самом дистрибутиве (сам АльтЛинукс очень хорош), а комбинации загрузки по сети в плохо администрируемой ЛВС и «нежной» программы Propagator.

Связки Casper+AltLinux сейчас работает отлично. Есть пару мелких косяков, но они легко игнорируются пользователем при должном давлении на него сисадмина. Но в будущем, судя по всему, нужно будет AltLinux заменить на, к примеру, Ubuntu.

PIKNIK
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.