Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

7.1. kdump について

7.1.1. kdump と kexec について

kdump は、クラッシュダンプのメカニズムを提供するサービスです。このサービスでは、分析用にシステムメモリーの内容を保存できます。

kdumpkexec システムコールを使用し、再起動することなく 2 番目のカーネル (キャプチャーカーネル) で起動し、クラッシュしたカーネルメモリー (クラッシュダンプ またはvmcore) の内容をキャプチャーして、ファイルへ保存します。この第 2 のカーネルは、システムメモリーの予約部分に収納されています。

重要

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

注記

HP Watchdog タイマー (hpwdt) ドライバーは、RHEV ハイパーバイザーとして実行中されている HP システムで事前に読み込まれるため、これらのシステムは NMI ウォッチドッグを使用できます。kexec-tools-2.0.15-33.el7.x86_64 から開始する更新された kexec-tools パッケージは hpwdt ドライバーを事前に読み込みます。

ドライバー bnx2x および bmx2fc が kdump カーネルのブラックリストに入れられ、2 つ目のカーネルがパニックを生じさせ、ダンプはキャプチャーされません。

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 設定のテスト」 を参照してください。