分类: LINUX
2010-01-27 17:52:29
netdump是C/S模式,需要配置服务端和客户端。
netdump包括netdump和netconsole两个部分:
1. netdump,客户端在kernel crash时通过UDP把memory dump到服务端。
2. netconsole,把控制台信息(例如prink()信息)发送到服务端。
软件环境:
S:netdump-server-0.7.14-4
C:netdump-0.7.7-3
配置方法:
S:
1. 确保/var/crash有足够的空间。
2. 设置netdump用户的密码。
3. 启动sshd服务。
4. 启动netdump-server服务。(并设置服务的默认启动级别chkconfig --level 345 netdump-server on)
5. 对于netconsole,需要特别设置/etc/sysconfig/syslog,设置“SYSLOGD_OPTIONS="-m 0 -r"”。
6. 启动syslog服务。
C:
1. 在文件/etc/sysconfig/netdump中设置NETDUMPADDR和SYSLOGADDR为服务器的IP地址。设置DEV为本机使用的网络接口。
2. 拷贝DSA public key到服务端的netdump用户。
#service netdump propagate
将/etc/sysconfig/netdump_id_dsa.pub的内容追加到服务端的/var/crash/.ssh/authorized_keys2。
3. 启动netdump服务。(并设置服务的默认启动级别chkconfig --level 345 netdump on)(特别说明:如果在kernel-2.6中,使用netconsole,但不修改配置文件的方法是使用命令“modprobe netconsole netconsole=@/,@192.168.5.235/”,即“modprobe netconsole netconsole=[srcport]@[srcip]/[srcdev],[dstport]@dstip/[dstmac]”)
4. 建议关闭syslog服务。
测试方法:
1. 客户端插入内核模块。(printk())
2. 服务端生成文件“/var/crash/192.168.5.209-2006-04-13-16:29/log”。需要特别说明对每个客户端,服务端只会生成并使用一个log文件。
3. 如果测试netdump可以进入目录/usr/share/doc/netdump-0.7.7,测试方法参见README。