3.14. 为 Microsoft Azure 实例配置 kdump
如果 RHEL 实例中发生了内核崩溃,您可以使用 kdump 服务确定其原因。如果在内核实例意外终止时正确配置了 kdump,kdump 会生成一个转储文件,称为崩溃转储或 vmcore 文件。对于调试,您可以分析文件,以发现发生崩溃的原因。
要使 kdump 在 Microsoft Azure 实例上工作,您可能需要调整 kdump 保留的内存和 vmcore 目标,以适应虚拟机大小和 RHEL 版本。
先决条件
您在使用支持
kdump的 Microsoft Azure 环境中的虚拟机:- Standard_DS2_v2
- 标准 NV16as v4
- 标准 M416-208s v2
- 标准 M416ms v2
-
您有
root权限。 -
您的系统满足
kdump配置和目标的要求。详情请查看支持的 kdump 配置和目标。
流程
安装
kdump和其他必要的软件包:dnf install kexec-tools kdump-utils makedumpfile
# dnf install kexec-tools kdump-utils makedumpfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证崩溃转储文件的默认位置是否在
kdump配置文件中设置了,以及/var/crash文件是否可用:grep -v "#" /etc/kdump.conf
# grep -v "#" /etc/kdump.conf path /var/crash core_collector makedumpfile -l --message-level 7 -d 31Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据 RHEL 虚拟机大小和版本,检查您是否需要一个具有更多可用空间的
vmcore目标,如/mnt/crash:Expand 表 3.3. 已在 Azure 上使用 GEN2 虚拟机 测试了的虚拟机大小 RHEL 版本 标准 DS1 v2 (1 vCPU, 3.5GiB) 标准 NV16as v4 (16 vCPU, 56 GiB) 标准 M416-208s v2 (208 vCPU, 5700 GiB) 标准 M416ms v2 (416 vCPU, 11400 GiB) RHEL 9.4 - RHEL 10
default
default
目标
目标
-
Default 表示
kdump使用默认的内存和默认的kdump目标可以正常工作。默认kdump目标是/var/crash文件。 -
Target 表示
kdump可以使用默认内存按预期工作。但是,您可能需要分配一个具有更多可用空间的目标。
-
Default 表示
要分配一个具有可用空间的目标,如
/mnt/crash,请编辑/etc/kdump.conf文件,并替换默认路径:sed s/"path /var/crash"/"path /mnt/crash"
$ sed s/"path /var/crash"/"path /mnt/crash"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选项 path
/mnt/crash代表kdump保存崩溃转储文件的文件系统的路径。有关详情,如将崩溃转储文件写到不同的分区、直接写到设备或将其保存到远程机器,请参阅 配置 kdump 目标。
如果实例需要,通过添加相对引导参数,将崩溃内核大小增加到足够大小,以便
kdump可以捕获vmcore:例如,对于标准 M416-208s v2 虚拟机,足够的大小为 512 MB,因此引导参数应为
crashkernel=512M。打开 GRUB 配置文件,并将
crashkernel=512M添加到引导参数行中:vi /etc/default/grub
# vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300 crashkernel=512M"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 GRUB 配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 重启虚拟机,来向虚拟机分配单独的内核崩溃内存。
验证
确保
kdump处于活跃状态且正在运行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow