BUG: shutting down the system because of error 2 = 'No such file or directory'

Привет.
Уже третий раз напрягает эта бага, причем, если в первые два я мог ее купировать, не останавливая процесс, то в третий мне придется ехать на объект, лезть в контроллер дебажным портом, останавливать ручками загрузку и только потом править конфиги. Потому что контроллер ребутается каждые 30 секунд по вочдогу и я просто не успеваю залезть снаружи.

Итак, по порядку. service nginx stop. Через несколько секунд вочдог ребутит контроллер. Я в обалдении. Лезу в логи - вижу сабж. Файл pid не найден, значит, надо ребутнуться. (?!!!) ОК, не тормозим nginx или заранее создадим pid на случай ядерной войны. Терпимо.

Вчера накосячил с конфигом москитты, виноват, да. Но теперь эта сво… ээ, прелесть не дает мне вернуть его на место, ибо контроллер уходит в ребут прямо сразу после загрузки демона. Если я успеваю сказать service stop, ребут по той же причине происходит ЕЩЕ быстрее.

Господа авторы! Я всю сознательную жизнь, когда разрабатывал софт для контроллеров, ставил вочдог на ЗАВИСАНИЕ процессов, а не случаи ненахождения файлов, пропадение вайфайки и проч. Линух не винда, это весьма живучая система, поверьте. У меня один забытый сервак работал 4 года после отвала всей дисковой системы - и умер только с ресета, когда грузиться было уже неоткуда. НЕ НАДО перезагружать его по каждому чиху!

Спасибо. Поеду в воскресенье реанимировать узел, непечатно.

1 лайк

Смотрите раздел wiki https://wirenboard.com/wiki/Watchdog. Отключите аппаратно, потом отредактируйте конфиг под свои нужды и проблема уйдёт.

Я знаю, как решить проблему превентивно. Теперь. До того я не подозревал о ее существовании. Вот в чем штука.
Сильно рекомендую выключить по дефолту к свиньям собачим ВСЕ капканы, ведущие к циклическому ребуту. Готов поверить, что в вашу команду затесался виндузятник, верующий в целебную силу перезагрузки: объясните ему, что, в отличие от окошек, линух НИЧЕГО лечебного (кроме fsck) по рестарту не запускает.

Я обычно отключаю watchdog до внесения изменений.

systemctl stop watchdog

И контроллер - не перезагрузится.
Потом тестирую измененное (перезапускаю брокер, nginx и прочее) и включаю watchdog снова.
И да, времени до перезапуска вполне хватает остановить ватчдог - даже если параметры неверные.

Пользователям надо чтобы контроллер работал. Если контроллер и не перезапустится - но начнет работать “не так” - это хуже.

Тогда это надо писать огромным болдом ПРЯМО на коробке. В противном случае к вам не вернутся, а купят другое железо, без засад типа этой.

Пользователь нажимает выключатели, к мозгам его ни на выстрел нельзя. Технарю же не надо МЕШАТЬ работать. Эта конкретная подлянка отняла лично у меня день жизни. А жизнь очень коротка. Я уж как-нибудь сам бы решил, нужны ли мне вочдоги по пропадению пидфайла (не процесса!! Это ж еще додуматься, блин, нужно было…) или я таки настрою их по уму.

Еще раз: в отличие от могучей реанимационной системы винды при ребуте, линух НЕ ПОЧИНИТ САМ то, что сломано при настройке. Чудес тут не бывает и НЕ ДОЛЖНО бывать. Увольняйте виндузятника засланного.

Сильно не поддерживаю Вашу позицию и предлагаю обдумать ее еще. С уважением.

Жаль, конечно. Но вообще - файл конфига лежит в /etc, вполне себе настраивается.
А что не так с пид-файлом? watchdog смотрит - существует ли процесс обозначенный в файле. Шатное вполне поведение.
Ну и watchdog можно совсем отключить, при желании: Wiren Board 6 — Wiren Board

Конечно не починит. Он прост и понятен - делает ровно то что от него просят.

Обдумаем, конечно. Но и отказываться от watchdoga не будем. Да, крупными буквами напишем - кому функциональность не нужна - отключат совсем. Кому нужна - не будут отключать.

Еще раз - нет проблем! ЕСЛИ об этом знать заранее. Сегодня на очередном контроллере из коробки я сразу всё вычистил.

Всё ли, узнаем позднее…

Процесс осыпался, файл остался, собака спит. Вопрос - напса тут собака?

Вы попросили циклический ребут с невозможностью залезть снаружи и починить очепятку. Я не поддерживаю эту идею, мне такое в страшном сне бы не приглючило. Впрочем, я повторяюсь.

Удачи.

Так если нет процесса, номер которго в файле - это ж тревога. Не наличие файла проверяется, точнее не только, еще процесс должен быть.

Секунд 10 точно есть чтоб зайти и остановить ватчдог.
Да, дополнил вики: Wiren Board 6 — Wiren Board

Dixi.