Red Hat Training

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

7.2.2.2. kdump タイプの設定

カーネルクラッシュがキャプチャーされると、コアダンプはローカルファイルシステムのファイルとして保存したり、デバイスに直接書き込みしたり、NFS (Network File System) または SSH (Secure Shell) プロトコルを使用してネットワーク上で送信したりすることができます。現時点で設定できるのは、これらのオプションの 1 つのみです。デフォルトのオプションでは、vmcore ファイルをローカルファイルシステムの /var/crash ディレクトリーに保存します。

vmcore ファイルをローカルファイルシステムの /var/crash/ ディレクトリーに保存するには、次を行います。

  • /etc/kdump.conf ファイルを編集し、パスを指定します。

    path /var/crash

    オプションの path /var/crash は、kdumpvmcore ファイルを保存するファイルシステムパスを表します。/etc/kdump.conf ファイルでダンプターゲットを指定すると、path は指定されたダンプ出力先に対する相対パスになります。

    ダンプターゲットが /etc/kdump.conf ファイルで指定されていない場合には、パス は root ディレクトリーからの絶対パスになります。現在のシステムにマウントされている内容に応じて、ダンプターゲットと調整されるダンプパスが自動的に適用されます。

警告

kdump は、ダンプターゲットが /var/crash にマウントされ、オプションの path/etc/kdump.conf ファイルの /var/crash として設定されていると、vmcore ファイルを /var/crash/var/crash ディレクトリーに保存します。たとえば、以下の例では、ext4 ファイルシステムが /var/crash ですでにマウントされており、path/var/crash として設定されます。

grep -v ^# etc/kdump.conf | grep -v ^$
ext4 /dev/mapper/vg00-varcrashvol
path /var/crash
core_collector makedumpfile -c --message-level 1 -d 31

そのため、/var/crash/var/crash パスが作成されます。この問題を解決するには、path /var/crash の代わりに path / オプションを使用します。

ダンプの場所を変更するには、root としてテキストエディターで /etc/kdump.conf 設定ファイルを開き、以下のようにオプションを編集します。

コアダンプの保存先のローカルディレクトリーを変更する場合は #path /var/crash の行頭にあるハッシュ記号 (#) を取り除き、値を変更先のディレクトリーパスに置き換えます。

path /usr/local/cores
重要

Red Hat Enterprise Linux 7 では kdump のダンプ出力先として path ディレクティブで指定されているディレクトリーが kdump systemd サービスの起動時に存在していなければなりません。この動作は、サービスの起動時にそのディレクトリーが存在しない場合に自動的に作成されていた Red hat Enterprise Linux の以前のリリースのものとは異なります。

オプションで、ファイルを別のパーティションに書き込む場合は、#ext4 で始まる行のハッシュ記号を取り除き、値を変更先のディレクトリーパスに置き換えます。値にはデバイス名 (#ext4 /dev/vg/lv_kdump 行)、ファイルシステムのラベル (#ext4 LABEL=/boot 行)、UUID (#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937 行) のいずれかを使用できます。ファイルシステムタイプと、デバイス名、ラベル、UUID を希望の値に変更します。以下に例を示します。

ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
重要

ストレージデバイスの指定は LABEL= または UUID= を使用することを推奨します。/dev/sda3 などのディスクデバイス名は、再起動しても一貫性は保証されません。永続的なディスクデバイスの命名については『Red Hat Enterprise Linux 7 ストレージ管理ガイド』を参照してください。

重要

s390x ハードウェア上の DASD にダンプする場合には、続行する前に /etc/dasd.conf でダンプサービスが正しく指定されている必要があります。

ダンプをデバイスに直接書き込む場合は #raw /dev/vg/lv_kdump の行頭にあるハッシュ記号 (#) を取り除き、値をダンプ出力先のデバイス名に置き換えます。以下に例を示します。

raw /dev/sdb1

NFS プロトコルを使ってリモートのマシンにダンプを保存する場合は #nfs my.server.com:/export/tmp の行頭にあるハッシュ記号 (#) を取り除き、値を有効なホスト名とディレクトリーパスに置き換えます。以下に例を示します。

nfs penguin.example.com:/export/cores

SSH プロトコルを使ってリモートのマシンにダンプを保存する場合は #ssh user@my.server.com の行頭にあるハッシュ記号 (#) を取り除き、値を有効なユーザー名とホスト名に置き換えます。設定に SSH キーも含める場合は #sshkey /root/.ssh/kdump_id_rsa 行の先頭にあるハッシュ記号 (#) を取り除き、値をダンプ出力先となるサーバー上で有効なキーの場所に変更します。以下に例を示します。

ssh john@penguin.example.com
sshkey /root/.ssh/mykey

SSH サーバーの設定方法およびキーベースの認証設定については『Red Hat Enterprise Linux 7 システム管理者のガイド』を参照してください。

対応しているダンプ出力先と非対応のダンプ出力先のタイプ別一覧は、表7.3「対応している kdump のダンプ出力先」 を参照してください。