0、Kdump 的概念出现在 2005 左右,是迄今为止最可靠的内核转存机制,已经被主要的 linux™ 厂商选用
LKCD(Linux Kernel Crash Dump),netdump,diskdump 已被纳入 LDPs(Linux Documen-tation Project) 内核。SUSE 和 RedHat 都对 kdump 有技术支持。
1、kdump是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务;
2、安装&配置
安装:sudo apt-get install linux-crashdump ubuntu版本
配置/etc/kdump.conf文件,指定vmcore 将被转储的路径。可以通过scp拷贝到另一个服务器,也可以是裸设备,或者本地的文件系统。
启动kdump服务:service kdump start
触发:可以通过kexec加载内核镜像,让系统准备捕获一个崩溃时产生的vmcore。可以通过sysrq强制系统崩溃
echo "c" > /proc/sysrq-trigger
这造成kernel panic,紧跟着系统重启kdump内核。当启动进程进入到启动kdump服务器时,vmcore将会被拷贝到你在/etc/kdump.conf文件中指定的位置
注意:当系统崩溃 时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内核(capture kernel),以很小内存启动,并且捕获转储镜像。
3、 配置保留内存用来转储
对于i386和x86_64架构,编辑/etc/grub.conf启动配置文件,在内核行的末尾添加 crashkernel=128@16M,例如:
root (hd0,0) kernel /boot/vmlinuz-2.6.17-1.2519.4.21.el5 ro root=LABEL=/ rhgb quietcrashkernel