41.10. ファームウェア支援ダンプの仕組み
ファームウェア支援ダンプ (fadump) は、IBM POWER システムの kdump
メカニズムの代わりに提供されるダンプ取得メカニズムです。kexec
および kdump
のメカニズムは、AMD64 および Intel 64 システムでコアダンプを取得する際に役立ちます。ただし、ミニシステムやメインフレームコンピューターなどの一部のハードウェアでは、オンボードファームウェアを使用してメモリー領域を分離し、クラッシュ分析で重要なデータが誤って上書きされることを防ぎます。fadump
ユーティリティーは、fadump
メカニズムと IBM POWER システム上の RHEL とのインテグレーション向けに最適化されています。
41.10.1. IBM PowerPC ハードウェアにおけるファームウェア支援ダンプ
fadump
ユーティリティーは、PCI デバイスおよび I/O デバイスが搭載され、完全にリセットされたシステムから vmcore
ファイルをキャプチャーします。この仕組みでは、クラッシュするとファームウェアを使用してメモリー領域を保存し、kdump
ユーザー空間スクリプトをもう一度使用して vmcore
ファイルを保存します。このメモリー領域には、ブートメモリー、システムレジスター、およびハードウェアのページテーブルエントリー (PTE) を除く、すべてのシステムメモリーコンテンツが含まれます。
fadump
メカニズムは、パーティションを再起動し、新規カーネルを使用して以前のカーネルクラッシュからのデータをダンプすることで従来のダンプタイプに比べて信頼性が向上されています。fadump
には、IBM POWER6 プロセッサーベースまたはそれ以降バージョンのハードウェアプラットフォームが必要です。
PowerPC 固有のハードウェアのリセット方法など、fadump
メカニズムの詳細は、/usr/share/doc/kexec-tools/fadump-howto.txt
ファイルを参照してください。
保持されないメモリー領域はブートメモリーと呼ばれており、この領域はクラッシュ後にカーネルを正常に起動するのに必要なメモリー容量です。デフォルトのブートメモリーサイズは、256 MB または全システム RAM の 5% のいずれか大きい方です。
kexec
で開始されたイベントとは異なり、fadump
メカニズムでは実稼働用のカーネルを使用してクラッシュダンプを復元します。PowerPC ハードウェアは、クラッシュ後の起動時に、デバイスノード /proc/device-tree/rtas/ibm.kernel-dump
が proc
ファイルシステム (procfs
) で利用できるようにします。fadump-aware kdump
スクリプトでは、保存された vmcore
があるかを確認してから、システムの再起動を正常に完了させます。
41.10.2. ファームウェア支援ダンプメカニズムの有効化
IBM POWER システムのクラッシュダンプ機能は、ファームウェア支援ダンプ (fadump
) メカニズムを有効にすることで強化できます。
セキュアブート環境では、GRUB ブートローダーは、Real Mode Area (RMA) と呼ばれるブートメモリー領域を割り当てます。RMA のサイズは 512 MB で、ブートコンポーネント間で分割されます。コンポーネントがサイズ割り当てを超えると、GRUB
はメモリー不足 (OOM
) エラーで失敗します。
RHEL 8.7 および 8.6 バージョンのセキュアブート環境では、ファームウェア支援ダンプ (fadump
) メカニズムを有効にしないでください。GRUB2
ブートローダーが次のエラーで失敗します。
error: ../../grub-core/kern/mm.c:376:out of memory. Press any key to continue…
システムは、fadump
設定のためにデフォルトの initramfs
サイズを増やした場合にのみ回復可能です。
システムを回復するための回避策については、記事 System boot ends in GRUB Out of Memory (OOM) を参照してください。
手順
-
kdump
のインストールと設定 fadump=on
カーネルオプションを有効にします。# grubby --update-kernel=ALL --args="fadump=on"
オプション: デフォルトを使用する代わりに予約済みのブートメモリーを指定する場合は、
crashkernel= xx M
オプションを有効にします。ここで、xx
は必要なメモリーの量 (メガバイト単位) です。# grubby --update-kernel=ALL --args="crashkernel=xxM fadump=on"
重要ブート設定オプションを指定するときは、実行する前にすべてのブート設定オプションをテストしてください。
kdump
カーネルの起動に失敗した場合は、crashkernel=
引数に指定した値を徐々に増やして、適切な値を設定します。
41.10.3. IBM Z ハードウェアにおけるファームウェア支援ダンプの仕組み
IBM Z システムは、以下のファームウェア支援ダンプメカニズムをサポートします。
-
スタンドアロンダンプ (sadump)
-
VMDUMP
IBM Z システムでは、kdump
インフラストラクチャーはサポート対象で、使用されています。ただし、IBM Z のファームウェア支援ダンプ (fadump) 方式のいずれかを使用すると、次のような利点があります。
-
システムコンソールは
sadump
メカニズムを開始および制御し、それをIPL
ブート可能なデバイスに保存します。 -
VMDUMP
メカニズムはsadump
に似ています。このツールもシステムコンソールから開始しますが、ハードウェアから生成されたダンプを取得して解析用にシステムにコピーします。 -
(他のハードウェアベースのダンプメカニズムと同様に) これらの手法では、(
kdump
サービスが開始される前の) 起動初期段階におけるマシンの状態をキャプチャーできます。 -
VMDUMP
には、ダンプファイルを Red Hat Enterprise Linux システムに受信するメカニズムが含まれていますが、VMDUMP
の設定と制御は IBM Z ハードウェアコンソールから管理されます。
41.10.4. Fujitsu PRIMEQUEST システムにおける sadump の使用
Fujitsu sadump
メカニズムは、kdump
が正常に完了できない場合に fallback
ダンプキャプチャーを提供します。システム管理ボード (MMB) インターフェイスから sadump
を手動で呼び出すことができます。MMB を使用して、Intel 64 または AMD 64 サーバーの場合と同様に kdump
を設定し、sadump
を有効にします。
手順
sadump
に対してkdump
が予想どおりに起動するように/etc/sysctl.conf
ファイルで以下の行を追加または編集します。kernel.panic=0 kernel.unknown_nmi_panic=1
警告特に、
kdump
の後にシステムが再起動しないようにする必要があります。kdump
がvmcore
ファイルの保存に失敗した後にシステムが再起動すると、sadump
を呼び出すことができなくなります。/etc/kdump.conf
のfailure_action
パラメーターをhalt
またはshell
として適切に設定します。failure_action shell
関連情報
- FUJITSU Server PRIMEQUEST 2000 Series インストールマニュアル