基础概念
kdump中的重要部分:kexec,由两块构成:其一是内核空间的系统调用kexec_load,作用是在生产内核production kernel 启动时将捕获内核catpure kernel加载到指定地址;其二是用户空间的工具kexec-tools,将捕获内核的地址传给生产内核,从而在系统奔溃的时候能够找到捕获内核的地址并运行。
换句话说,kexec的两部分,第一是当生产内核启动时,会给捕获内核分配一部分地址空间;第二是在系统崩溃时,会将捕获内核的地址传给生产内核并顺利运行。
kdump作为可靠的内核转存机制,正是基于kexec设计的内核奔溃转储机制。系统奔溃时,kdump使用kexec启动捕获内核,目的是用很小的内存启动去捕获转储镜像。内核崩溃转储的本质:kdump通过kexec启动捕获内核,不需要通过BIOS就可以完成启动,因此第一内核的部分内存得以保留,并给捕获内核使用。
捕获内核会在生产内核系统崩溃时启动,与ramdisk组建一个小环境,收集和转存生产内核的内存。
在内核崩溃前,会将所有关于核心映像的必要信息都