Menu Close

11.9. 在使用加密磁盘的系统中运行 kdump

当您运行 Linux 统一密钥设置(LUKS)加密分区时,系统需要特定的可用内存。如果系统没有足够的所需内存量,systemd-cryptsetup 服务将无法挂载分区。因此,在第二个内核(捕获内核)中将 vmcore 文件捕获到加密的目标位置会失败。

kdumpctl estimate 命令可帮助您估算 kdump 所需的内存量。它输出推荐的 crashkernel 值,这是 kdump 所需的最合适的内存大小。

建议的 crashkernel 值根据当前的内核大小、内核模块、initramfs 和 LUKS 加密的目标内存要求计算。

如果您使用自定义 crashkernel 选项,kdumpctl estimate 会显示 LUKS 所需的大小值。值是 LUKS 加密目标所需的内存大小。

流程

  1. 输出估计的 crashkernel 值:

    # kdumpctl estimate
    
    Encrypted kdump target requires extra memory, assuming using the keyslot with minimum memory requirement
       Reserved crashkernel:    256M
       Recommended crashkernel: 652M
       Kernel image size:   47M
       Kernel modules size: 8M
       Initramfs size:      20M
       Runtime reservation: 64M
       LUKS required size:  512M
       Large modules: none
       WARNING: Current crashkernel size is lower than recommended size 652M.
  2. 通过将 crashkernel 增加到所需的值来配置所需的内存量。

    # grubby –args=”crashkernel=652M” --update-kernel=ALL
  3. 重启以使更改生效。

    # reboot
注意

如果 kdump 服务仍无法将转储文件保存到加密目标,请逐渐增加 crashkernel 值以配置适当数量的内存。