Назад | Перейти на главную страницу

Netconsole не работает

Я установил netconsole на сервере, на котором в последнее время происходили различные паники ядра, и я пытаюсь записывать сообщения ядра на другой сервер. Я протестировал netconsole после настройки ее на хост-сервере, запустив сеанс netcat и введя несколько случайных битов данных. Они без проблем поступают на сервер захвата, и я могу просматривать текст в файле журнала, который я настроил.

Однако ничего, что записывается в dmesg (т.е. сообщения ядра), не пересылается на сервер захвата. Мой printk установлен на 6 1 4 7 (я тоже поднялся до 8 1 4 7) и ничего. Я пробовал включать / отключать модули с помощью modprobe, но не получил вывода на сервер захвата.

Любые советы по этому поводу будут оценены, поскольку я не уверен, что еще проверить на данном этапе, поскольку все, по-видимому, настроено правильно.

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

Вы проверили настройку сетевой консоли, все MAC-адреса указаны правильно? В документация красиво и подробно. После того, как вы загрузили модуль с соответствующими атрибутами, вы можете протестировать его, написав в / dev / kmsg как root:

# echo my kernel message > /dev/kmsg

В качестве альтернативы, вызвать дамп памяти или сбой с помощью sysrq. Netconsole должна забрать это и отправить вашей цели. Tcpdump очень полезен для проверки того, какие пакеты отправляются во время тестирования. Что-то вроде этого поможет вам начать (примечание -e, которое будет включать адреса Ethernet):

# tcpdump -i eth0 -n -e port 514

Вы упоминаете, что хотите фиксировать панику. Природа этих паник может быть такой, что они полностью убивают систему до того, как netconsole (или kexec / kdump) сможет что-либо сделать (как это было в случае недавних проблем с дополнительной секундой), или вы действительно можете получить успешные записи журнала .

Кстати, альтернативой netconsole является использование kexec + kdump средства ядра. При "управляемой" панике ядро ​​будет kexec ядро ​​с поддержкой kdump, которое загрузит минимальный initrd, а затем запишет дамп ядра на диск. Позже его можно будет проанализировать с помощью таких инструментов, как крушение.