この投稿では、SuSE Linux Enterprise System (SLES) 10 および 11 で kdump をセットアップして、カーネル パニックおよびクラッシュからコア ダンプを取得する方法について説明しています。 Kdump (カーネル ダンプ) は、カーネルに重大な問題がある場合に、vmcore という名前のファイルにメモリ ダンプを提供します。問題を調査するには、多くの場合、Vmcore が必要です。クラッシュ ダンプは、クラッシュしたカーネルのコンテキストからではなく、新しく起動したカーネルのコンテキストからキャプチャされます。 Kdump は kexec を使用します システムがクラッシュするたびに 2 番目のカーネルを起動します。 Kexec は、ファームウェアやウォーム スタートを使用せずに、実行中のカーネルのコンテキストから新しい Linux カーネルを再起動できる高速ブート メカニズムです。
従うべき手順
バージョン SLES 10 以降、Suse はデフォルトのクラッシュ ダンプ キャプチャ方法として kdump を使用します。カーネル コア ダンプは「/var」の下に保存されるため、パーティション「/var」に、この情報を保存するのに十分なスペースがあるように注意する必要があります。これは、システム メモリの物理量よりもわずかに大きくなります。システムは最大 5 つのコア ダンプを保存しようとするため、このすべての情報を保存できる最適なディスク容量が必要です。
1.必要なパッケージをインストール
インストールされている製品のサービス パックに一致するパッケージ「kdump」および「kexec-tools」をインストールする必要があります。最も簡単な方法は、YaST アプリケーションを使用してこのパッケージをインストールすることです。次のコマンドを使用して、コンソールからコマンド「yast2」を開始します。
# yast2 -i kdump # yast2 -i kexec-tools
これにより、必要なパッケージがインストールされます。または、グラフィカル システム インストーラー YaST を使用して、適切なパッケージをインストールすることもできます。
2.ダンプを取得するように Kdump を構成する
まず、キャプチャ カーネルにメモリを予約する必要があります。これは、ブート コマンド ラインでシステムのカーネルに渡されます。 SuSE は、x86 および x86_64 アーキテクチャに対して次の設定を推奨しています:crashkernel=64M@16M
これを変更するには、YaST を起動し、[システム] で [ブート ローダー] を選択します。 [セクション管理] タブで、既定のセクションを選択し、[編集] をクリックします。 [その他のカーネル パラメーター] というラベルのフィールドに設定を追加し、[OK] と [完了] を押して設定を保存します。
次に、Kdump を有効にして、システム ブートを開始する必要があります。
# chkconfig kdump on
最後に、システムを再起動して、カーネル コマンド ラインの変更を有効にする必要があります。 Kdump の構成に関する詳細情報は、「/usr/share/doc/packages/kexec-tools/README.SUSE」にあります。
SLES の新しいバージョンには、YaST2 用のモジュール (yast2-kdump-*.rpm) もあり、システムで kdump を構成およびアクティブ化するのに役立ちます。実行するだけ
# yast2 kdump
3.構成の確認
構成が機能していることを確認するには、魔法の SysRq を使用してこれをテストできます。 カーネルの機能。
警告: 次の手順を実行する前に、他のユーザーがシステムにログインしていないこと、およびすべての作業が保存されていることを確認してください。そうしないと、データが失われる可能性があります。まず、次のコマンドで有効にする必要があります:
# echo 1 > /proc/sys/kerne/sysrq
次に、データ損失のリスクを最小限に抑えるために、ハードディスクのデータを同期する必要があります
# echo s > /proc/sysrq-trigger
最後に、システムを強制的に「クラッシュ」させることができます
# echo c > /proc/sysrq-trigger
システムはクラッシュ ダンプ データを保存します。これには、システムのメモリ量とダンプが書き込まれるデバイスの速度に応じて、しばらく時間がかかります。ダンプが終了すると、システムは再起動して通常のサービスに戻ります。コアダンプが正常に生成されると、ディレクトリ「/var/log/dump/[YYYY-MM-DD-HH:MM]/vmcore」にコア ダンプが見つかるはずです。
CentOS / RHEL 5 :kdump の設定方法CentOS / RHEL 6 :kdump の設定方法
CentOS / RHEL 7 :kdump の設定方法