LINUX.ORG.RU
ФорумAdmin

Автоматическая перезагрузка зависшей системы

 ,


1

3

Приветствую.

Возможно ли перезапустить автоматически систему в случае если она намертво зависла? Имеется сервер (на основе обычного пк), и время от времени, обычно раз в несколько дней, он намертво виснет. Причин не знаю, да и как диагностировать тоже. В логах чего-то криминального не вижу, но последняя запись почти всегда «Failed to connect to coredump service: Connection refused». Однако вопрос не в этом.

Возможно но ли заставить систему перезагрузиться в случае такого фриза? Например повесить хук на появление этой ошибки?

Пока мне в голову пришло только подключить ардуину и написать программу, которая раз в некоторое время будет посылать пинг на ардуину, и в случае его отсутствия замыкать контакты sw reset.

У тебя в сервере наверняка уже есть watchdog, иногда их аж два — в чипсете и в микросхеме мониторинга, которая температуру на матери измеряет, напряжения, управляет вентиляторами и т.п. У меня это «Intel TCO Timer/Watchdog» (модуль ядра iTCO_wdt) встроенный в чипсет Intel C604 и «Watchdog timer for W83627HF/W83627DHG and compatibles» (модуль w83627hf_wdt) встроенный в микросхему мониторинга nct6779.

Находятся они в menuconfig ядра «Device Drivers > Watchdog Timer Support». Какие они у тебя — изучай своё железо. Чипсет я думаю ты и сам знаешь, а микросхему мониторинга sensors-detect из пакета lm-sensors тебе нащупает. А дальше читай описания модулей ватчдогов в menuconfig, там написано под какое они железо, гугли и т.п. Проверь настройки БИОС, там может быть соответствующий пункт, а может и не быть, от вендора зависит.

Потом прописывай понравившийся модуль в загрузку, читай https://www.kernel.org/doc/html/latest/watchdog/index.html , настраивай демон watchdog, который буде мониторить /dev/watchdog.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Почему нет, аппаратный ватчдог так и работает.

Колхоз на ардуине то зачем, когда ватчдог уже испокон веков в любых серверах изначально присутствует? И не только в серверах, но и в десктопах тоже. И достаточно просто научиться им пользоваться.

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

Прочитай про условия его срабатывания в документации, я не зря ссылку на неё принёс. kernel panic бывает разный. В systemd кстати есть и софтварный ватчдог, можешь его тоже поизучать. Но он конечно же ничем не поможет в случае «жёсткого» зависания, для этих случаев как раз аппаратные используются.

Jameson ★★★★★
()

Вышесказанное будет не решением, а обходом, поэтому рекомендуется помимо этого еще в отдельной теме спросить, как починить зависания, указав конфигурацию сервера inxi -Fz, лог после падения, реагирует ли на REISUB и после чего перестало работать как надо.

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

Он подключается проводом к разъему перезагрузки на мат. плате, и если компьютер перестает по USB отправлять команду сброса таймера, то замыкаются контакты перезагрузки.

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

Ясно, обычный «внешний» ватчдог для тех кому проще заплатить чем настроить тот что у них и так уже в железе есть. IMHO сейчас чипсетов без встроенного ватчдога просто не делают. Хотя я читал пару раз что по причине кривизны рук китайских инженеров и БИОСописателей встроенный ватчдог может быть остановлен и не включаться из ОС, так как нужный регистр на запись заблокирован. Лично с таким ни разу не встречался пока.

Jameson ★★★★★
()

зависит от степени «мёртвости» зависания. Если реагирует только на Alt+SysRq+b, то, боюсь, перезагрузить можно только робо-манипулятором, нажимающим эти волшебные кнопочки…

VenturiTube
()

попробуй так:

    /proc/sys/kernel/panic

    This file gives read/write access to the kernel variable panic_timeout. If this is zero, the kernel will loop on a panic; if nonzero it indicates that the kernel should autoreboot after this number of seconds. When you use the software watchdog device driver, the recommended setting is 60.
router ★★★★★
()

