Red Hat Training

A Red Hat training course is available for RHEL 8

42.10. ファームウェア支援ダンプの仕組み

ファームウェア支援ダンプ (fadump) は、IBM POWER システムの kdump メカニズムの代わりに提供されるダンプ取得メカニズムです。kexec および kdump のメカニズムは、AMD64 および Intel 64 システムでコアダンプを取得する際に役立ちます。ただし、最小システムやメインフレームコンピューターなどの一部のハードウェアでは、オンボードファームウェアを活用してメモリー領域を分離して、クラッシュ分析に重要なデータが誤って上書きされないようにします。fadump ユーティリティーは、fadump メカニズムと IBM POWER システム上の RHEL との統合向けに最適化されています。

42.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-dumpproc ファイルシステム (procfs) で利用できるようにします。fadump-aware kdump スクリプトでは、保存された vmcore があるかを確認してから、システムの再起動を正常に完了させます。

42.10.2. ファームウェア支援ダンプメカニズムの有効化

IBM POWER システムのクラッシュダンプ機能は、ファームウェア支援ダンプ (fadump) メカニズムを有効にすることで強化できます。

セキュアブート環境では、GRUB2 ブートローダーは、Real Mode Area (RMA) と呼ばれるブートメモリー領域を割り当てます。RMA のサイズは 512 MB で、ブートコンポーネント間で分割されます。コンポーネントがサイズの割り当てを超えると、GRUB2 はメモリー不足 (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) を参照してください。

手順

  1. kdump のインストールと設定
  2. fadump=on カーネルオプションを有効にします。

    # grubby --update-kernel=ALL --args="fadump=on"
  3. (オプション) デフォルトを使用する代わりに、予約済みのブートメモリーを指定する場合は、crashkernel=xxM オプションを有効にします。ここで、xx は必要なメモリーの量 (メガバイト単位) です。

    # grubby --update-kernel=ALL --args="crashkernel=xxM fadump=on"
    重要

    ブート設定オプションを指定するときは、実行する前にすべてのブート設定オプションをテストしてください。kdump カーネルの起動に失敗した場合は、crashkernel= 引数に指定した値を徐々に増やして、適切な値を設定します。

42.10.3. IBM Z ハードウェアにおけるファームウェア支援ダンプの仕組み

IBM Z システムは、以下のファームウェア支援ダンプメカニズムをサポートします。

  • スタンドアロンダンプ (sadump)
  • VMDUMP

IBM Z システムでは、kdump インフラストラクチャーはサポート対象で、使用されています。ただし、IBM Z にファームウェア支援ダンプ (fadump) を使用すると、さまざまな利点が得られます。

  • sadump メカニズムはシステムコンソールで開始および制御され、IPL 起動可能なデバイスに保存されます。
  • VMDUMP メカニズムは sadump に似ています。このツールもシステムコンソールから開始しますが、ハードウェアから生成されたダンプを取得して解析用にシステムにコピーします。
  • (他のハードウェアベースのダンプメカニズムと同様に) これらの手法では、(kdump サービスが開始される前の) 起動初期段階におけるマシンの状態をキャプチャーできます。
  • VMDUMP には、ハードウェアからコピーしたダンプファイルを Red Hat Enterprise Linux システムに格納する仕組みがありますが、IBM Z ハードウェアコンソールから、VMDUMP の設定および制御が管理されます。

IBM は、 sadump についてStand-alone dump program 記事で 、VMDUMP について Creating dumps on z/VM with VMDUMP 記事で詳説しています。

また、IBM は、Using the Dump Tools on Red Hat Enterprise Linux 7.4 記事で Red Hat Linux Enterprise Linux 7 でダンプツールを使用するための一連のドキュメントも用意しています。

42.10.4. Fujitsu PRIMEQUEST システムにおける sadump の使用

Fujitsu sadump メカニズムは、kdump が正常に完了しないイベントで fallback ダンプキャプチャーを提供するように設計されています。sadump メカニズムは、システムの ManageMent Board (MMB) インターフェイスから手動で呼び出します。MMB を使用して、Intel 64 サーバーまたは AMD 64 サーバーのように kdump を設定し、sadump の有効化手順を追加で実施します。

手順

  1. sadump に対して kdump が予想どおりに起動するように /etc/sysctl.conf ファイルで以下の行を追加または編集します。

    kernel.panic=0
    kernel.unknown_nmi_panic=1
    警告

    特に、kdump の後にシステムが再起動しないようにする必要があります。kdumpvmcore ファイルの保存失敗後にシステムを再起動すると、sadump を呼び出すことができません。

  2. /etc/kdump.conffailure_action パラメーターを halt または shell として適切に設定します。

    failure_action shell

関連情報

  • FUJITSU Server PRIMEQUEST 2000 Series インストールマニュアル