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

CentOS / RHEL 5 :kdump の設定方法

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

<強い>1. kexec-tools をインストールします
Kexec BIOS を介さずに、すでに実行中のカーネルのコンテキストから Linux カーネルを起動できる fastboot メカニズムです。 Kdump は、システムがクラッシュするたびに kexec を使用して 2 番目のカーネルを起動します。

#  up2date --nox -u kexec-tools
Fetching Obsoletes list for channel: el5_i386_latest...
########################################
Fetching rpm headers...
########################################
Name                                    Version        Rel
----------------------------------------------------------
kexec-tools                             1.101          194.4.el5.0.1     i386
Testing package set / solving RPM inter-dependencies...
########################################
kexec-tools-1.101-194.4.el5 ########################## Done.
Preparing              ########################################### [100%]
Installing...
   1:kexec-tools     ########################################### [100%]

<強い>2.ファイル /boot/config-`uname -r` を確認してください
指定された値は、kexec が有効であり、このカーネルをクラッシュ カーネルとして使用できることを示す必要があります:

# cat /boot/config-`uname -r`
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
...

<強い>3.システム カーネルを変更して、クラッシュ カーネル用のスペースを予約します
/etc/grub.conf ファイルを編集し、「crashkernel=128M@16M」をカーネル行に追加して、物理アドレス 0x01000000 (16MB) から始まる 128MB のメモリを予約します

# vi /etc/grub.conf
 ...
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M
        initrd /initrd-2.6.18-8.el5.img
 ...

予約済みメモリの量は、システムのメモリ量によって異なる場合があります。

<強い>4. vmcore を作成する場所を指定
さまざまな種類のダンプ ターゲットの場所を /etc/kdump.conf ファイルで指定できます。このファイルで任意のディレクトリを指定できます。例:

path /usr/local/cores

以下は、ダンプ ターゲットの場所として NFS を使用するサンプル エントリです。たとえば、以下はファイルシステムをマウントし、
vmcore ファイルを NFS サーバーにコピーします

net my.server.com:/export/tmp

その他のオプションについては、/etc/kdump.conf を確認してください。

<強い>5. kdump 構成ファイルの更新 – /etc/sysconfig/kdump (オプション)
このファイルは、現在実行中のカーネルとは異なる必要がある場合は、名前/場所、およびカーネルのコマンド ラインを含む、ダンプ キャプチャ カーネルの仕様を定義します。

# cat /etc/sysconfig/kdump
KDUMP_KERNELVER=""
KDUMP_COMMANDLINE=""
KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1"
KEXEC_ARGS=" --args-linux"
KDUMP_BOOTDIR="/boot"
KDUMP_IMG="vmlinuz"
KDUMP_COMMANDLINE modify the default crash kernel command line from /proc/cmdline
KDUMP_COMMANDLINE_APPEND adds irqpoll and maxcpus=1 to the command line for the crash kernel
KEXEC_ARGS adds --args-linux to the kexec command line
KDUMP_BOOTDIR is set to /boot
KDUMP_IMG specifies the crash kernel image name, defaulting to /boot/vmlinuz with the current kernel version appended

<強い>6. kdump サービスを有効にする
システムの再起動時に kdump サービスを開始できるように設定します。

# chkconfig kdump on

注:新しいカーネル パラメータがまだ有効になっていないため、開始できません。

7.システムを再起動して kdump 構成を有効にする
kdump がアクティブであることを確認します:

# cat /proc/cmdline
ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M
# /etc/init.d/kdump  status
Kdump is operational
# /sbin/chkconfig --list |grep kdump
kdump           0:off   1:off   2:on    3:on    4:on    5:on    6:off

<強い>8.システムをクラッシュさせて kdump をテストする

# echo c > /proc/sysrq-trigger

これにより、カーネルがパニックになり、システムが kdump カーネルで再起動します。起動プロセスが kdump サービスを開始するポイントに到達したら、vmcore ファイルをディスクの /etc/kdump.conf ファイルで指定された場所にコピーする必要があります。

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


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

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

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

  1. CentOS / RHEL 7 :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 をインストールして構成する方法