8.4. 内核
执行 kdump时,The radeon
驱动程序无法正确重置硬件
当从当前运行的内核引导内核时,比如在执行 kdump 进程时,radeon
内核驱动程序当前无法正确重置硬件。相反,kdump 内核意外终止,这会导致剩余的 kdump 服务失败。
要临时解决这个问题,在 kdump 中禁用 radeon
,方法是在 /etc/kdump.conf
文件中添加以下行:
dracut_args --omit-drivers "radeon"
之后,重启机器和 kdump。
请注意,在这种情况下,kdump 不会提供图形界面,但 kdump 可以成功完成。
(BZ#1168430)
在 Windows Server 2019 主机上与 RHEL 7 客户机控制台的连接速度较慢
当在 Windows Server 2019 主机上以多用户模式使用 RHEL 7 作为客户机操作系统时,连接到客户机的控制台输出目前所需的时间比预期要长。要临时解决这个问题,请使用 SSH 连接到客户端,或使用 Windows Server 2016 作为主机。
(BZ#1706522)
当将 dm_crypt 与 intel_qat 搭配使用时,内核可能会死锁
intel_qat
内核模块使用 GFP_ATOMIC
内存分配,这可能会在内存压力下失败。因此,当 dm_crypt
内核模块对加密卸载使用 iintel_qat
时,可能会发生内核死锁和可能的数据损坏。要临时解决这个问题,您可以选择以下任意一种:
- 更新至 RHEL 8
-
避免使用
intel_qat 进行
加密卸载(潜在的性能影响) - 确定系统不会面临过量内存压力
(BZ#1813394)
在 RHEL 7 的 Amazon c5a 机器上,vmcore 文件生成会失败
在 Amazon c5a 机器上,当使用 kdump
内核中的 扁平模式
配置时,高级可编程 Interrupt Controller(APIC)无法路由本地 APIC(LAPIC)的中断。因此,k dump
内核无法引导,并阻止 kdump
内核保存 vmcore
文件进行进一步分析。
要临时解决这个问题:
通过将
crashkernel
参数设置为256M
来提高崩溃内核大小:$ grubby-args="crashkernel=256M" --update-kernel /boot/vmlinuz-`uname -r`
通过编辑
/etc/sysconfig/kdump
文件来设置nr_cpus=9
选项:KDUMP_COMMANDLINE_APPEND="irqpoll" *nr_cpus=9* reset_devices cgroup_disable=memory mce=off numa=off udev.children- max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr novmcoredd hest_disable
因此,kdump 内核
使用 9 个 CPU 引导,在内核崩溃时会捕获 vmcore
文件。请注意,k
dump 服务可能会使用大量崩溃内核内存转储 vmcore
文件,因为它在 kdump
内核中启用了 9 个 CPU。因此,请确保崩溃内核的大小保留为 256MB,可用于引导 kdump
内核。
(BZ#1844522)
启用一些 kretprobes
可以触发内核 panic
使用以下 功能的 kretprobe
可能会导致 CPU 硬锁定:
-
_raw_spin_lock
-
_raw_spin_lock_irqsave
-
_raw_spin_unlock_irqrestore
-
queued_spin_lock_slowpath
因此,启用这些 kprobe
事件可能会遇到系统响应失败。在这种情况下会触发内核 panic。要解决这个问题,请避免为上述功能配置 kretprobes
,并防止系统响应失败。
(BZ#1838903)
kdump
服务在启用了 UEFI 安全引导的系统上失败
如果启用了 UEFI 安全引导的系统启动时没有最新的 RHEL 内核版本,kdump 服务
将无法启动。在描述的场景中,k
dump 报告以下出错信息:
kexec_file_load failed: Required key not available
此行为会因以下任一原因显示:
- 使用未更新的内核版本引导崩溃内核。
-
将
/etc/sysconfig/kdump
文件中的KDUMP_KERNELVER
变量配置为不最新的内核版本。
因此,k dump
无法启动,因此在崩溃事件中不会保存转储内核。
要解决这个问题,请使用以下方法之一:
- 使用最新的 RHEL 7 修复引导崩溃内核。
-
etc/sysconfig/kdump
中的 ConfigureKDUMP_KERNELVER
,以使用最新的内核版本。
因此,k dump
在上述场景中可以成功启动。
(BZ#1862840)
RHEL 安装程序可能无法检测 iSCSI 存储
RHEL 安装程序可能不会自动设置与 iSCSI 相关的内核命令行选项,用于卸载 iSCSI 主机总线适配器(HBA)。因此,RHEL 安装程序可能无法检测 iSCSI 存储。
要临时解决这个问题,请在引导到安装程序时在内核命令行中添加以下选项:
rd.iscsi.ibft=1 rd.iscsi.firmware=1
这些选项可从预 OS 固件配置中启用网络配置和 iSCSI 目标发现。
固件配置 iSCSI 存储,因此安装程序可以发现并使用 iSCSI 存储。
(BZ#1871027)
mlx5e_rep_neigh_update 工作队
列中的竞争条件有时会触发内核 panic
当在 Single Root I/O 虚拟化(SR-IOV)功能中使用 switchdev
in-kernel 驱动程序模型在 mlx5
设备上卸载封装操作时mlx5e_rep_neigh_update
工作队列中可能会出现竞争条件。因此,系统会意外出现内核 panic 并被终止,并显示以下信息:
Workqueue: mlx5e mlx5e_rep_neigh_update [mlx5_core]
目前,这个问题还没有一个临时缓解方案。
(BZ#1874101)
ice
驱动程序没有为 Intel® 网络适配器加载
ice
内核驱动程序没有加载所有 Intel® 以太网网络适配器 E810-XXV,但如下:
-
v00008086d00001593sv*sd*bc*sc*i*
-
v00008086d00001592sv*sd*bc*sc*i*
-
v00008086d00001591sv*sd*bc*sc*i*
因此,网络适配器不会被操作系统检测到。要临时解决这个问题,您可以使用 Intel® 或 Dell 提供的 RHEL 7 外部驱动程序。
(BZ#1933998)
kdump 不支持在 Hyper-V 虚拟机中将 nr_cpus 设置为 2 或更高
当在 Microsoft Hyper-V 管理程序上将 RHEL 7.9 用作客户机操作系统时,当 nr_cpus
参数设置为 2 或更高版本时,kdump 内核在某些情况下会变得无响应。为避免这个问题发生,请不要在客户机的 /etc/sysconfig/kdump
文件中更改默认的 nr_cpus=1
参数。