Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
WATCHDOG_TIMEOUT Linux / DevOps

Настройка демона Watchdog в Linux для автоматического перезапуска серверов

Обновлено: 21.08.2026
  • Сервер зависает в hard lockup без ответа по SSH, сети и консоли IPMI.
  • Службы выходят из строя из-за дедлоков или исчерпания памяти без авторебута.
  • Требуется постоянный контроль доступности шлюза, PID демонов и порога Load Average.

1. Загрузка модуля сторожевого таймера

modprobe softdog
echo "softdog" > /etc/modules-load.d/watchdog.conf

2. Установка и настройка демона 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 = 1

3. Запуск сервиса

systemctl enable --now watchdog
systemctl status watchdog

4. Альтернатива: Встроенный Watchdog в systemd

В файле /etc/systemd/system.conf настройте:

[Manager]
RuntimeWatchdogSec=15s
RebootWatchdogSec=3min
systemctl daemon-reexec
Практический опыт инженера: Для физических серверов Enterprise-класса всегда используйте модуль ipmi_watchdog или i6300esb (в KVM) вместо программного softdog для обеспечения аппаратного сброса питания чипсетом.

Частые вопросы (FAQ)

Что произойдет, если демон watchdog аварийно упадет?

Если процесс упадет без корректной записи 'волшебного символа' V в /dev/watchdog, аппаратный таймер не получит пинг и перезагрузит сервер через watchdog-timeout секунд.

Как проверить работу сторожевого таймера без сбоя ядра?

Принудительно завершите процесс через killall -9 watchdog. Сервер перезагрузится через установленный таймаут таймера.