Kdump 是 Linux 内核崩溃转储机制。
在系统崩溃的情况下,Kdump 会提供内存转储 (vmcore) 镜像。
该图像可以帮助确定崩溃的原因。
强烈建议我们启用 Kdump 功能。
Kexec 和 Kdump 一起确保更快的启动和创建可靠的内核 vmcores 用于诊断目的。
Kexec 是一种快速启动机制,它允许从已经运行的内核的上下文中启动 Linux 内核,而无需通过 BIOS。
每当系统崩溃时,Kdump 使用 Kexec 引导到第二个内核。
崩溃转储是从新启动的内核的上下文中捕获的,而不是从崩溃内核的上下文中捕获的。
第二个内核以很少的内存启动并捕获转储镜像。
要启用和使用 Kdump,请安装以下软件包:
# yum install kexec-tools
我们还可以从 GUI 启用 Kdump。
确保我们安装了 system-config-kdump 软件包以使用内核崩溃转储配置 GUI。
# yum install system-config-kdump
输入以下命令以使用内核转储配置 GUI:
# system-config-kdump
单击启用按钮将 kdump 守护程序配置为在引导时启动。
四个选项卡出现在 GUI 的左侧。
1. 基本设置选项卡
Basic Settings 选项卡允许我们选择为 Kdump 保留的内存量。
2. 目标设置选项卡
使用目标设置选项卡指定 vmcore 转储的目标位置。
我们可以将转储镜像存储在本地文件系统中或者使用 NFS 或者 SSH 远程存储。
默认是将vmcore文件存放在本地文件系统的/var/crash目录下。
支持以下目标:
- 原始设备:所有本地连接的原始磁盘和分区
- 本地文件系统:直接连接的磁盘驱动器、硬件 RAID 逻辑驱动器、LVM 设备和 mdraid 数组上的任何 ext2、ext3、ext4、btrfs 或者 xfs 文件系统
- 远程目录:通过 IPv4 使用 NFS 或者 SSH 访问的远程目录和通过软件启动器使用 iSCSI 访问的远程目录
不受支持的目标包括:
- 使用 NFS 访问的 rootfs 文件系统上的远程目录
- 通过硬件启动器使用 iSCSI 访问的远程目录
- 通过 IPv6 访问的远程目录
- 使用 SMB/CIFS 或者 FCoE(以太网光纤通道)访问的远程目录
- 使用无线 NIC 访问的远程目录
- 基于多路径的存储
3. 过滤设置选项卡
过滤设置选项卡允许我们为 vmcore 转储选择过滤级别。
我们可以选择从转储中排除以下任何或者所有内容:
- zero page
- cache page
- cache private
- user data
- free page
4. 专家设置选项卡
Expert Settings 选项卡允许我们选择要使用的内核和初始 内存 磁盘。
在此选项卡中,我们还可以自定义传递给内核和核心收集器程序的选项。
我们可以选择在转储到预期目标失败时要执行的操作。
以下选项可用:
- reboot :重新启动系统并丢失我们尝试检索的核心。这是默认操作。
- halt :在尝试捕获 vmcore 后停止系统,无论成功或者失败。
- poweroff :关闭系统电源。
- shell :进入 initramfs 内的交互式 shell 会话,我们可以尝试手动记录核心。退出 shell 会重新引导系统。
- 转储到 rootfs 并重新启动:将 vmcore 从 initramfs 上下文转储到 rootfs 并重新启动。
单击应用以保存任何更改。
