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