Имеется сервер (на основе обычного пк)
он намертво виснет.
Пока мне в голову пришло только подключить ардуину и написать программу
и ... замыкать контакты sw reset.

А мыслей, что с железом что-то не так, ещё не приходило?

anc ★★★★★
()

мне в голову пришло только подключить ардуину

Почему именно ардуину? Как вы приходите к такой мысли. Это ж образовательный проект.

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

А все эти вочдоги будут работать если фриз происходит из-за kernel panic?

по идее да, потому что они работают в обратную сторону. Софтина периодически сбрасывает счетчик вачдога в начальное значение. Если она это не сделает или зависнет хоть вся система, ватчдог досчитает до нуля и перезагрузит комп.

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

В целом вы правы, изначально так и планировалось. Но дополню «собака» «давно» это не обязательно «про ребут». Слишком много нюансов. «Собака» может выполнить reset для определенной карты в pci-e например, но не всей системы.

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

софтварный ватчдог

Он таки аппаратный использует. Программный это для управления конкретными сервисами

Starting with version 183 systemd provides full support for hardware watchdogs (as exposed in /dev/watchdog to userspace), as well as supervisor (software) watchdog support for invidual system services.

antonvaino
()
Ответ на: комментарий от mark1

Перевираете на корню.
1. Не звонил.
2. Звонили (в звонок) поинты которым таки это было нужно.
ЗЫ Даже если первично это прошло и байкой, то потом некоторые такое реально делали.
ЗЫЫ Вспомнил. Вариант проще был, для случая когда автоматы на лестничной площадке, народ просто им выкл/вкл делал.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 2)

Раз уж тема превратилась в вечер старых анекдтов, то вспомню аппаратный ватчдог в виде системника напротив, так чтобы площадка CD-привода выезжала по удалённой команде и нажимала кнопку «reset».

Upd. Или по «пингу» серевера, я уже не помню подробностей.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Раз уж тема превратилась в вечер старых анекдтов, то вспомню аппаратный ватчдог в виде системника напротив, так чтобы площадка CD-привода выезжала по удалённой команде и нажимала кнопку «reset».

Это было хохмочкой, не более того. Но стоит отметить, на момент публикации эта хохмочка реально была весьма продуманной! :)

Upd. Или по «пингу» серевера, я уже не помню подробностей.

ЗЫ Изначально это было про фидо, но позже ньюфаги «трансформировали» в работу инета :)

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от vvn_black

Изначальный вариант звучал очень приблизительно так: «Я завел reset на кнопку звонка, но если будете часто звонить, то сработает программа которая выдвинет лоток сидюка к которому закреплен шнур питания и дальше ждите пока я не вернусь из отпуска». :)
Позже это переродилось во всякие другие варианты хохм использования возможностей софтверного пинания лотка привода :)

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)

Тема похожа на эту, Странное поведение: firefox нельзя убить, sync не завершается, все дружно бросились решать следствие, а не причину, потому что ТС именно так задал вопрос.

Обычно на ЛОРе это называют Проблема XY. )

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
3 июня 2023 г.
Ответ на: комментарий от mark1

я был знаком с этим сисопом

Это ничего не меняет, я вам тоже мог бы подобную байку в уши залить.

Если уезжал, а станция зависала

Если он уехал, то откуда он узнавал что станция зависла?

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

тогда уже существовали другие средства связи, кроме ФИДО, прикинь?

И договорённость об этом существовала заранее. Если нода не отвечает в ЗМХ, значит, висит.

Что тебе ещё неясно, мой молодой неизвестный собеседник?

Имя сисопа? Адрес станции? Его телефон?

mark1
()
Последнее исправление: mark1 (всего исправлений: 1)
Ответ на: комментарий от mark1

тогда уже существовали другие средства связи, кроме ФИДО, прикинь?

Какие например?

И договорённость об этом существовала заранее. Если нода не отвечает в ЗМХ, значит, висит.

Вот это уже понятный ответ.

Имя сисопа? Адрес станции? Его телефон?

Достаточно ответа на второй вопрос.

anc ★★★★★
()