1.5. 配置 netconsole
如果磁盘日志记录失败或使用串行控制台,您可能需要使用内核调试。
netconsole 内核模块允许通过网络将内核消息记录到另一台计算机。
为了能够使用
netconsole,您需要具有一个在网络上正确配置的 rsyslog 服务器。
过程 1.1. 为 netconsole 配置 rsyslog 服务器
- 将
rsyslogd守护进程配置为侦听 514/udp 端口,并通过取消注释/etc/rsyslog.conf文件的MODULES部分中的以下行从网络接收信息:$ModLoad imudp $UDPServerRun 514 - 重启
rsyslogd服务以使更改生效:]# systemctl restart rsyslog - 验证
rsyslogd是否在侦听 514/udp 端口:]# netstat -l | grep syslog udp 0 0 0.0.0.0:syslog 0.0.0.0:* udp6 0 0 [::]:syslog [::]:*netstat -l 输出中的0.0.0.0:syslog和 [::]:syslog值表示rsyslogd正在侦听/etc/services文件中定义的默认netconsole端口:]$ cat /etc/services | grep syslog syslog 514/udp syslog-conn 601/tcp # Reliable Syslog Service syslog-conn 601/udp # Reliable Syslog Service syslog-tls 6514/tcp # Syslog over TLS syslog-tls 6514/udp # Syslog over TLS syslog-tls 6514/dccp # Syslog over TLS
Netconsole 使用 /etc/sysconfig/netconsole 文件进行配置,该文件是 initscripts 软件包的一部分。默认情况下会安装此软件包,它还提供 netconsole 服务。
如果要配置发送机器,请按照以下步骤操作:
过程 1.2. 配置发送机器
- 在
/etc/sysconfig/netconsole文件中设置SYSLOGADDR变量的值,以匹配syslogd服务器的 IP 地址。例如:SYSLOGADDR=192.168.0.1 - 重启
netconsole服务以使更改生效:]# systemctl restart netconsole.service - 在重启系统后启用
netconsole.service运行:]# systemctl enable netconsole.service - 在
/var/log/messages文件中或rsyslog.conf中指定的文件中查看来自客户端的netconsole消息。]# cat /var/log/messages
注意
默认情况下,rsyslogd 和 netconsole.service 使用端口 514。要使用不同的端口,请将 /etc/rsyslog.conf 中的以下行改为所需的端口号:
$UDPServerRun <PORT>
在发送机器上,取消注释并编辑
/etc/sysconfig/netconsole 文件中的以下行:
SYSLOGPORT=514
有关
netconsole 配置和故障排除提示的更多信息,请参阅 Netconsole 内核文档。