Я поискал в Google аварийные дампы ядра, и, хотя я нашел много информации о том, что это такое и как их настроить, мне не удалось получить рекомендации о том, должны ли они быть включены или отключены на производственном сервере.
Насколько я понимаю, аварийные дампы ядра в основном полезны для разработчиков, которые отлаживают ядра.
Будет ли включение аварийных дампов ядра какой-либо ценностью для среднего системного администратора? И если да, то есть ли у их включения недостатки (например, введение уязвимостей в системе безопасности или нарушение работы систем с низким объемом памяти)?
Обычно аварийные дампы или запуск аварийных ядер - это то, чем вы хотите ограничиться, когда пытаетесь отладить конкретную проблему или проблему на рабочем сервере.
Есть две причины для этого:
1- Аварийные дампы или файлы ядра могут занимать место на диске, и в зависимости от того, как вы это настроили, это может быть небольшой объем или все содержимое памяти. Это может вызвать проблемы с дисковым пространством и, в зависимости от частоты сбоев, может очень быстро заполнить диск.
2 - Запуск чего-то вроде kdump, kexec или аварийного завершения ядра требует дополнительной памяти. При правильной настройке это может быть не проблема, но это то, о чем следует подумать для систем, работающих на грани бритвы, в отношении использования памяти.
У RedHat есть действительно хорошее руководство по настройке kexec и kdump:
Обычно это отличные инструменты для отладки, но они не предназначены для использования на долгосрочных стабильных производственных серверах.
Отличный вопрос. Я настоятельно рекомендую оставить их включенными с оговоркой ... в команде должен быть кто-то, кто сможет их понять. Способность понимать подсистемы Linux на том уровне, на котором будет полезна проверка файла дампа, определенно является продвинутым уровнем. Тем не менее, дамп будет включать информацию о том, что вызвало проблему и какой процесс или системный вызов был виновником нарушения, и может быть очень полезным в среде с разработкой или созданным пользовательским кодом.