Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
11:10, 29 мая 2016

Простая настройка watchdog

Blog post image

Если вам надо перезапускать сервер при сбоях, обратите свое внимание на watchdog. Watchdog в переводе с английского звучит так - "сторожевой пес". То есть это такой "пес", который следит за состоянием ОС (программ) и если вдруг система перестала отвечать, сторожевой пес, инициирует процедуру перезагрузки ПК.

Есть программные (softdog) и аппаратные реализации watсhdog. Я покажу простой пример программного мониторинга (softdog) сетевой карты, если пинг через эту карту пропадет, сервер будет перезапущен с помощью watchdog. Обычно под аппаратным wathdog'ом понимается специальный USB адаптер, встроенная  в мат. плату микросхема или одно-платный ПК типа MX233-OLinuXino. Если внешний USB адаптер, то он соединяется с контактами RESET на материнской плате. Далее демон watchdog через драйвер периодически посылает сигналы USB адаптеру, тем самым говоря ему, что компьютер работает нормально. Как только сигналы перестают поступать на USB контроллер, происходит замыкание контактов RESET и компьютер начинает перезагружаться. Примерно это выглядит так:

Blog post image

Рис. 1 - Адаптер USB Watchdog подключенный к контактам RESET материнской платы.

Для сервера программный Watchdog плохой выбор, лучше использовать аппаратный способ перезагрузки. Есть готовые схемы с драйвером, с помощью ЛУТ (лазерно-утюжная технология) можно создать готовый wathcdog. Также вы можете купить готовый железный Wathcdog, обязательно смотрите чтобы в комплекте шел драйвер для ОС.

 

Устанавливаем watchdog:

# yum install watchdog -y

Теперь сделаем простую задачу, будем пинговать сервер 8.8.8.8 (google DNS). Если пинг пропадет, сервер будет перезагружен.

Откроем файл /etc/watchdog.conf и впишем в него настройки:

ping = 8.8.8.8
interface = enp0s3
interval = 20

В этом файле я вписал что мы будем проверять командой пинг сервер 8.8.8.8 по сетевому интерфейсу enp0s3

Теперь запустим службу watchdog:

# systemctl start watchdog

И поставим на автозапуск во время загрузки:

# systemctl enable watchdog

Проверим автоматическую перезагрузку если пропадет пинг на хост 8.8.8.8, отключим адаптер enp0s3:

# ifdown enp0s3

После 3-5 секунд видим как перезагружается сервер :)

 

Источник:

Using the Watchdog Timer in Linux

Устройство мониторинга сервера "watchdog"

0
5025
0