19.2. 配置 kdump 目标
崩溃转储通常以一个文件形式存储在本地文件系统中,直接写入设备。或者,您可以为崩溃转储进行设置,以通过使用 NFS
或 SSH
协议的网络进行发送。一次只能设置其中一个选项来保留崩溃转储文件。默认行为是将其存储在本地文件系统的 /var/crash/
目录中。
先决条件
-
root
权限。 -
满足
kdump
配置和目标的要求。详情请查看支持的 kdump 配置和目标。
流程
要将崩溃转储文件保存在本地文件系统的
/var/crash/
目录中,请编辑/etc/kdump.conf
文件并指定路径:path /var/crash
选项
path /var/crash
代表kdump
在其中保存崩溃转储文件的文件系统的路径。注意-
当您在
/etc/kdump.conf
文件中指定转储目标时,路径是 相对 于指定的转储目标。 -
当您没有在
/etc/kdump.conf
文件中指定转储目标时,该路径表示根目录的 绝对 路径。
根据当前系统中挂载的内容,会自动采用转储目标和调整的转储路径。
例 19.1.
kdump
目标配置# grep -v ^# /etc/kdump.conf | grep -v ^$ ext4 /dev/mapper/vg00-varcrashvol path /var/crash core_collector makedumpfile -c --message-level 1 -d 31
此处,转储目标被指定(
ext4 /dev/mapper/vg00-varcrashvol
),因此在/var/crash
处挂载。path
选项也被设置为/var/crash
,因此kdump
会将vmcore
文件保存在/var/crash/var/crash
目录中。-
当您在
要更改要保存崩溃转储的本地目录,请以
root
用户身份编辑/etc/kdump.conf
配置文件:-
从
#path /var/crash
行的开头删除 hash 符号("#")。 使用预期的目录路径替换该值。例如:
path /usr/local/cores
重要在 RHEL 9 中,当
kdump
systemd
服务启动时,使用path
指令定义为 kdump 目标的目录必须存在,否则服务会失败。
-
从
要将文件写入不同的分区,请编辑
/etc/kdump.conf
配置文件:根据您的选择,从
#ext4
行的开头删除 hash 符号("#")。-
设备名称(
#ext4 /dev/vg/lv_kdump
行) -
文件系统标签(
#ext4 LABEL=/boot
行) -
UUID(
#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
行)
-
设备名称(
将文件系统类型以及设备名称、标签或者 UUID 更改为所需值。例如:
ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
- 注意
指定 UUID 值的正确语法是
UUID="correct-uuid"
和UUID=correct-uuid
。重要建议您使用
LABEL=
或UUID=
指定存储设备。无法保证/dev/sda3
等磁盘设备名称在重启后保持一致。重要当转储到 IBM Z 硬件上的直接访问存储设备 (DASD) 时,在继续前已在
/etc/dasd.conf
中正确指定转储设备非常重要。
要将崩溃转储直接写入设备,请编辑
/etc/kdump.conf
配置文件:-
删除
#raw /dev/vg/lv_kdump
行开头的哈希符号 ("#")。 使用预期的设备名称替换该值。例如:
raw /dev/sdb1
-
删除
要使用
NFS
协议将崩溃转储保存到远程机器上:-
删除
#nfs my.server.com:/export/tmp
行开头的哈希符号 ("#")。 使用有效的主机名和目录路径替换该值。例如:
nfs penguin.example.com:/export/cores
-
删除
要使用
SSH
协议将崩溃转储保存到远程机器上:-
从
#ssh user@my.server.com
行的开头删除哈希符号("#")。 - 使用有效的用户名和密码替换该值。
在配置中包含
SSH
密钥。-
从
#sshkey /root/.ssh/kdump_id_rsa
行的开头删除哈希符号。 将该值改为您要转储的服务器中有效密钥的位置。例如:
ssh john@penguin.example.com sshkey /root/.ssh/mykey
-
从
-
从