4.3. kdump ターゲットの設定
クラッシュダンプは通常、ローカルファイルシステムにファイルとして保存され、デバイスに直接書き込まれます。必要に応じて、NFS または SSH プロトコルを使用して、ネットワーク経由でクラッシュダンプを送信できます。クラッシュダンプファイルを保存するオプションは、一度に 1 つだけ設定できます。デフォルトの動作では、ローカルファイルシステムの /var/crash/ ディレクトリーに保存されます。
前提条件
- システムの root 権限がある。
-
kdump設定とターゲットの要件をすべて満たしている。詳細は、サポートされている kdump 設定とターゲット を参照してください。
手順
ローカルファイルシステムの
/var/crash/ディレクトリーにクラッシュダンプファイルを保存するには、/etc/kdump.confファイルを変更して、パスを指定します。path /var/crash
path /var/crashCopy to Clipboard Copied! Toggle word wrap Toggle overflow path /var/crashオプションは、kdumpがクラッシュダンプファイルを保存するファイルシステムへのパスを表します。注記-
/etc/kdump.confファイルでダンプターゲットを指定すると、path は指定されたダンプ出力先に対する相対パスになります。 -
/etc/kdump.confファイルでダンプターゲットを指定しない場合、パスはルートディレクトリーからの 絶対 パスを表します。
現在のシステムにマウントされているファイルシステムに応じて、ダンプターゲットと調整されたダンプパスが自動的に設定されます。
-
kdumpによって生成されるクラッシュダンプファイルと付随するファイルを保護するには、ユーザー権限や SELinux コンテキストなど、ターゲットの宛先ディレクトリーの属性を適切に設定する必要があります。さらに、次のようにkdump.confファイルでkdump_post.shなどのスクリプトを定義することもできます。kdump_post <path_to_kdump_post.sh>
kdump_post <path_to_kdump_post.sh>Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdump_postディレクティブは、kdumpがクラッシュダンプの取得と指定の保存先への保存を完了した 後に 実行されるシェルスクリプトまたはコマンドを指定するものです。このメカニズムを使用すると、kdumpの機能を拡張して、ファイル権限の調整などの操作を実行できます。-
kdumpターゲット設定
*grep -v ^# /etc/kdump.conf | grep -v ^$*
# *grep -v ^# /etc/kdump.conf | grep -v ^$*
ext4 /dev/mapper/vg00-varcrashvol
path /var/crash
core_collector makedumpfile -c --message-level 1 -d 31
ダンプターゲットが指定されています (ext4 /dev/mapper/vg00-varcrashvol)。そのため、ダンプターゲットは /var/crash にマウントされます。path オプションも /var/crash に設定されています。したがって、kdump は、vmcore ファイルを /var/crash/var/crash ディレクトリーに保存します。
クラッシュダンプを保存するローカルディレクトリーを変更するには、
rootユーザーとして/etc/kdump.conf設定ファイルを編集します。-
#path /var/crashの行頭にあるハッシュ記号 (#) を削除します。 値を対象のディレクトリーパスに置き換えます。以下に例を示します。
path /usr/local/cores
path /usr/local/coresCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Red Hat Enterprise Linux 10 では、障害を回避するために、
kdumpsystemdサービスの起動時に、pathディレクティブを使用してkdumpターゲットとして定義されたディレクトリーが存在している必要があります。サービスの起動時にディレクトリーが存在しない場合は、ディレクトリーは自動的に作成されなくなります。
-
ファイルを別のパーティションに書き込むには、
/etc/kdump.conf設定ファイルを編集します。必要に応じて
#ext4の行頭にあるハッシュ記号 (#) を削除します。-
デバイス名 (
#ext4 /dev/vg/lv_kdump行) -
ファイルシステムラベル (
#0ext4 LABEL=/boot行) -
UUID (
#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937の行)
-
デバイス名 (
ファイルシステムタイプとデバイス名、ラベル、または UUID を必要な値に変更します。UUID 値を指定するための正しい構文は、
UUID="correct-uuid"とUUID=correct-uuidの両方です。以下に例を示します。ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要LABEL=またはUUID=を使用してストレージデバイスを指定する必要があります。/dev/sda3などのディスクデバイス名は、再起動した場合に一貫性が保証されません。IBM Z ハードウェアで Direct Access Storage Device (DASD) を使用する場合は、
kdumpに進む前に、ダンプデバイスが/etc/dasd.confで正しく指定されていることを確認してください。
クラッシュダンプを直接書き込むには、
/etc/kdump.conf設定ファイルを修正します。-
#raw /dev/vg/lv_kdumpの行頭にあるハッシュ記号 (#) を削除します。 値を対象のデバイス名に置き換えます。以下に例を示します。
raw /dev/sdb1
raw /dev/sdb1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
NFSプロトコルを使用してクラッシュダンプをリモートマシンに保存するには、次の手順を実行します。-
#nfs my.server.com:/export/tmpの行頭にあるハッシュ記号 (#) を削除します。 値を、正しいホスト名およびディレクトリーパスに置き換えます。以下に例を示します。
nfs penguin.example.com:/export/cores
nfs penguin.example.com:/export/coresCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を有効にするには、
kdumpサービスを再起動します。sudo systemctl restart kdump.service
$ sudo systemctl restart kdump.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記NFS ディレクティブを使用して NFS ターゲットを指定すると、
kdump.serviceが自動的に NFS ターゲットをマウントしてディスク容量をチェックしようとします。NFS ターゲットを事前にマウントする必要はありません。kdump.serviceがターゲットをマウントしないようにするには、kdump.confでdracut_args --mountディレクティブを使用します。これにより、kdump.serviceが--mount引数を使用してdracutユーティリティーを呼び出して NFS ターゲットを指定できるようになります。
-
SSH プロトコルを使用してクラッシュダンプをリモートマシンに保存するには、次の手順を実行します。
-
#ssh user@my.server.comの行頭にあるハッシュ記号 (#) を削除します。 - 値を正しいユーザー名およびホスト名に置き換えます。
SSH キーを設定に含めます。
-
#sshkey /root/.ssh/kdump_id_rsaの行頭にあるハッシュ記号 (#) を削除します。 値を、ダンプ先のサーバー上の正しいキーの場所に変更します。以下に例を示します。
ssh john@penguin.example.com sshkey /root/.ssh/mykey
ssh john@penguin.example.com sshkey /root/.ssh/mykeyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
-