42.3. kdump の有効化
この手順を使用すると、インストールされているすべてのカーネルまたは特定のカーネルに対して kdump
サービスを有効または無効にすることができます。
42.3.1. インストールされているすべてのカーネルでの kdump の有効化
マシンにインストールされているすべてのカーネルに対して、kdump
を有効にして起動できます。
前提条件
- 管理者権限
手順
インストールしたすべてのカーネルに
crashkernel=auto
コマンドラインパラメーターを追加します。# grubby --update-kernel=ALL --args="crashkernel=auto"
kdump
を有効にします。# systemctl enable --now kdump.service
検証
kdump
が実行されていることを確認します。# systemctl status kdump.service ○ kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled) Active: active (live)
42.3.2. 特定のインストール済みカーネルでの kdump の有効化
マシン上の特定カーネルに対して、kdump
を有効にできます。
前提条件
- 管理者権限
手順
マシンにインストールされているカーネルをリスト表示します。
# ls -a /boot/vmlinuz-* /boot/vmlinuz-0-rescue-2930657cd0dc43c2b75db480e5e5b4a9 /boot/vmlinuz-4.18.0-330.el8.x86_64 /boot/vmlinuz-4.18.0-330.rt7.111.el8.x86_64
特定の
kdump
カーネルを、システムの GRUB (Grand Unified Bootloader) 設定ファイルに追加します。以下に例を示します。
# grubby --update-kernel=vmlinuz-4.18.0-330.el8.x86_64 --args="crashkernel=auto"
kdump
を有効にします。# systemctl enable --now kdump.service
検証
kdump
が実行されていることを確認します。# systemctl status kdump.service ○ kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled) Active: active (live)
42.3.3. kdump サービスの無効化
システムの起動時に kdump
を無効にするには、以下の手順を行います。
前提条件
-
kdump
設定とターゲットの要件をすべて満たしている。詳細は 対応している kdump 設定とターゲット を参照してください。 -
kdump
のインストール用のオプションがすべて、要件に応じて設定されている。詳細は、kdump のインストール を参照してください。
手順
現在のセッションで
kdump
を停止するには、以下のコマンドを実行します。# systemctl stop kdump.service
kdump
を無効にするには、以下を行います。# systemctl disable kdump.service
kptr_restrict=1
を設定することが推奨されます。これにより、Kernel Address Space Layout (KASLR) が有効かどうかにかかわらず、kdumpctl
はクラッシュカーネルを読み込みます。
トラブルシューティングの手順
kptr_restrict
が (1) に設定されておらず、KASLR が有効になっている場合は、/proc/kcore
ファイルの内容がすべてゼロとして生成されます。したがって、kdumpctl
サービスは /proc/kcore
にアクセスしてクラッシュカーネルを読み込むことができません。
この問題を回避するために、kptr_restrict=1
の設定を推奨する警告メッセージが /usr/share/doc/kexec-tools/kexec-kdump-howto.txt
ファイルに表示されます。
kdumpctl
サービスが必ずクラッシュカーネルを読み込むように、kernel.kptr_restrict=1
が sysctl.conf
ファイルに含まれていることを確認します。
関連情報
- RHEL の 基本的なシステム設定の設定