WATCHDOG_TIMEOUT
Linux / DevOps
Настройка демона Watchdog в Linux для автоматического перезапуска серверов
- Сервер зависает в hard lockup без ответа по SSH, сети и консоли IPMI.
- Службы выходят из строя из-за дедлоков или исчерпания памяти без авторебута.
- Требуется постоянный контроль доступности шлюза, PID демонов и порога Load Average.
1. Загрузка модуля сторожевого таймера
modprobe softdog
echo "softdog" > /etc/modules-load.d/watchdog.conf2. Установка и настройка демона watchdog
apt-get install -y watchdog || dnf install -y watchdogОтредактируйте /etc/watchdog.conf:
watchdog-device = /dev/watchdog
interval = 5
watchdog-timeout = 60
max-load-1 = 50
min-memory = 25000
ping = 192.168.1.1
interface = eth0
realtime = yes
priority = 13. Запуск сервиса
systemctl enable --now watchdog
systemctl status watchdog4. Альтернатива: Встроенный Watchdog в systemd
В файле /etc/systemd/system.conf настройте:
[Manager]
RuntimeWatchdogSec=15s
RebootWatchdogSec=3minsystemctl daemon-reexec
Практический опыт инженера:
Для физических серверов Enterprise-класса всегда используйте модуль ipmi_watchdog или i6300esb (в KVM) вместо программного softdog для обеспечения аппаратного сброса питания чипсетом.
Частые вопросы (FAQ)
Что произойдет, если демон watchdog аварийно упадет?
Если процесс упадет без корректной записи 'волшебного символа' V в /dev/watchdog, аппаратный таймер не получит пинг и перезагрузит сервер через watchdog-timeout секунд.
Как проверить работу сторожевого таймера без сбоя ядра?
Принудительно завершите процесс через killall -9 watchdog. Сервер перезагрузится через установленный таймаут таймера.