Menu Close

11.8. 防止内核驱动程序为 kdump 加载

这部分论述了如何使用 /etc/sysconfig/kdump 配置文件,防止捕获内核加载某些内核驱动程序。您可以防止 kdump initramfs 加载指定的内核模块。为实现这一目标,您需要将 KDUMP_COMMANDLINE_APPEND= 变量放在 /etc/sysconfig/kdump 文件中。这有助于防止内存不足(oom)终止程序或其他崩溃内核失败。

您可以使用以下配置选项之一附加 KDUMP_COMMANDLINE_APPEND= 变量:

  • rd.driver.blacklist=<modules>
  • modprobe.blacklist=<modules>

步骤

  1. 选择您要阻止加载的内核模块。

    $ lsmod
    
    Module                  Size  Used by
    fuse                  126976  3
    xt_CHECKSUM            16384  1
    ipt_MASQUERADE         16384  1
    uinput                 20480  1
    xt_conntrack           16384  1

    lsmod 命令显示载入到当前运行的内核的模块列表。

  2. 更新 /etc/sysconfig/kdump 文件中的 KDUMP_COMMANDLINE_APPEND= 变量。

    # KDUMP_COMMANDLINE_APPEND="rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv"

    另外,使用 modprobe.blacklist=<modules> 配置选项参考以下示例。

    # KDUMP_COMMANDLINE_APPEND="modprobe.blacklist=emcp modprobe.blacklist=bnx2fc modprobe.blacklist=libfcoe modprobe.blacklist=fcoe"
  3. 重启 kdump 服务。

    # systemctl restart kdump

其他资源

  • dracut.cmdline 手册页