Автоматическая перезагрузка сервера на Unix/Linux при Kernel panic
В статье «Автоматическая перезагрузка сервера на Unix/Linux при Kernel panic» я расскажу что такое kernel panic и как можно с ним бороться.
Kernel panic — Это вывод сообщения о критическом сбое (ошибке) ядра ОС (Unix/Linux), после чего операционная система завершает свою работу.
Причины которые приводят к Kernel panic
Причиной в Kernel panic, чаще всего, приводят критическая аппаратная ошибка (например, отказ RAM, ошибки в самом процессоре или другого критически важного устройства), могут привести к панике и ошибки в самом ядре на вашей операционной системы, например попытка обращения к ошибочному или запрещённому адресу в памяти. Могут быть ошибки в драйверах периферийных устройств или ошибки в файловой системе.
В теории, ошибки в прикладных программах в современных ОС не должны приводить к Kernel panic, т.к ошибки должны корректно обрабатываться самим ядром.
Сейчас проверим какой параметр присвоен при kernel panic
# cat /proc/sys/kernel/panic
Так же можно еще выполнить:
# sysctl -a | grep kernel.panic
kernel.panic = 0
Цифра 0 — говорит ОС что не выполнять никакого ребута при возникновении kernel panic, простое ожидание системного администратора ( пока он сам не перезапустит сервер).
Если установлен параметр в 0, что очень не удобно, а нужно чтобы сервер перезапускался сам, скажем через 30 секунд после того как возникла паника ядра ОС, то следует выполнить:
# echo "30" > /proc/sys/kernel/panic
Но он будет выполняться только 1 раз, по этому если хотите чтобы он выполнялся автоматически, пропишем в файле /etc/sysctl.conf следующее:
# vim /etc/sysctl.conf
kernel.panic=30
Я бы советовал ставить не сильно много секунд на выполнение, обычно ставлю в приделах от 5 до 10 секунд.
На этом статья моя «Автоматическая перезагрузка сервера на Unix/Linux при Kernel panic» завершена, спасибо что посещаете мой сайт http://linux-notes.org, надеюсь я нормально пишу и к тому же понятно все. Если нет, то пишите мне замечания, я постараюсь исправиться.
> Я бы советовал ставить не сильно много секунд на выполнение, обычно ставлю в приделах от 5 до 10 секунд.
Прежде чем писать такую рекомендацию то стоило бы объяснить, почему такие непонятные «приделы»
Например, я ставлю 600 секунд — и ничего, срабатывает нормально.