Netdump是客户端-服务器端的结果,假如需要使用的话,需要同时在服务器,客户端进行配置。
Linux的Netdump实际跟Windows的Dump差不多,就是在内核发生崩溃的时候把内存里面的内容存放在一个文档供所后Troubleshooting分析。windows是存在系统分区下windows目录,名字是以Memory.dmp 命名的。而在Unix一般在kernel crash发生的时候存放在SWAP分区。
Linux一般情况下是一台由中央服务器提供给企业任何的服务器做Netdump,就像syslog server相同。Netdump有两个功能,一个是在Kernel Crash的时候Client会通过UDP把他的MEMORY DUMP到服务器这个叫Netdump.另一个是把控制台上的信息发送到syslog服务器,这个叫netsole,因为kernel出问题的时候会在屏幕上显示一些信处,假如管理员不能接触到
服务器的话,能够看syslog服务器来看当时console上显示的信息,这个功能叫netsole,这个功能的服务依赖于syslogd的功能。
I. 配置
netdump服务器配置:
1.检验netdump服务器是否安装完毕:
# rpm -q netdump-server
如果未安装,执行命令:
# up2date netdump-server
进行安装。
2.以root用户,输入:
# passwd netdump
提供一个密码给netdump,就像提供普通用户密码一样。
3.打开并运行服务器:
# chkconfig netdump on
# service netdump start
netdump客户端配置:
1.校验客户端是否已安装:
# rpm -q netdump
如果未安装执行命令:
# up2date netdump
进行安装。
2.编辑文件/etc/sysconfig/netdump,设置NETDUMPADDR变量为netdump服务器的地址。比如:
NETDUMPADDR=192.168.0.3
SYSLOGADDR=192.168.0.3
3.然后执行:
# service netdump propagate
提供在netdump服务器上设置的密码。
4.打开并运行netdump服务:
# chkconfig netdump on
# service netdump start
II. 测试
为了测试netdump的配置是否正确,在netdump客户机上做下面操作:
# echo "c" > /proc/sysrq-trigger
这会造成系统崩溃,你会在netdump服务器的/var/crash/<客户端IP>/目录下,看到一个核心转储。当客户机正在转储数据到服务器的时候,你会看到一个名叫“vmcore-incomplete"的文件。当转储结束后,该文件会改名成 "vmcore"。
"vmcore"文件的大小会变化,可能达到几个GB.在一个内存是512M的系统上,上面的测试会产生大约510M的vmcore文件。
III. 解决问题
Netdump客户端服务启动失败,一般是因为NIC或者模块不兼容的问题。如果遇到这种问题,插入模块时,你要注意错误信息。
Netdump并不能支持所有的NIC,所以你要确保你的NIC和netdump兼容。下面是在写本文的时候,支持的NIC列表:
1. Broadcom bcm57xx 使用tg3驱动。 在bcm5700驱动下不能工作。
2. 3Com 3c59x
3. Intel eepro100 and e100
4. tlan
5. tulip
阅读(1295) | 评论(0) | 转发(0) |