GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RHEL 6 :kdump の設定方法

kdump は高度なクラッシュ ダンプ メカニズムです。有効にすると、システムは別のカーネルのコンテキストから起動されます。この 2 番目のカーネルは少量のメモリを予約します。その唯一の目的は、システムがクラッシュした場合にコア ダンプ イメージをキャプチャすることです。コア ダンプを分析できると、システム障害の正確な原因を特定するのに非常に役立つため、この機能を有効にすることを強くお勧めします。このノートでは、CentOS/RHEL 6 で kdump サービスを構成、テスト、および使用する方法について説明します。

<強い>1.まだインストールされていない場合は、kexec-tools パッケージをインストールします
kdump サービスを使用するには、kexec-tools が必要です パッケージがインストールされました。

# yum install kexec-tools

<強い>2. GRUB でのメモリ使用量の構成
kdump カーネル用に予約されるメモリの量を設定するには、ファイル /boot/grub/grub.conf を変更し、カーネル オプションのリストに crashkernel=[size]M (または crashkernel=auto) パラメータを追加します。 .その後、再起動して有効にします。

例:

# vi /boot/grub/grub.conf
...
title Oracle Linux Server-uek (2.6.39-200.24.1.el6uek.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M
    initrd /initramfs-2.6.39-200.24.1.el6uek.x86_64.img
...
# reboot

<強い>3.ダンプの場所の構成
kdump を設定するには、設定ファイル /etc/kdump.conf を編集する必要があります .デフォルトのオプションは、vmcore ファイルを /var/crash/ に保存することです ローカル ファイル システムのディレクトリ。コア ダンプを保存するローカル ディレクトリを変更するには、#path /var/crash 行の先頭からハッシュ記号 (「#」) を削除し、値を目的のディレクトリ パスに置き換えます。

例:

path /usr/local/cores

必要に応じて、コア ダンプを raw パーティションに直接保存することもできます。
例:

raw /dev/sdb4

NFS プロトコルを使用してリモート マシンにダンプを保存するには、#net my.server.com:/export/tmp 行の先頭からハッシュ記号 (「#」) を削除し、値を有効なホスト名に置き換えます。ディレクトリ パス。
例:

net my.server.com:/export/cores

<強い>4.コア コレクターの構成
vmcore ダンプ ファイルのサイズを縮小するために、kdump を使用すると、外部アプリケーションを指定してデータを圧縮し、必要に応じて無関係な情報をすべて除外できます。現在、完全にサポートされている唯一のコア コレクターは makedumpfile です。
コア コレクターを有効にするには、構成ファイル /etc/kdump.conf を変更し、#core_collector makedumpfile -c の先頭からハッシュ記号 (「#」) を削除します。 –message-level 1 -d 31 行に移動し、以下で説明するようにコマンド ライン オプションを編集します。
例:

core_collector makedumpfile -c

<強い>5.デフォルト アクションの変更
デフォルトでは、カーネル クラッシュがキャプチャされると、ルート ファイル システムがマウントされ、/sbin/init が実行されます。この動作を変更するには、/etc/kdump.conf 構成ファイルを開き、#default シェル行の先頭からハッシュ記号 (「#」) を削除し、説明に従って値を目的のアクションに置き換えます。

例:

default halt

<強い>6. kdump デーモンを開始
カーネル コマンド ラインに kdump 構成が含まれていることと、クラッシュ カーネル用にメモリが予約されていることを確認してください:

# cat /proc/cmdline
ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M

システムの再起動時に kdump サービスを開始できるように設定します。

# chkconfig kdump on

現在のセッションでサービスを開始するには、次のコマンドを使用します:

# service kdump start
No kdump initial ramdisk found.                            [WARNING]
Rebuilding /boot/initrd-2.6.39-200.24.1.el6uek.x86_64kdump.img
Starting kdump:                                            [  OK  ]

7. kdump のテスト
構成をテストするには、kdump を有効にしてシステムを再起動し、サービスが実行されていることを確認します。
例:

# service kdump status
Kdump is operational

次に、シェル プロンプトで次のコマンドを入力します。

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

これにより、Linux カーネルが強制的にクラッシュし、address-YYYY-MM-DD-HH:MM:SS/vmcore ファイルが、構成で選択した場所 (つまり、/var/crash/ によってデフォルト)

CentOS / RHEL 5 :kdump の設定方法
CentOS / RHEL 7 :kdump の設定方法
SuSE Linux Enterprise System 10 および 11 で Kdump を設定する方法


Linux
  1. CentOS/RHEL/Fedora でプロキシを構成する方法

  2. CentOS/RHEL での kdump の問題のトラブルシューティング

  3. CentOS / RHEL 7 :kdump の設定方法

  1. CentOS / RHEL 5 :kdump の設定方法

  2. CentOS / RHEL :DHCP サーバーの構成方法

  3. CentOS / RHEL 5 :vsftpd サーバーをインストールして構成する方法

  1. CentOS / RHEL 7 :キャッシュのみのネームサーバーを構成する方法

  2. RHEL / CentOS 5,6 に telnet をインストールして構成する方法

  3. CentOS/RHEL 7 で Kerberos をインストールして構成する方法