7.5. サポートしている kdump の設定とダンプ出力先

7.5.1. kdump メモリー要件

kdump でカーネルクラッシュのダンプをキャプチャーして分析のため保存するには、キャプチャーカーネル用にシステムメモリーの一部を永続的に予約しておく必要があります。予約されている場合、システムメモリーのこの部分はメインカーネルでは使用できません。

メモリー要件は、特定のシステムパラメーターによって異なります。主な要因は、システムのハードウェアアーキテクチャーです。正確なマシンアーキテクチャー (Intel 64 や AMD64 (x86_64) など) を調べ、それを標準出力に出力するには、以下のコマンドを使用します。

$ uname -m

以下の表には、kdump 用のメモリーサイズを自動で予約する最小メモリー要件の一覧が含まれます。システムのアーキテクチャーと利用可能な物理メモリーの合計に応じて、サイズが変更されます。

表7.1 kdump 用に必要な最小予約メモリー

アーキテクチャー使用可能なメモリー最小予約メモリー

AMD64 と Intel 64 (x86_64)

1 GB から 4 GB

160 MB のメモリー

4 GB から 64 GB

192 MB のメモリー

64 GB から 1 TB

256 MB のメモリー

1TB 以上

512 MB のメモリー

64 ビット ARM アーキテクチャー (arm64)

2 GB 以上

448 MB のメモリー

IBM Power Systems (ppc64le)

2 GB から 4 GB

384 MB のメモリー

4 GB から 16 GB

512 MB のメモリー

16 GB から 64 GB

1 GB のメモリー

64 GB から 128 GB

2 GB のメモリー

128 GB 以上

4 GB のメモリー

IBM Z (s390x)

1 GB から 4 GB

160 MB のメモリー

4 GB から 64 GB

192 MB のメモリー

64 GB から 1 TB

256 MB のメモリー

1TB 以上

512 MB のメモリー

多くのシステムでは、kdump は必要なメモリー量を予測して、自動的に予約できます。この動作はデフォルトで有効になっていますが、利用可能なメモリー合計量が一定以上あるシステムでのみ動作します。これは、システムのアーキテクチャーによって異なります。

重要

システムのメモリー合計量に基づく予約メモリーの自動設定は、ベストエフォート予測です。実際に必要なメモリーは、I/O デバイスなどの他の要素により異なる場合があります。メモリーが十分でない場合は、カーネルパニックが発生したときにデバッグカーネルがキャプチャーカーネルとして起動できなくなる可能性があります。この問題を回避するには、クラッシュカーネルメモリーを十分なサイズにします。

関連情報

7.5.2. メモリー自動予約の最小しきい値

一部のシステムでは、ブートローダー設定ファイルで crashkernel=auto パラメーターを使用するか、グラフィカル設定ユーティリティーでこのオプションを有効にすることで、kdump 用のメモリーを自動的に割り当てることができます。ただし、この自動予約が機能するには、合計メモリーの特定量のメモリーを利用できる必要があります。必要な容量は、システムのアーキテクチャーによって異なります。

次の表は、自動メモリー割り当てのしきい値の一覧です。システムのメモリーが表の指定よりも低い場合、メモリーは手動で予約する必要があります。

表7.2 自動メモリー予約に必要な最小メモリーサイズ

アーキテクチャー必要なメモリー

AMD64 と Intel 64 (x86_64)

2 GB

IBM Power Systems (ppc64le)

2 GB

IBM  Z (s390x)

4 GB

関連情報

7.5.3. サポートしている kdump のダンプ出力先

カーネルクラッシュがキャプチャされたら、vmcore ダンプファイルはデバイスに直接書き込むか、ローカルフィアルシステム上でファイルとして保存されるか、ネットワークで送信されます。以下の表に、現在対応のダンプ出力先、または kdumpが明示的に対応していないダンプ出力先の完全な一覧を示します。

表7.3 対応している kdump のダンプ出力先

対応しているダンプ出力先対応していないダンプ出力先

Raw デバイス

ローカルで添付されたすべての raw ディスクとパーティション

 

ローカルファイルシステム

直接接続されているディスクドライブ、ハードウェア RAID 論理ドライブ、LVM デバイス、mdraid アレイ上の ext2ext 3ext4、および xfs ファイルシステム。

auto タイプ (自動ファイルシステム検出) など、この表で明示的にサポート対象とされていないローカルファイルシステム。

リモートディレクトリー

IPv4NFS または SSH プロトコルを使用してアクセスしたリモートディレクトリー。

