kdump介绍

kdump

  1. kdump介绍

    kdump是内核崩溃现场信息收集工具。当一个内核崩溃后(kernelpanic),内核会调用kexec内核引导加载程序,把当前内核换掉,进入到一个干净的备份内核(只使用少量内存,由第一个内核预留放在一块树存中),干净的内核启动后,仍旧是用户态服务初始化,这时会使用kdemp工具从内核读出需要的信息,再写到磁盘上的一个vmcore内核崩溃转储文件中。(麒麟服务器系统默认启用)
     

  2. kdump安装

    系统内核崩溃信息收集工具由kexec-tools安装包提供

    • 安装:yum install kexec-tools (默认已安装)
    • 配置grub:vim /etc/default/grub ;
      在GRUB_CMDLINE_LINUX配置项这里加入crashkernel=256M,如下图所示:
      file
    • 更新grub.cfg
      Legacy模式: grub2-mkconfig  -o  /boot/grub2/grub.cfg
      UEFI模式: grub2-mkconfig  -o  /boot/EFI/kylin/grub.cfg

       

  3. kdump配置

    kdump配置文件:/etc/kdump.conf,保留默认即可;
    kdump保存vmcore的默认存储路径:/var/crash/
    kdump配置检查:

    • 检查是否分配了崩溃的内存
      cat  /sys/kernel/kexec_crash/size
      cat  /proc/iomem | grep "Crash kernel"
    • 检查kdump预留内存大小:kdumpctl showmem
       
  4. kdump测试

    kdump运行功能是否正常(触发内核崩溃):

    echo 1 > /proc/sys/kernel/sysrq  #开启sysrq功能,默认关闭
    echo c > /proc/sysrq-trigger  #产生空指针触发kernel panic
    查看是否生成vmcore文件

     

  5. kdump预留内存建议

    物理内存 建议预留内存
    >2GB 256M
    >12GB 512M
    >48GB 768M
    >128GB 1024M
发表回复 0

Your email address will not be published.