32.5. サポートされている kdump 設定とターゲット
kdump
メカニズムは、カーネルクラッシュが発生したときにクラッシュダンプファイルを生成する Linux カーネルの機能です。カーネルダンプファイルには、カーネルクラッシュの根本原因を分析して特定するのに役立つ重要な情報が含まれています。クラッシュの原因は、ハードウェアの問題やサードパーティーのカーネルモジュールの問題など、さまざまな要因が考えられます。
下記の情報と手順により、Red Hat Enterprise Linux 8 システムでサポートされている設定とターゲットを理解し、kdump
を適切に設定して動作を検証できます。
32.5.1. kdump メモリー要件
kdump
がカーネルクラッシュダンプをキャプチャーし、さらなる分析のために保存するには、システムメモリーの一部をキャプチャーカーネル用に永続的に予約しておく必要があります。予約されている場合、システムメモリーのこの部分はメインカーネルでは使用できません。
メモリー要件は、特定のシステムパラメーターによって異なります。主な要因は、システムのハードウェアアーキテクチャーです。正確なマシンアーキテクチャー (Intel 64 や AMD64 (x86_64) など) を調べ、それを標準出力に出力するには、以下のコマンドを使用します。
$ uname -m
下記の最小メモリー要件のリストを使用して、利用可能な最新バージョンで kdump
用のメモリーを自動的に予約するための適切なメモリーサイズを設定できます。メモリーサイズは、システムのアーキテクチャーと利用可能な物理メモリーの合計によって異なります。
アーキテクチャー | 使用可能なメモリー | 最小予約メモリー |
---|---|---|
AMD64 と Intel 64 ( | 1 GB から 4 GB | 192 MB のメモリー |
4 GB から 64 GB | 256 MB のメモリー | |
64 GB 以上 | 512 MB のメモリー | |
64 ビット ARM アーキテクチャー ( | 2 GB 以上 | 480 MB のメモリー |
IBM Power Systems ( | 2 GB から 4 GB | 384 MB のメモリー |
4 GB から 16 GB | 512 MB のメモリー | |
16 GB から 64 GB | 1 GB のメモリー | |
64 GB から 128 GB | 2 GB のメモリー | |
128 GB 以上 | 4 GB のメモリー | |
IBM Z ( | 1 GB から 4 GB | 192 MB のメモリー |
4 GB から 64 GB | 256 MB のメモリー | |
64 GB 以上 | 512 MB のメモリー |
多くのシステムでは、kdump
は必要なメモリー量を予測して、自動的に予約できます。この動作はデフォルトで有効になっていますが、利用可能な合計メモリーサイズが一定以上搭載されているシステムに限られます。この自動割り当て動作に必要なメモリーサイズはシステムのアーキテクチャーによって異なります。
システムのメモリー合計量に基づく予約メモリーの自動設定は、ベストエフォート予測です。実際に必要なメモリーは、I/O デバイスなどの他の要因によって異なる場合があります。十分なメモリーを使用しないと、カーネルパニックが発生したときに、デバッグカーネルがキャプチャーカーネルとして起動できなくなる可能性があります。この問題を回避するには、クラッシュカーネルメモリーを十分に増やしてください。
関連情報
32.5.2. メモリー自動予約の最小しきい値
kexec-tools
ユーティリティーは、デフォルトで、crashkernel
コマンドラインパラメーターを設定し、kdump
用に一定量のメモリーを予約します。ただし、一部のシステムでは、ブートローダー設定ファイルで crashkernel=auto
パラメーターを使用するか、グラフィカル設定ユーティリティーでこのオプションを有効にすることで、kdump
用のメモリーを割り当てることが可能です。この自動予約を機能させるには、システムで一定量の合計メモリーが使用可能である必要があります。メモリー要件はシステムのアーキテクチャーによって異なります。システムのメモリーが指定のしきい値よりも小さい場合は、メモリーを手動で設定する必要があります。
アーキテクチャー | 必要なメモリー |
---|---|
AMD64 と Intel 64 ( | 2 GB |
IBM Power Systems ( | 2 GB |
IBM Z ( | 4 GB |
起動コマンドラインの crashkernel=auto
オプションは、RHEL 9 以降のリリースでは対応しなくなりました。
32.5.3. サポートしている kdump のダンプ出力先
カーネルクラッシュが発生すると、オペレーティングシステムは、設定したダンプ出力先またはデフォルトのダンプ出力先にダンプファイルを保存します。ダンプファイルは、デバイスに直接保存することも、ローカルファイルシステムにファイルとして保存することも、ネットワーク経由で送信することもできます。以下に示すダンプ出力先のリストを使用すると、kdump
で現在サポートされているダンプ出力先とサポートされていないダンプ出力先を把握できます。
ダンプ出力先の種類 | 対応しているダンプ出力先 | 対応していないダンプ出力先 |
---|---|---|
物理ストレージ |
|
|
ネットワーク |
|
|
ハイパーバイザー |
| |
ファイルシステム | ext[234]、XFS、および NFS ファイルシステム。 |
|
ファームウェア |
|
関連情報
32.5.4. 対応している kdump のフィルターレベル
ダンプファイルのサイズを削減するために、kdump
は makedumpfile
コアコレクターを使用してデータを圧縮し、さらに不要な情報を除外します。たとえば、-8
レベルを使用すると、hugepages
および hugetlbfs
ページを削除できます。makedumpfile
が現在サポートしているレベルは `kdump` のフィルタリングレベル の表で確認できます。
オプション | 説明 |
---|---|
| ゼロページ |
| キャッシュページ |
| キャッシュプライベート |
| ユーザーページ |
| フリーページ |
関連情報
32.5.5. 対応しているデフォルトの障害応答
デフォルトでは、kdump
がコアダンプを作成できない場合、オペレーティングシステムが再起動します。ただし、コアダンプをプライマリーターゲットに保存できない場合に別の操作を実行するように kdump
を設定できます。
オプション | 説明 |
---|---|
| root ファイルシステムにコアダンプの保存を試行します。ネットワーク上のダンプ出力先と併用する場合に特に便利なオプションです。ネットワーク上のダンプ出力先にアクセスできない場合、ローカルにコアダンプを保存するよう kdump の設定を行います。システムは、後で再起動します。 |
| システムを再起動します。コアダンプは失われます。 |
| システムを停止します。コアダンプは失われます。 |
| システムの電源を切ります。コアダンプは失われます。 |
| initramfs 内から shell セッションを実行して、ユーザーが手動でコアダンプを記録できるようにします。 |
|
|
関連情報
32.5.6. final_action パラメーターの使用
kdump
が成功した場合、または kdump
が設定されたターゲットでの vmcore
ファイルの保存に失敗した場合は、final_action
パラメーターを使用して、reboot
、halt
、poweroff
などの追加操作を実行できます。final_action
パラメーターが指定されていない場合、デフォルトの応答は reboot
です。
手順
final_action
を設定するには、/etc/kdump.conf
ファイルを編集して、次のいずれかのオプションを追加します。-
final_action reboot
-
final_action halt
-
final_action poweroff
-
変更を有効にするには、
kdump
サービスを再起動します。# kdumpctl restart
32.5.7. failure_action パラメーターの使用
failure_action
パラメーターは、カーネルがクラッシュした場合にダンプが失敗したときに実行するアクションを指定します。failure_action
のデフォルトのアクションは、システムを再起動する reboot
です。
このパラメーターは、実行する以下のアクションを認識します。
reboot
- ダンプが失敗した後、システムを再起動します。
dump_to_rootfs
- 非ルートダンプターゲットが設定されている場合、ダンプファイルをルートファイルシステムに保存します。
halt
- システムを停止します。
poweroff
- システムで実行中の操作を停止します。
shell
-
initramfs
内でシェルセッションを開始します。このセッションから、追加のリカバリーアクションを手動で実行できます。
手順:
ダンプが失敗した場合に実行するアクションを設定するには、
/etc/kdump.conf
ファイルを編集して、failure_action
オプションの 1 つを指定します。-
failure_action reboot
-
failure_action halt
-
failure_action poweroff
-
failure_action shell
-
failure_action dump_to_rootfs
-
変更を有効にするには、
kdump
サービスを再起動します。# kdumpctl restart