NFS プロトコルを使用してアクセスした rootfs ファイルシステム上のリモートディレクトリー。

ハードウェアおよびソフトウェアイニシエーター上で iSCSI プロトコルを使用してアクセスするリモートディレクトリー。

be2iscsi ハードウェア上で iSCSI プロトコルを使用してアクセスするリモートディレクトリー。

マルチパスベースのストレージ

 

IPv6 上でアクセスするリモートディレクトリー

 

SMB または CIFS を使ってアクセスするリモートディレクトリー。

 

FCoE (Fibre Channel over Ethernet) プロトコルを使用してアクセスするリモートディレクトリー。

 

ワイヤレスネットワークインターフェースを使ってアクセスするリモートディレクトリー

重要

fadump (firmware assisted dump) を使用して vmcore を取得し、SSH プロトコルまたは NFS プロトコルを使用してリモートマシンに保存すると、ネットワークインターフェースの名前が kdump-<interface-name> に変更になります。名前変更は、<interface-name>*eth#net# などのように一般的な場合に発生します。この問題は、初期 RAM ディスク (initrd) の vmcore 取得スクリプトが、ネットワークインターフェース名に接尾辞 kdump- を追加して、永続的な名前付けを保護するために発生します。同じ initrd が通常の起動にも使用されるため、実稼働環境のカーネルのインターフェース名も変更されます。

関連情報

7.5.4. 対応している kdump のフィルターレベル

ダンプファイルのサイズを縮小するために、kdumpmakedumpfile コアコレクターを使用してデータを圧縮し、必要に応じて不要な情報を省略します。以下の表に、makedumpfile ユーティリティーで現在対応しているフィルターレベルの完全な一覧を示します。

表7.4 サポートしているフィルターレベル

オプション説明

1

ゼロページ

2

キャッシュページ

4

キャッシュプライベート

8

ユーザーページ

16

フリーページ

注記

makedumpfile コマンドは、透過的な大規模ページおよび hugetlbfs ページの削除に対応しています。これらのタイプの hugepages User Page の両方を考えて、-8 レベルを使用して削除します。

関連情報

7.5.5. 対応しているデフォルトの障害応答

デフォルトでは、kdump がコアダンプを作成できない場合、オペレーティングシステムが再起動します。ただし、コアダンプをプライマリーターゲットに保存できない場合は、kdump が別の操作を実行するように設定できます。次の表は、現在対応しているすべてのデフォルトアクションの一覧です。

表7.5 サポートしているデフォルトの動作

オプション説明

dump_to_rootfs

root ファイルシステムにコアダンプの保存を試行します。ネットワーク上のダンプ出力先と併用する場合に特に便利なオプションです。ネットワーク上のダンプ出力先にアクセスできない場合、ローカルにコアダンプを保存するよう kdump の設定を行います。システムは、後で再起動します。

reboot

システムを再起動します。コアダンプは失われます。

halt

システムを停止します。コアダンプは失われます。

poweroff

システムの電源を切ります。コアダンプは失われます。

shell

initramfs 内から shell セッションを実行して、ユーザーが手動でコアダンプを記録できるようにします。

関連情報

7.5.6. kdumpサイズの見積もり

kdump 環境のプランニングや構築の際には、ダンプファイルに必要な容量を把握してから作成する必要があります。

makedumpfile --mem-usage コマンドは、除外可能なページに関する有用なレポートを生成し、割り当てるダンプレベルを決定するために使用できます。システムが代表的な負荷においてこのコマンドを実行します。それ以外の場合、makedumpfile --mem-usage は実稼働環境で想定されている値より小さい値を返します。

[root@hostname ~]# makedumpfile --mem-usage /proc/kcore

TYPE            PAGES                   EXCLUDABLE      DESCRIPTION
----------------------------------------------------------------------
ZERO            501635                  yes             Pages filled with zero
CACHE           51657                   yes             Cache pages
CACHE_PRIVATE   5442                    yes             Cache pages + private
USER            16301                   yes             User process pages
FREE            77738211                yes             Free pages
KERN_DATA       1333192                 no              Dumpable kernel data
重要

makedumpfile --mem-usage コマンドは、ページ単位の報告を行います。つまり、カーネルページサイズに対して、使用中のメモリーのサイズを計算する必要があります。デフォルトでは、Red Hat Enterprise Linux カーネルは、AMD64 および Intel 64 アーキテクチャーに 4 KB のサイズのページを使用し、IBM POWER アーキテクチャーには 64 KB のサイズのページを使用します。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。