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…
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"
# grubby --update-kernel=ALL --args="fadump=on"Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: デフォルトを使用する代わりに予約済みのブートメモリーを指定する場合は、
crashkernel= xx Mオプションを有効にします。ここで、xxは必要なメモリーの量 (メガバイト単位) です。grubby --update-kernel=ALL --args="crashkernel=xxM fadump=on"
# grubby --update-kernel=ALL --args="crashkernel=xxM fadump=on"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ブート設定オプションを指定するときは、実行する前にすべてのブート設定オプションをテストしてください。
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
kernel.panic=0 kernel.unknown_nmi_panic=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告特に、
kdumpの後にシステムが再起動しないようにする必要があります。kdumpがvmcoreファイルの保存に失敗した後にシステムが再起動すると、sadumpを呼び出すことができなくなります。/etc/kdump.confのfailure_actionパラメーターをhaltまたはshellとして適切に設定します。failure_action shell
failure_action shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow