Как я могу увидеть логи на сервере после зависания паники ядра?

10

Я использую производственную машину Gentoo Linux, и недавно была ситуация, когда сервер зависал в моем расположенном рядом помещении, и когда я туда попал, я заметил, что сервер завис на том, что казалось зависанием ядра. Я перезагрузил машину с жесткой перезагрузкой и с разочарованием обнаружил, что нигде не смог найти ни малейшего доказательства того, почему машина зависла.

Правда ли, что когда я делаю полную перезагрузку, само сообщение теряется или есть настройка, которую я могу сделать где-нибудь, скажем, в syslog-ng или, может быть, в sysctl, чтобы хотя бы сохранить журнал ошибок, чтобы я мог предотвратить такие неудачи в будущем ? Кстати, я использую ядро ​​2.6.x.

Заранее спасибо.

Низкий Киан Сон
источник

Ответы:

5

Чтобы зарегистрировать панику ядра, использовать netconsole намного проще, чем использовать последовательную связь;)

Есть полезная запись об этом в вики Ubuntu, которую можно использовать в других версиях Linux ... Помогли мне, например, с archlinux.

Обратите внимание, что netconsole также можно настроить при загрузке.

Винсент
источник
4

Обычно в этих ситуациях я настраивал удаленную последовательную консоль, а затем проверял все, что появляется на консоли. Вы можете сделать это, подключив последовательный порт устройства к другому устройству с помощью кабеля RS-232. Это может быть немного сложнее в наши дни, поскольку последовательные порты постепенно исчезают, но я думаю, что большинство серверов все еще имеют их.

Затем на другом компьютере запустите conserver и настройте ведение журнала консоли. Это обеспечивает хороший способ как регистрировать все на консоли, так и предоставлять альтернативный путь входа в систему.

Если вы не хотите устанавливать и администрировать другой Linux-бокс, альтернативой является установка сервера последовательной консоли. Различные компании, такие как Avocent, Cyclades и Raritan, производят эти устройства, которые обеспечивают сетевой интерфейс для 2-48 последовательных портов. Однако такого рода вещи, конечно, будут стоить дороже, чем просто установить еще одну Linux-коробку.

Фил Холленбек
источник
4
В дополнение к ответу Фила обратите внимание, что многие (большинство?) * Системы NIX будут выгружать ядро ​​/ ОЗУ в раздел подкачки в случае паники и копировать дамп в /var/crashили /var/adm/crashпосле перезагрузки, чтобы позволить вам атаковать его с помощью отладчика. и посмотреть, где произошла паника. Тем не менее, последовательная консоль по-прежнему является отличным вариантом, поскольку она позволяет вам увидеть, что было последним, что сделал сервер перед panic()запуском.
voretaq7
0

Вы можете попробовать скопировать сообщения системного журнала на другой компьютер. Может быть, не все из них, а только предупреждения и критические и отключить кеширование для них.

dtoubelis
источник