第7章 カーネルクラッシュダンプガイド

7.1. kdump について

7.1.1. kdump と kexec について

kdump とは、システムのメモリー内容を保存して後で分析できるようにカーネルのクラッシュをダンプする仕組みを指します。kdump は kexec に依存し、この kexec を使用して、別のカーネルのコンテキストから Linux カーネルを起動し、BIOS を迂回して通常は失われてしまう 1 番目のカーネルメモリーの内容を保持することができます。

システムクラッシュが発生すると kdump は kexec を使用して 2 番目のカーネルで起動します (キャプチャーカーネル)。この 2 番目のカーネルはシステムメモリーの予約部分に収納されていて 1 番目のカーネルからはアクセスできません。2 番目のカーネルは起動するとクラッシュしたカーネルメモリーの内容 (クラッシュダンプ) をキャプチャーして保存します。

重要

カーネルクラッシュダンプは、障害時に唯一利用可能な情報である可能性があるので、ビジネスに不可欠な環境ではこのデータの重要性を過小評価してはいけません。Red Hat は、システム管理者に対して、通常のカーネル更新サイクルで kexec-tools を定期的に更新、テストすることを推奨します。これは、新しいカーネル機能が実装されている場合に特に重要です。

7.1.2. メモリー要件

kdump でカーネルクラッシュダンプをキャプチャーしてさらに分析ができるように保存するにはシステムメモリーの一部をキャプチャーカーネル用に永続的に予約する必要があります。予約するとその部分はメインカーネルでは使用できなくなります。

メモリー要件は、特定のシステムパラメーターによって異なります。主な要因は、システムのハードウェアアーキテクチャーです。次のコマンドをシェルプロンプトで入力してマシンの正確なアーキテクチャー名を特定し (x86_64 など)、標準出力に表示させます。

uname -m

予約すべきメモリーサイズを左右する別の要因として搭載しているシステムメモリーの総量が影響します。たとえば、x86_64 アーキテクチャーでは予約メモリーは 4 KB のメモリーごとに、160 MB + 2 ビットになります。搭載されている物理メモリーの合計が 1 TB のシステムの場合には 224 MB (160 MB + 64 MB) ということになります。システムアーキテクチャーごとの kdump メモリー要件と物理メモリー量についての詳細は 「kdump メモリー要件」を参照してください。

多くのシステムでは必要なメモリー量は kdump によって自動的に算出、予約が行われます。この動作はデフォルトで有効になっていますが、利用可能な合計メモリーサイズが一定以上搭載されているシステムに限られます。この自動割り当て動作に必要なメモリーサイズはシステムのアーキテクチャーによって異なります。システムアーキテクチャーに基づいた自動メモリー割り当てに必要な最小メモリーサイズの一覧は、「メモリー自動予約の最小しきい値」を参照してください。

システムメモリーが自動割り当ての動作に必要な最小メモリーに満たない場合、または独自の予約メモリーサイズを必要とするような場合には予約メモリーを手動で設定することができます。コマンドラインでこの作業を行う場合は 「メモリー使用量の設定」を参照してください。グラフィカルユーザーインターフェースでこの作業を行う場合は「メモリー使用量の設定」を参照してください。

重要

kdump サービスを設定したら、自動メモリー割り当てであっても設定のテストを行うことを強く推奨します。設定のテスト方法については「kdump 設定のテスト」を参照してください。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。