41.2. コマンドラインで kdump の設定
kdump
用メモリーは、システムの起動時に予約されます。システムの Grand Unified Bootloader (GRUB) 設定ファイルでメモリーサイズを設定できます。メモリーサイズは、設定ファイルで指定された crashkernel=
値と、システムの物理メモリーのサイズによって異なります。
41.2.1. kdump サイズの見積もり リンクのコピーリンクがクリップボードにコピーされました!
kdump
環境を計画および構築するときは、クラッシュダンプファイルに必要な容量を把握することが重要です。
makedumpfile --mem-usage
コマンドは、クラッシュダンプファイルに必要な容量を推定します。また、メモリー使用量に関するレポートを生成します。このレポートは、ダンプレベルと、除外しても問題ないページを決定するのに役立ちます。
手順
次のコマンドを入力して、メモリー使用量に関するレポートを生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
makedumpfile --mem-usage
は、必要なメモリーをページ単位で報告します。つまり、カーネルページサイズを元に、使用するメモリーのサイズを計算する必要があります。
41.2.2. メモリー使用量の設定 リンクのコピーリンクがクリップボードにコピーされました!
kdump
のメモリー予約は、システムの起動中に行われます。メモリーサイズは、システムの GRUB (Grand Unified Bootloader) 設定で設定されます。メモリーサイズは、設定ファイルで指定された crashkernel=
オプションの値と、システムの物理メモリーのサイズにより異なります。
crashkernel=
オプションはさまざまな方法で定義できます。crashkernel=
値を指定するか、auto
オプションを設定できます。crashkernel=auto
パラメーターは、システムの物理メモリーの合計量に基づいて、メモリーを自動的に予約します。これを設定すると、カーネルは、キャプチャーカーネルに必要な適切な量のメモリーを自動的に予約します。これにより、OOM (Out-of-Memory) エラーの回避に役立ちます。
kdump
の自動メモリー割り当ては、システムのハードウェアアーキテクチャーと利用可能なメモリーサイズによって異なります。
システムに、自動割り当ての最小メモリーしきい値より少ないメモリーしかない場合は、手動で予約メモリーの量を設定できます。
前提条件
- システムの root 権限がある。
-
kdump
設定とターゲットの要件をすべて満たしている。詳細は サポートされている kdump 設定とターゲット を参照してください。
手順
crashkernel=
オプションを準備してください。たとえば、128 MB のメモリーを予約するには、以下を使用します。
crashkernel=128M
crashkernel=128M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、インストールされているメモリーの合計量に応じて、予約メモリーサイズを変数に設定できます。変数へのメモリー予約の構文は
crashkernel=<range1>:<size1>,<range2>:<size2>
です。以下に例を示します。crashkernel=512M-2G:64M,2G-:128M
crashkernel=512M-2G:64M,2G-:128M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムメモリーの合計量が 512 MB - 2 GB の範囲にある場合、64 MB のメモリーを予約します。メモリーの合計量が 2 GB を超える場合、メモリー予約は 128 MB になります。
予約メモリーのオフセット。
一部のシステムでは、
crashkernel
の予約が早い段階で行われるため、特定の固定オフセットでメモリーを予約する必要があります。また、特別な用途のために、さらに多くのメモリーの予約が必要になることもあります。オフセットを定義すると、予約メモリーはそこから開始されます。予約メモリーをオフセットするには、以下の構文を使用します。crashkernel=128M@16M
crashkernel=128M@16M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
kdump
は 16 MB (物理アドレス0x01000000
) から始まる 128 MB のメモリーを予約します。offset パラメーターを 0 に設定するか、完全に省略すると、kdump
は予約メモリーを自動的にオフセットします。変数のメモリー予約を設定する場合は、この構文を使用することもできます。その場合、オフセットは常に最後に指定されます。以下に例を示します。crashkernel=512M-2G:64M,2G-:128M@16M
crashkernel=512M-2G:64M,2G-:128M@16M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
crashkernel=
オプションをブートローダー設定に適用します。grubby --update-kernel=ALL --args="crashkernel=<value>"
# grubby --update-kernel=ALL --args="crashkernel=<value>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <value>
は、前のステップで準備したcrashkernel=
オプションの値に置き換えます。
41.2.3. kdump ターゲットの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラッシュダンプは通常、ローカルファイルシステムにファイルとして保存され、デバイスに直接書き込まれます。必要に応じて、NFS
または SSH
プロトコルを使用して、ネットワーク経由でクラッシュダンプを送信できます。クラッシュダンプファイルを保存するオプションは、一度に 1 つだけ設定できます。デフォルトの動作では、ローカルファイルシステムの /var/crash/
ディレクトリーに保存されます。
前提条件
- システムの root 権限がある。
-
kdump
設定とターゲットの要件をすべて満たしている。詳細は サポートされている kdump 設定とターゲット を参照してください。
手順
ローカルファイルシステムの
/var/crash/
ディレクトリーにクラッシュダンプファイルを保存するには、/etc/kdump.conf
ファイルを変更して、パスを指定します。path /var/crash
path /var/crash
Copy 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/cores
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要RHEL 8 では、障害を回避するために、
kdump
systemd
サービスの起動時に、path
ディレクティブを使用してkdump
ターゲットとして定義されたディレクトリーが存在している必要があります。以前のバージョンの RHEL とは異なり、サービス起動時にディレクトリーが存在しない場合、ディレクトリーは自動的に作成されなくなりました。
-
ファイルを別のパーティションに書き込むには、
/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-27507ac41937
Copy 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/sdb1
Copy 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/cores
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を有効にするには、
kdump
サービスを再起動します。sudo systemctl restart kdump.service
sudo systemctl restart kdump.service
Copy 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/mykey
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
-
41.2.4. kdump コアコレクターの設定 リンクのコピーリンクがクリップボードにコピーされました!
kdump
では、core_collector
を使用してクラッシュダンプイメージをキャプチャーします。RHEL では、makedumpfile
ユーティリティーがデフォルトのコアコレクターです。これは、以下に示すプロセスによりダンプファイルを縮小するのに役立ちます。
- クラッシュダンプファイルのサイズを圧縮し、さまざまなダンプレベルを使用して必要なページのみをコピーする
- 不要なクラッシュダンプページを除外する
- クラッシュダンプに含めるページタイプをフィルタリングする
クラッシュダンプファイルの圧縮は、RHEL 7 以降ではデフォルトで有効になっています。
クラッシュダンプファイルの圧縮をカスタマイズする必要がある場合は、以下の手順に従います。
構文
core_collector makedumpfile -l --message-level 1 -d 31
core_collector makedumpfile -l --message-level 1 -d 31
オプション
-
-c
、-l
、または-p
:zlib
(-c
オプションの場合)、lzo
(-l
オプションの場合)、またはsnappy
(-p
オプションの場合) のいずれかを使用して、ページごとに圧縮ダンプファイルの形式を指定します。 -
-d
(dump_level)
: ページを除外して、ダンプファイルにコピーされないようにします。 -
--message-level
: メッセージタイプを指定します。このオプションでmessage_level
を指定すると、出力の表示量を制限できます。たとえば、message_level
で 7 を指定すると、一般的なメッセージとエラーメッセージを出力します。message_level
の最大値は 31 です。
前提条件
- システムの root 権限がある。
-
kdump
設定とターゲットの要件をすべて満たしている。詳細は サポートされている kdump 設定とターゲット を参照してください。
手順
-
root
として、/etc/kdump.conf
設定ファイルを編集し、#core_collector makedumpfile -l --message-level 1 -d 31
の先頭からハッシュ記号 ("#") を削除します。 - 次のコマンドを入力して、クラッシュダンプファイルの圧縮を有効にします。
core_collector makedumpfile -l --message-level 1 -d 31
core_collector makedumpfile -l --message-level 1 -d 31
-l
オプションにより、dump
の圧縮ファイル形式を指定します。-d
オプションで、ダンプレベルを 31 に指定します。--message-level
オプションで、メッセージレベルを 1 に指定します。
また、-c
オプションおよび -p
オプションを使用した以下の例を検討してください。
-c
を使用してクラッシュダンプファイルを圧縮するには、次のコマンドを実行します。core_collector makedumpfile -c -d 31 --message-level 1
core_collector makedumpfile -c -d 31 --message-level 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -p
を使用してクラッシュダンプファイルを圧縮するには、次のコマンドを実行します。core_collector makedumpfile -p -d 31 --message-level 1
core_collector makedumpfile -p -d 31 --message-level 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
41.2.5. kdump のデフォルト障害応答の設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、設定したターゲットの場所で kdump
がクラッシュダンプファイルの作成に失敗すると、システムが再起動し、ダンプがプロセス内で失われます。デフォルトの失敗応答を変更し、コアダンプをプライマリーターゲットに保存できない場合に別の操作を実行するように kdump
を設定できます。追加のアクションは次のとおりです。
dump_to_rootfs
-
コアダンプを
root
ファイルシステムに保存します。 reboot
- システムを再起動します。コアダンプは失われます。
halt
- システムを停止します。コアダンプは失われます。
poweroff
- システムの電源を切ります。コアダンプは失われます。
shell
-
initramfs
内からシェルセッションを実行します。コアダンプを手動で記録できます。 final_action
-
kdump
の成功後、またはシェルまたはdump_to_rootfs
の失敗アクションの完了時に、reboot
、halt
およびpoweroff
などの追加操作を有効にします。デフォルトはreboot
です。 failure_action
-
カーネルクラッシュでダンプが失敗する可能性がある場合に実行するアクションを指定します。デフォルトは
reboot
です。
前提条件
- root 権限
-
kdump
設定とターゲットの要件をすべて満たしている。詳細は サポートされている kdump 設定とターゲット を参照してください。
手順
-
root
ユーザーとして、/etc/kdump.conf
設定ファイルの#failure_action
行の先頭からハッシュ記号 (#
) を削除します。 値を必要なアクションに置き換えます。
failure_action poweroff
failure_action poweroff
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
41.2.6. kdump の設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
kdump
カーネルの設定ファイルは /etc/sysconfig/kdump
です。このファイルは、kdump
カーネルコマンドラインパラメーターを制御します。ほとんどの設定では、デフォルトオプションを使用します。ただし、シナリオによっては、kdump
カーネルの動作を制御するために特定のパラメーターを変更する必要があります。たとえば、KDUMP_COMMANDLINE_APPEND
オプションを変更して kdump
カーネルコマンドラインを追加して詳細なデバッグ出力を取得したり、KDUMP_COMMANDLINE_REMOVE
オプションを変更して kdump
コマンドラインから引数を削除したりします。
KDUMP_COMMANDLINE_REMOVE
現在の
kdump
コマンドラインから引数を削除します。これにより、kdump
エラーやkdump
カーネルの起動失敗の原因となるパラメーターが削除されます。これらのパラメーターは、以前のKDUMP_COMMANDLINE
プロセスから解析されるか、/proc/cmdline
ファイルから継承されたものである場合があります。この変数が設定されていない場合は、
/proc/cmdline
ファイルからすべての値が継承されます。このオプションを設定すると、問題のデバッグに役立つ情報も提供されます。特定の引数を削除するには、以下のようにして
KDUMP_COMMANDLINE_REMOVE
に追加します。
KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
# KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
KDUMP_COMMANDLINE_APPEND
このオプションは、現在のコマンドラインに引数を追加します。この引数は、以前の
KDUMP_COMMANDLINE_REMOVE
変数によって解析されたものである場合があります。kdump
カーネルの場合は、mce
、cgroup
、numa
、hest_disable
などの特定のモジュールを無効にすると、カーネルエラーを防ぐのに役立ちます。これらのモジュールは、kdump
用に予約されているカーネルメモリーの大部分を消費したり、kdump
カーネルの起動失敗を引き起こしたりする可能性があります。kdump
カーネルコマンドラインでメモリーcgroup
を無効にするには、以下のコマンドを実行します。
KDUMP_COMMANDLINE_APPEND="cgroup_disable=memory"
KDUMP_COMMANDLINE_APPEND="cgroup_disable=memory"
41.2.7. kdump 設定のテスト リンクのコピーリンクがクリップボードにコピーされました!
kdump
を設定したら、システムクラッシュを手動でテストして、定義した kdump
ターゲットに vmcore
ファイルが生成されていることを確認する必要があります。vmcore
ファイルは、新しく起動したカーネルのコンテキストからキャプチャーされます。したがって、vmcore
にはカーネルクラッシュをデバッグするための重要な情報が含まれています。
アクティブな実稼働システムでは kdump
をテストしないでください。kdump
をテストするコマンドにより、カーネルがクラッシュし、データが失われます。システムアーキテクチャーに応じて、十分なメンテナンス時間を必ず確保してください。kdump
のテストでは時間のかかる再起動が数回必要になる場合があります。
kdump
のテスト中に vmcore
ファイルが生成されない場合は、kdump
のテストを成功させるために、再度テストを実行する前に問題を特定して修正してください。
手動でシステムを変更した場合は、システム変更の最後に kdump
設定をテストする必要があります。たとえば、次のいずれかの変更を行った場合は、kdump
のパフォーマンスが最適になるように、kdump
の設定をテストしてください。
- パッケージのアップグレード。
- ハードウェアレベルの変更 (ストレージやネットワークの変更など)。
- ファームウェアのアップグレード。
- サードパーティーのモジュールを含む新規のインストールおよびアプリケーションのアップグレード。
- ホットプラグメカニズムを使用した、このメカニズムをサポートするハードウェアへのメモリーの追加。
-
/etc/kdump.conf
ファイルまたは/etc/sysconfig/kdump
ファイルに対する変更。
前提条件
- システムの root 権限がある。
-
重要なデータがすべて保存されている。
kdump
をテストするコマンドにより、カーネルがクラッシュし、データが失われます。 - システムアーキテクチャーに応じて、十分なマシンメンテナンス時間が確保されている。
手順
kdump
サービスを有効にします。kdumpctl restart
# kdumpctl restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdumpctl
を使用してkdump
サービスのステータスを確認します。kdumpctl status
# kdumpctl status kdump:Kdump is operational
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて
systemctl
コマンドを使用すると、出力がsystemd
ジャーナルに印刷されます。カーネルクラッシュを開始して、
kdump
の設定をテストします。sysrq-trigger
キーの組み合わせによりカーネルがクラッシュし、必要に応じてシステムが再起動します。echo c > /proc/sysrq-trigger
# echo c > /proc/sysrq-trigger
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルの再起動時に、
/etc/kdump.conf
ファイルで指定した場所にaddress-YYYY-MM-DD-HH:MM:SS/vmcore
ファイルが作成されます。デフォルトは/var/crash/
です。
41.2.8. システムクラッシュ後に kdump によって生成されるファイル リンクのコピーリンクがクリップボードにコピーされました!
システムがクラッシュすると、kdump
サービスは、カーネルメモリーをダンプファイル (vmcore
) にキャプチャーします。また、トラブルシューティングと事後分析に役立つ追加の診断ファイルを生成します。
kdump
によって生成されるファイル:
-
vmcore
- クラッシュ時のシステムメモリーを含む主なカーネルメモリーダンプファイル。これには、kdump
設定で指定されているcore_collector
プログラムの設定に従ってデータが追加されます。デフォルトでは、カーネルデータ構造、プロセス情報、スタックトレース、およびその他の診断情報が含まれます。 -
vmcore-dmesg.txt
- パニックになったプライマリーカーネルからのカーネルリングバッファーログ (dmesg
) の内容。 -
kexec-dmesg.log
-vmcore
データを収集するセカンダリーのkexec
カーネルの実行に基づくカーネルおよびシステムログメッセージが含まれます。
41.2.9. kdump サービスの有効化および無効化 リンクのコピーリンクがクリップボードにコピーされました!
kdump
機能は、特定のカーネルまたはインストールされているすべてのカーネルで有効または無効にするように設定できます。kdump
機能を定期的にテストし、正しく動作することを検証する必要があります。
前提条件
- システムの root 権限がある。
-
kdump
の設定とターゲットの要件をすべて満たしている。サポートされている kdump 設定とターゲット を参照してください。 -
kdump
をインストールするためのすべての設定が、要件に応じてセットアップされている。
手順
multi-user.target
のkdump
サービスを有効にします。systemctl enable kdump.service
# systemctl enable kdump.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在のセッションでサービスを起動します。
systemctl start kdump.service
# systemctl start kdump.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdump
サービスを停止します。systemctl stop kdump.service
# systemctl stop kdump.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdump
サービスを無効にします。systemctl disable kdump.service
# systemctl disable kdump.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
kptr_restrict=1
をデフォルトとして設定することが推奨されます。kptr_restrict
がデフォルトで (1) に設定されている場合、Kernel Address Space Layout (KASLR
) が有効かどうかに関係なく、kdumpctl
サービスがクラッシュカーネルをロードします。
kptr_restrict
が 1
に設定されておらず、KASLR が有効になっている場合は、/proc/kore
ファイルの内容がすべてゼロとして生成されます。kdumpctl
サービスは、/proc/kcore
ファイルにアクセスしてクラッシュカーネルを読み込むことができません。kexec-kdump-howto.txt
ファイルには、kptr_restrict=1
に設定することを推奨する警告メッセージが表示されます。kdumpctl
サービスが必ずクラッシュカーネルを読み込むように、sysctl.conf
ファイルで次の内容を確認します。
-
sysctl.conf
ファイルでのカーネルのkptr_restrict=1
設定
41.2.10. カーネルドライバーが kdump を読み込まないようにする設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/sysconfig/kdump
設定ファイルに KDUMP_COMMANDLINE_APPEND=
変数を追加することで、キャプチャーカーネルが特定のカーネルドライバーをロードしないように制御できます。この方法を使用すると、kdump
初期 RAM ディスクイメージ initramfs
が、指定されたカーネルモジュールをロードするのを防ぐことができます。これにより、メモリー不足 (OOM) killer エラーやその他のクラッシュカーネル障害を防ぐことができます。
次のいずれかの設定オプションを使用して、KDUMP_COMMANDLINE_APPEND=
変数を追加できます。
-
rd.driver.blacklist=<modules>
-
modprobe.blacklist=<modules>
前提条件
- システムの root 権限がある。
手順
現在実行中のカーネルに読み込まれるモジュールのリストを表示します。ロードをブロックするカーネルモジュールを選択します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/kdump
ファイルのKDUMP_COMMANDLINE_APPEND=
変数を更新します。以下に例を示します。KDUMP_COMMANDLINE_APPEND="rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv"
KDUMP_COMMANDLINE_APPEND="rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe.blacklist=<modules>
設定オプションを使用した以下の例も検討してください。KDUMP_COMMANDLINE_APPEND="modprobe.blacklist=emcp modprobe.blacklist=bnx2fc modprobe.blacklist=libfcoe modprobe.blacklist=fcoe"
KDUMP_COMMANDLINE_APPEND="modprobe.blacklist=emcp modprobe.blacklist=bnx2fc modprobe.blacklist=libfcoe modprobe.blacklist=fcoe"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kdump
サービスを再起動します。systemctl restart kdump
# systemctl restart kdump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
41.2.11. 暗号化されたディスクがあるシステムでの kdump の実行 リンクのコピーリンクがクリップボードにコピーされました!
LUKS 暗号化パーティションを実行すると、システムで利用可能なメモリーが一定量必要になります。システムが必要なメモリー量を下回ると、cryptsetup
ユーティリティーがパーティションのマウントに失敗します。その結果、2 番目のカーネル (キャプチャーカーネル) で、暗号化したターゲットの場所に vmcore
ファイルをキャプチャーできませんでした。
kdumpctl estimate
コマンドは、kdump
に必要なメモリーの量を見積もるのに役立ちます。kdumpctl estimate
値は、推奨される crashkernel
値を出力します。これは、kdump
に必要な最適なメモリーサイズです。
推奨の crashkernel
値は、現在のカーネルサイズ、カーネルモジュール、initramfs、および暗号化したターゲットメモリー要件に基づいて計算されます。
カスタムの crashkernel=
オプションを使用している場合、kdumpctl estimate
は LUKS required size
値を出力します。この値は、LUKS 暗号化ターゲットに必要なメモリーサイズです。
手順
crashkernel=
の推定値を出力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
crashkernel=
の値を増やして、必要なメモリー量を設定します。 - システムを再起動します。
それでも kdump
がダンプファイルを暗号化したターゲットに保存できない場合は、必要に応じて crashkernel=
を増やしてください。