RHEL for Real Time のインストール


Red Hat Enterprise Linux for Real Time 10

低レイテンシーのために RHEL にリアルタイム機能を追加

Red Hat Customer Content Services

概要

Red Hat Enterprise Linux に RHEL for Real Time カーネルをインストールして、低レイテンシーを取得し、応答時間を予測可能にします。リアルタイムカーネルのインストール、インストール後のタスクの実行、リアルタイム、ストック、起動するデバッグカーネルなどのカーネルバリアントの設定方法を説明します。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。

Jira からのフィードバック送信 (アカウントが必要)

  1. Jira の Web サイトにログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. ダイアログの下部にある Create をクリックします。

第1章 RHEL for Real time のインストール

多くの業界や組織にはパフォーマンスコンピューティングが必要で、特に金融業界や通信業界では、低で予測可能なレイテンシーが必要になる場合があります。レイテンシー (応答時間) はイベントとシステム応答間の時間として定義され、通常マイクロ秒 (μs) で測定されます。

Linux 環境で実行されているほとんどのアプリケーションでは、基本的なパフォーマンスチューニングにより、レイテンシーを十分に改善できます。Red Hat は、レイテンシーを低く保つだけでなく、予測可能な機能も必要とする業界向けに、この内容を提供する 'ドロップイン' のカーネル置き換えを開発しました。RHEL for Real Time は RHEL 10 の一部として配布されており、RHEL 10 for Real Time とのシームレスな統合を提供することで、組織内のレイテンシーを測定、設定、および記録する機会をクライアントに提供します。

警告

RHEL for Real Time をインストールする前に、ベースプラットフォームが適切にチューニングされ、システム BIOS パラメーターが調整されていることを確認します。これらのタスクの実行に失敗すると、RHEL Real Time デプロイメントから一貫したパフォーマンスを得ることができなくなる可能性があります。

1.1. RHEL for Real Time でのレイテンシーの最適化

RHEL for Real Time は、非常に高い決定要件があるアプリケーション用に、適切にチューニングされたシステムでの使用を目的に設計されています。カーネルは、決定論の改善の大部分を提供します。

たとえば、多くのワークロードで、システムを徹底してチューニングすることで、結果の一貫性が最適なパーセンテージで向上されます。このため、RHEL for Real Time を使用する前に、まず標準的な RHEL のシステムチューニングを実行して、目的が満たされているかどうかを確認することが推奨されます。

システムのチューニングが重要なのは、リアルタイムカーネルを使用する場合でも標準カーネルの場合でも同じです。チューニングされていないシステムにリアルタイムカーネルをインストールしても、目立った利点はありません。標準カーネルを調整すると、適切なレイテンシー番号を実現することができますが、一貫してはなりません。リアルタイムカーネルは、希望するレイテンシーの削減および決定論を提供します。

警告

リアルタイムカーネルシステムをチューニングする前に、ベースプラットフォームが適切にチューニングされ、システムの BIOS パラメーターの調整が行われていることを確認してください。これらのタスクの実行に失敗すると、RHEL Real-time デプロイメントから一貫したパフォーマンスを得ることができなくなる可能性があります。

リアルタイムカーネルの目的は、一貫性のある低レイテンシーと決定論を提供し、予測可能な応答時間を提供することです。リアルタイムカーネルに関連する、追加のカーネルオーバーヘッドがあります。レイテンシーを削減し、システムで最も優先度の高いタスクがより多くの処理時間を受け取るために、追加のインフラストラクチャーが必要で、より多くのオーバーヘッドを追加する傾向があります。オーバーヘッドが増加すると、全体的なスループットが低下する可能性があります。スループットの低下は 0% から 30% までの範囲ですが、正確な量はワークロードに大きく依存します。

カーネルのレイテンシー要件がミリ秒 (ms) の範囲にある一般的なワークロードの場合、標準の RHEL カーネルで十分です。ただし、ワークロードに、割り込み処理やマイクロ秒 (μs) 範囲のプロセススケジューリングなどのコアカーネル機能に対する厳格な低遅延の決定論要件がある場合は、リアルタイムカーネルが最適です。

1.2. dnf を使用した RHEL for Real Time のインストール

dnf を使用してリアルタイムカーネルをインストールするだけでなく、RHEL for Real Time を含む ISO イメージを Download Red Hat Enterprise Linux ポータルからダウンロードすることもできます。この ISO イメージを使用して、RHEL for Real Time に含まれるすべての RPM パッケージを取得できます。ただし、これは起動可能な ISO イメージではないため、これを使用して起動可能な USB または CD メディアを作成することはできません。Red Hat Enterprise Linux の最新バージョンを確認してインストールします。

前提条件

  • AMD64 または Intel64 システムに最新バージョンの RHEL 10 がインストールされている。リアルタイムカーネルは、Red Hat Enterprise Linux の実行が認定されている AMD64 および Intel 64 (x86_64 とも呼ばれます) サーバープラットフォームで動作します。
  • マシンが登録され、RHEL が RHEL for Real Time サブスクリプションに割り当てられている。
  • ベースプラットフォームが適切にチューニングされ、システム BIOS パラメーターが調整されている。

    警告

    リアルタイムカーネルをインストールする前に前提条件のタスクを実行しないと、RHEL for Real Time カーネルのデプロイメントで一貫したパフォーマンスが得られなくなる可能性があります。

手順

  1. RHEL for Real Time リポジトリーを有効にします。

    # subscription-manager repos --enable rhel-10-for-x86_64,aarch64-rt-rpms
    Copy to Clipboard
  2. RHEL for Real Time パッケージグループをインストールします。

    # dnf groupinstall RT
    Copy to Clipboard

    このグループにより、複数のパッケージがインストールされます。

    • kernel-rt には、機能的な kernel-rt をインストールするためにパッケージの依存関係のリストを含むメタパッケージが含まれています。
    • kernel-rt-core には、コア RHEL for Real Time カーネルパッケージが含まれています。
    • kernel-rt-devel には、PREEMPT_RT を有効にしてコンパイルした適切なカーネルバイナリーが含まれています。パッケージには、カーネルのインストールを実行するための設定およびスクリプトも含まれます。
    • kernel-rt-modules-core には、機能カーネルに必要な基本的なカーネルモジュールが含まれています。kernel-rt-modules は、一般的に使用されるカーネルモジュールを提供し、kernel-modules-core を補完します。
    • kernel-rt-modules-extra には、RHEL for Real Time カーネル追加モジュールパッケージが含まれています。
    • realtime-setup は、RHEL for Real Time に必要な基本環境をセットアップします。
    • rteval は、RHEL for Real Time のシステム適合性を評価します。
    • rteval-loads は、rteval ロード用のソースコードを提供します。
    • tuned-profiles-realtime には、リアルタイムを対象とした追加の TuneD プロファイルを含むパッケージが含まれています。
  3. オプション: tuna パッケージには、リアルタイムカーネルワークロードのチューニングに役立つツールが含まれており、コマンドラインまたは GUI からの CPU 分離とスレッドアフィニティー操作を大幅に自動化します。このパッケージは、ベースの RHEL 10 リポジトリーで入手できます。

    # dnf install tuna
    Copy to Clipboard
注記

RHEL for Real Time カーネルがインストールされると、自動的にデフォルトのカーネルに設定され、次回の起動時に使用されます。kernelkernel-debug、または kernel-rt-debug などの他の既存のカーネルバリアントをデフォルトのブートカーネルとして設定することもできます。詳細は以下を参照してください。

検証

  • インストールの場所を確認し、コンポーネントが正常にインストールされていることを確認します。

    # rpm -ql realtime-setup
    /etc/security/limits.d/realtime.conf
    /etc/sysconfig/realtime-setup
    /etc/udev/rules.d/99-rhel-rt.rules
    /usr/bin/realtime-setup
    /usr/bin/rt-setup-kdump
    /usr/bin/slub_cpu_partial_off
    /usr/lib/.build-id
    /usr/lib/.build-id/a4
    /usr/lib/.build-id/a4/da77908aa4c6f048939f3267f1c552c456d117
    /usr/lib/systemd/system/rt-entsk.service
    /usr/lib/systemd/system/rt-setup.service
    /usr/sbin/kernel-is-rt
    /usr/sbin/rt-entsk
    Copy to Clipboard

1.3. RHEL for Real Time リポジトリーで利用可能な RPM パッケージ

Red Hat Package Manager (RPM) for RHEL for Real Time リポジトリーには、以下のパッケージが含まれます。

  • RHEL for Real Time カーネルパッケージである kernel-rt パッケージ。
  • real-time カーネルのテストプログラムを含む RHEL for Real Time カーネルテストパッケージ。
  • RHEL for Real Time debuginfo パッケージ(デバッグおよびコードトレース用)。
表1.1 基本的な RHEL for Real Time カーネルパッケージ
RPM パッケージ名説明RT 固有必須

kernel-rt

低レイテンシーおよびプリエンプション機能

はい

はい

表1.2 RHEL for Real Time カーネルテストパッケージ
RPM パッケージ名説明RT 固有必須

kernel-rt-devel

カーネル開発用のヘッダーおよびライブラリー

はい

いいえ

kernel-rt-debug

デバッグ機能がコンパイルされた RHEL for Real Time カーネル (低速)

はい

いいえ

kernel-rt-debug-devel

デバッグカーネル開発に使用するヘッダーおよびライブラリー

はい

いいえ

realtime-tests

システムレイテンシーを測定し、優先度継承ミューテックスが適切に機能することを証明するためのユーティリティー

いいえ

いいえ

debuginfo パッケージは、カーネルクラッシュダンプを分析するための perf ユーティリティー、trace-cmd ユーティリティー、および crash ユーティリティーで使用するために提供されています。debuginfo パッケージにはシンボルテーブルが含まれており、非常に大きいです。このため、debuginfo パッケージは他の RHEL for Real Time パッケージとは別に配信されます。RHEL オファーの一部として、RHEL-RT を使用してデバッグパッケージをダウンロードできます。

表1.3 基本的な RHEL for Real Time デバッグパッケージ
RPM パッケージ名説明RT 固有必須

kernel-rt-debuginfo

perftrace-cmd など、プロファイリングおよびデバッグ用のシンボル

はい

いいえ

kernel-rt-debug-debuginfo

プロファイリングおよび追跡用のシンボル

はい

いいえ

1.4. インストール後の手順

リアルタイムカーネルをインストールした後、次のことを確認します。

  • 最適な低レイテンシーの決定論を実現するには、提供された tuned プロファイルを最終的なチューニングとして、またはシステムに必要な特定のチューニングのキャンバスとして使用して、RHEL for Real Time 固有のシステムチューニングを実行します。
  • リアルタイムカーネルと標準カーネルのモジュール互換性の詳細。
  • kdump を有効にするには、kexec/kdump を有効にしてクラッシュダンプ情報を提供するように RHEL for Real Time を設定する必要があります。
  • Real Time カーネルがデフォルトのカーネルであることを確認するには、以下のコマンドを実行します。

リアルタイムカーネルと標準カーネルのモジュール互換性

カーネルモジュールは、特別にビルドされたカーネルに固有のものです。RHEL for real-time と RHEL には共通コードベースがありますが、RHEL for Real Time ではリアルタイム機能と機能が有効になっています。そのため、RHEL でリアルタイムに使用するには、モジュールを再ビルドする必要があります。

サードパーティーのモジュールを使用する必要がある場合は、RHEL for Real Time の開発およびテストパッケージで利用可能な RHEL for Real Time ヘッダーファイルを使用して再コンパイルする必要があります。

標準の Red Hat Enterprise Linux 10 用のサードパーティードライバーですが、現在 RHEL for Real Time 用のカスタムビルドはありません。

  • EMC Powerpath
  • NVidia graphics
  • Qlogic の高度なストレージアダプター設定ユーティリティー

ストックカーネル用に Red Hat Enterprise Linux 10 用に構築されたユーザー空間ツールは、RHEL for Real Time と完全に互換性があります。一部のアプリケーションは、設計上、リアルタイムの最適化を好まさない方法で動作する可能性があります。

第2章 実行する RHEL カーネルの指定

起動中に GRUB メニューで必要なカーネルを手動で選択すると、インストールされている任意のカーネル (標準または Real Time) で起動できます。デフォルトで起動するカーネルを設定することも可能です。

RHEL for Real Time カーネルがインストールされると、自動的にデフォルトのカーネルに設定され、次回の起動時に使用されます。

2.1. デフォルトのカーネルの表示

デフォルトで起動するように設定されたカーネルを表示できます。

手順

  • デフォルトのカーネルを表示するには、以下のコマンドを実行します。

    # grubby --default-kernel
    
    /boot/vmlinuz-6.12.0-89.el10_0.x86_64+rt
    Copy to Clipboard

    コマンドの出力の +rt は、デフォルトのカーネルがリアルタイムカーネルであることを示しています。

2.2. 実行中のカーネルの表示

現在実行中のカーネルを表示できます。

手順

  • 現在システムが実行中のカーネルを表示します。

    # uname -a
    Linux rt-server.example.com 6.12.0-89.el10_0.x86_64 …
    Copy to Clipboard
    注記

    システムが、8.3 から 8.4 などのマイナー更新を受け取ると、デフォルトのカーネルが Real Time カーネルから標準カーネルに自動的に戻る場合があります。

2.3. kernel-rt をデフォルトのブートカーネルとして設定する

新しくインストールされたシステムでは、標準の RHEL kernel がデフォルトのブートカーネルとして設定され、次回の起動時およびその後のシステム更新時にデフォルトのカーネルとして使用されます。この設定を変更して、ブートに使用するデフォルトのカーネルとして kernel-rt を設定し、すべてのシステム更新に対してこの設定を永続化することもできます。kernel-rt の設定は 1 回限りの手順であり、必要に応じて変更したり、別のカーネルに戻すことができます。kernelkernel-debug、または kernel-rt-debug などの他の既存のカーネルバリアントをデフォルトのブートカーネルとして設定することもできます。

手順

  1. kernel-rt をデフォルトのブートカーネルとして設定するには、次のコマンドを入力します。

    # grubby --set-default=<RT_VMLINUZ>
    Copy to Clipboard

    RT_VMLINUZ は、kernel-rt カーネルに関連付けられた vmlinux ファイルの名前です。以下に例を示します。

    # grubby --set-default=/boot/vmlinuz-6.12.0-284.11.1.rt14.296.el0_0_2.x86_64+rt
    Copy to Clipboard
  2. システム更新時のデフォルトのブートカーネルとして kernel-rt を設定するには、次のコマンドを入力します。

    # sed -i 's/UPDATEDEFAULT=.*/UPDATEDEFAULT=yes/g' /etc/sysconfig/kernel
    # sed -i 's/DEFAULTKERNEL=.*/DEFAULTKERNEL=kernel-rt-core/g' /etc/sysconfig/kernel
    Copy to Clipboard

    UPDATEDEFAULT 変数を yes として指定すると、システムの更新で変更されるデフォルトのカーネルが設定されます。

    出力例のデフォルトカーネルのパスは、インストールされている kernel-rt-core パッケージに固有のものです。rpm -q kernel-rt-core コマンドを使用すると、カーネルへのパスをパッケージから確認できます。

    1. オプション: カーネルへのパスをパッケージから確認する必要がある場合は、まずインストールされているパッケージをリストします。

      # rpm -q kernel-rt-core
        kernel-rt-core-6.12.0-55.14.1.el10_0.x86_64
        kernel-rt-core-6.12.0-55.13.1.el10_0.x86_64
        kernel-rt-core-6.12.0-55.12.1.el10_0.x86_64
      Copy to Clipboard
    2. 最新のインストール済みパッケージをデフォルトとして使用するには、次のコマンドを入力して、ブートイメージへのパスをパッケージから見つけます。

      # rpm -ql kernel-rt-core-6.12.0-55.14.1.el10_0.x86_64 | grep '^/boot/vmlinu'
      /boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rt
      Copy to Clipboard
    3. kernel-rt をデフォルトのブートカーネルとして設定するには、次のコマンドを入力します。

      # grubby --set-default=/boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rt
      Copy to Clipboard

検証

  • kernel-rt がデフォルトのカーネルであることを確認するには、次のコマンドを入力します。

    # grubby --default-kernel
    /boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rt
    Copy to Clipboard

第3章 kdump のインストール

kdump サービスは、新しいバージョンの RHEL 10 インストールにデフォルトでインストールされ、アクティベートされます。

3.1. kdump とは

kdump は、クラッシュダンプメカニズムを提供し、クラッシュダンプまたは vmcore ダンプファイルを生成するサービスです。vmcore には、分析およびトラブルシューティング用のシステムメモリーの内容が含まれています。kdump は、kexec システムコールを使用して、再起動せずに 2 番目のカーネルである capture kernel を起動します。このカーネルはクラッシュしたカーネルのメモリーの内容をキャプチャーし、ファイルに保存します。この別のカーネルは、システムメモリーの予約部分で使用できます。

重要

カーネルクラッシュダンプは、システム障害時に利用できる唯一の情報になります。したがって、ミッションクリティカルな環境では、kdump を稼働させることが重要です。通常のカーネル更新サイクルで、kexec-toolskdump-utilsmakedumpfile パッケージを定期的に更新してテストする必要があります。これは、新しいカーネル機能をインストールするときに重要です。

マシンに複数のカーネルがある場合は、インストールされているすべてのカーネルに対して、または指定したカーネルに対してのみ kdump を有効にできます。kdump をインストールすると、システムによってデフォルトの /etc/kdump.conf ファイルが作成されます。/etc/kdump.conf にはデフォルトの最小 kdump 設定が含まれています。これを編集して kdump 設定をカスタマイズできます。

3.2. Anaconda を使用した kdump のインストール

Anaconda インストーラーでは、対話式インストール時に kdump 設定用のグラフィカルインターフェイス画面が表示されます。kdump を有効にして、必要な量のメモリーを予約できます。

手順

  1. Anaconda インストーラーで、KDUMP をクリックして kdump を有効にします。
  2. メモリー予約をカスタマイズする必要がある場合は、Kdump Memory ReservationManual を選択します。
  3. KDUMP > Memory To Be Reserved (MB) で、kdump に必要なメモリー予約を設定します。

3.3. コマンドラインで kdump のインストール

カスタムの キックスタート インストールなどのインストール方法では、kdump がデフルトでインストールまたは有効化 されない 場合があります。その場合、次の手順で kdump を有効にできます。

前提条件

  • アクティブな RHEL サブスクリプションがある。
  • システムの CPU アーキテクチャー用の kexec-tools パッケージを含むリポジトリーがある。
  • kdump 設定とターゲットの要件をすべて満たしている。詳細は 対応している kdump 設定とターゲット を 参照してください。

手順

  1. システムに kdump がインストールされているかどうかを確認します。

    # rpm -q kexec-tools
    Copy to Clipboard

    このパッケージがインストールされている場合は以下を出力します。

    + このパッケージがインストールされていない場合は以下を出力します。

    +

package kexec-tools is not installed
Copy to Clipboard
  1. kdump および必要なパッケージをインストールします。

    # dnf install kexec-tools
    Copy to Clipboard

第4章 コマンドラインで kdump の設定

kdump 用メモリーは、システムの起動時に予約されます。システムの Grand Unified Bootloader (GRUB) 設定ファイルでメモリーサイズを設定できます。メモリーサイズは、設定ファイルで指定された crashkernel= 値と、システムの物理メモリーのサイズによって異なります。

4.1. kdump サイズの見積もり

kdump 環境を計画および構築するときは、クラッシュダンプファイルに必要な容量を把握することが重要です。

makedumpfile --mem-usage コマンドは、クラッシュダンプファイルに必要な容量を推定します。また、メモリー使用量に関するレポートを生成します。このレポートは、ダンプレベルと、除外しても問題ないページを決定するのに役立ちます。

手順

  • 次のコマンドを入力して、メモリー使用量に関するレポートを生成します。

    # 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
    Copy to Clipboard
重要

makedumpfile --mem-usage は、必要なメモリーをページ単位で報告します。つまり、カーネルページサイズを元に、使用するメモリーのサイズを計算する必要があります。

4.2. メモリー使用量の設定

kdump-utils パッケージは、デフォルトの crashkernel= メモリー予約値を維持します。kdump サービスはデフォルト値を使用して、各カーネルのクラッシュカーネルメモリーを予約します。デフォルト値は、crashkernel= 値を手動で設定するときに必要なメモリーサイズを見積もるための基準値としても機能します。クラッシュカーネルの最小サイズは、ハードウェアおよびマシンの仕様により異なります。

また、kdump の自動メモリー割り当ては、システムハードウェアアーキテクチャーと利用可能なメモリーサイズにより異なります。たとえば、AMD64 および Intel 64 ビットアーキテクチャーでは、crashkernel= パラメーターのデフォルト値は、使用可能なメモリーが 2 GB を超える場合にのみ機能します。kdump-utils ユーティリティーは、AMD64 および Intel 64 ビットアーキテクチャーで次のデフォルトのメモリー予約を設定します。

crashkernel=2G-64G:256M,64G-:512M
Copy to Clipboard

kdumpctl estimate を実行して、クラッシュをトリガーせずにおおよその値を取得することもできます。crashkernel= の推定値は正確でない可能性がありますが、適切な crashkernel= 値を設定する際の参考として役立ちます。

注記

起動コマンドライン の crashkernel=1G-4G:192M,4G-64G:256M,64G:512M オプションは、RHEL 10 以降のリリースではサポートされなくなりました。

前提条件

  • システムの root 権限がある。
  • kdump の設定とターゲットの要件をすべて満たしている。詳細は 対応している kdump 設定とターゲット を 参照してください。
  • IBM Z システムの場合は、zipl ユーティリティーがインストールされている。

手順

  1. クラッシュカーネルのデフォルト値を設定します。

    # kdumpctl reset-crashkernel --kernel=ALL
    Copy to Clipboard

    crashkernel= 値を設定する場合は、kdump を有効にしてシステムを再起動し、設定をテストします。kdump カーネルの起動に失敗した場合は、メモリーサイズを徐々に増やして許容可能な値を設定します。

  2. カスタムの crashkernel= 値を使用するには、以下を実行します。

    1. 必要なメモリー予約を設定します。

      crashkernel=192M
      Copy to Clipboard

      必要に応じて、構文 crashkernel=<range1>:<size1>,<range2>:<size2> を使用して、予約メモリーの量を、インストールされているメモリーの合計量に応じて変動する値に設定できます。以下に例を示します。

      crashkernel=1G-4G:192M,2G-64G:256M
      Copy to Clipboard

      この例では、システムメモリーの合計量が 1 GB 以上 4 GB 未満の場合、192 MB のメモリーが予約されます。メモリーの合計量が 4 GB を超える場合、256 MB が kdump 用に予約されます。

    2. オプション: 予約済みメモリーをオフセットします。

      crashkernel 予約は非常に早いため、特定の固定オフセットでメモリーを予約する必要があるシステムもあります。また、特別な用途にいくつかの領域を予約したいシステムもあります。オフセットが設定されると、予約メモリーはそこから開始されます。予約メモリーをオフセットするには、以下の構文を使用します。

      crashkernel=192M@16M
      Copy to Clipboard

      この例では、16 MB (物理アドレス 0x01000000) から始まる 192 MB のメモリーを予約します。オフセットを 0 に設定するか、値を指定しない場合、kdump は予約されたメモリーを自動的にオフセットします。オフセットを最後の値として指定することにより、変数メモリー予約を設定するときにメモリーをオフセットすることもできます。たとえば、crashkernel=1G-4G:192M,2G-64G:256M@16M です。

    3. ブートローダー設定を更新します。

      # grubby --update-kernel ALL --args "crashkernel=<custom-value>"
      Copy to Clipboard

      <custom-value> には、クラッシュカーネル用に設定したカスタムの crashkernel= 値を含める必要があります。

  3. 変更を有効にするために再起動します。

    # reboot
    Copy to Clipboard
検証

kdump 設定をテストするコマンドにより、カーネルがクラッシュし、データが失われます。注意して手順を実行してください。kdump 設定のテストにアクティブな実稼働システムを使用しないでください。

sysrq キーをアクティブ化してカーネルをクラッシュさせます。address-YYYY-MM-DD-HH:MM:SS/vmcore ファイルは、/etc/kdump.conf ファイルで指定されているターゲットの場所に保存されます。デフォルトのターゲットの場所を選択した場合、vmcore ファイルは /var/crash/ の下にマウントされたパーティションに保存されます。

  1. sysrq キーをアクティブにして、kdump カーネルを起動します。

    # echo c > /proc/sysrq-trigger
    Copy to Clipboard

    このコマンドによりカーネルがクラッシュし、必要に応じてカーネルが再起動されます。

  2. /etc/kdump.conf ファイルを表示し、ターゲットの保存先に vmcore ファイルが保存されているかどうかを確認します。

4.3. kdump ターゲットの設定

クラッシュダンプは通常、ローカルファイルシステムにファイルとして保存され、デバイスに直接書き込まれます。必要に応じて、NFS または SSH プロトコルを使用して、ネットワーク経由でクラッシュダンプを送信できます。クラッシュダンプファイルを保存するオプションは、一度に 1 つだけ設定できます。デフォルトの動作では、ローカルファイルシステムの /var/crash/ ディレクトリーに保存されます。

前提条件

手順

  • ローカルファイルシステムの /var/crash/ ディレクトリーにクラッシュダンプファイルを保存するには、/etc/kdump.conf ファイルを変更して、パスを指定します。

    path /var/crash
    Copy to Clipboard

    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>
    Copy to Clipboard

    kdump_post ディレクティブは、kdump がクラッシュダンプの取得と指定の保存先への保存を完了した 後に 実行されるシェルスクリプトまたはコマンドを指定するものです。このメカニズムを使用すると、kdump の機能を拡張して、ファイル権限の調整などの操作を実行できます。

  • kdump ターゲット設定
# *grep -v ^# /etc/kdump.conf | grep -v ^$*
ext4 /dev/mapper/vg00-varcrashvol
path /var/crash
core_collector makedumpfile -c --message-level 1 -d 31
Copy to Clipboard

ダンプターゲットが指定されています (ext4 /dev/mapper/vg00-varcrashvol)。そのため、ダンプターゲットは /var/crash にマウントされます。path オプションも /var/crash に設定されています。したがって、kdump は、vmcore ファイルを /var/crash/var/crash ディレクトリーに保存します。

  • クラッシュダンプを保存するローカルディレクトリーを変更するには、root ユーザーとして /etc/kdump.conf 設定ファイルを編集します。

    1. #path /var/crash の行頭にあるハッシュ記号 (#) を削除します。
    2. 値を対象のディレクトリーパスに置き換えます。以下に例を示します。

      path /usr/local/cores
      Copy to Clipboard
      重要

      Red Hat Enterprise Linux 10 では、障害を回避するために、kdump systemd サービスの起動時に、path ディレクティブを使用して kdump ターゲットとして定義されたディレクトリーが存在している必要があります。サービスの起動時にディレクトリーが存在しない場合は、ディレクトリーは自動的に作成されなくなります。

  • ファイルを別のパーティションに書き込むには、/etc/kdump.conf 設定ファイルを編集します。

    1. 必要に応じて #ext4 の行頭にあるハッシュ記号 (#) を削除します。

      • デバイス名 (#ext4 /dev/vg/lv_kdump 行)
      • ファイルシステムラベル (#0ext4 LABEL=/boot 行)
      • UUID (#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937 の行)
    2. ファイルシステムタイプとデバイス名、ラベル、または UUID を必要な値に変更します。UUID 値を指定するための正しい構文は、UUID="correct-uuid"UUID=correct-uuid の両方です。以下に例を示します。

      ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
      Copy to Clipboard
      重要

      LABEL= または UUID= を使用してストレージデバイスを指定する必要があります。/dev/sda3 などのディスクデバイス名は、再起動した場合に一貫性が保証されません。

      IBM Z ハードウェアで Direct Access Storage Device (DASD) を使用する場合は、kdump に進む前に、ダンプデバイスが /etc/dasd.conf で正しく指定されていることを確認してください。

  • クラッシュダンプを直接書き込むには、/etc/kdump.conf 設定ファイルを修正します。

    1. #raw /dev/vg/lv_kdump の行頭にあるハッシュ記号 (#) を削除します。
    2. 値を対象のデバイス名に置き換えます。以下に例を示します。

      raw /dev/sdb1
      Copy to Clipboard
  • NFS プロトコルを使用してクラッシュダンプをリモートマシンに保存するには、次の手順を実行します。

    1. #nfs my.server.com:/export/tmp の行頭にあるハッシュ記号 (#) を削除します。
    2. 値を、正しいホスト名およびディレクトリーパスに置き換えます。以下に例を示します。

      nfs penguin.example.com:/export/cores
      Copy to Clipboard
    3. 変更を有効にするには、kdump サービスを再起動します。

      $ sudo systemctl restart kdump.service
      Copy to Clipboard
      注記

      NFS ディレクティブを使用して NFS ターゲットを指定すると、kdump.service が自動的に NFS ターゲットをマウントしてディスク容量をチェックしようとします。NFS ターゲットを事前にマウントする必要はありません。kdump.service がターゲットをマウントしないようにするには、kdump.confdracut_args --mount ディレクティブを使用します。これにより、kdump.service--mount 引数を使用して dracut ユーティリティーを呼び出して NFS ターゲットを指定できるようになります。

  • SSH プロトコルを使用してクラッシュダンプをリモートマシンに保存するには、次の手順を実行します。

    1. #ssh user@my.server.com の行頭にあるハッシュ記号 (#) を削除します。
    2. 値を正しいユーザー名およびホスト名に置き換えます。
    3. SSH キーを設定に含めます。

      1. #sshkey /root/.ssh/kdump_id_rsa の行頭にあるハッシュ記号 ("#") を削除します。
      2. 値を、ダンプ先のサーバー上の正しいキーの場所に変更します。以下に例を示します。

        ssh john@penguin.example.com
        sshkey /root/.ssh/mykey
        Copy to Clipboard

4.4. kdump コアコレクターの設定

kdump では、core_collector を使用してクラッシュダンプイメージをキャプチャーします。RHEL では、makedumpfile ユーティリティーがデフォルトのコアコレクターです。これは、以下に示すプロセスによりダンプファイルを縮小するのに役立ちます。

  • クラッシュダンプファイルのサイズを圧縮し、さまざまなダンプレベルを使用して必要なページのみをコピーする
  • 不要なクラッシュダンプページを除外する
  • クラッシュダンプに含めるページタイプをフィルタリングする
注記

クラッシュダンプファイルの圧縮はデフォルトで有効になっています。

クラッシュダンプファイルの圧縮をカスタマイズする必要がある場合は、以下の手順に従います。

構文

core_collector makedumpfile -l --message-level 1 -d 31
Copy to Clipboard

オプション

  • -c-l、または -p: -c オプションの場合は zlib-l オプションの場合は lzo-p オプションの場合は snappy-z オプションの場合は zstd を使用して、ページごとに圧縮ダンプファイル形式を指定します。
  • -d (dump_level): ページを除外して、ダンプファイルにコピーされないようにします。
  • --message-level: メッセージタイプを指定します。このオプションで message_level を指定すると、出力の表示量を制限できます。たとえば、message_level で 7 を指定すると、一般的なメッセージとエラーメッセージを出力します。message_level の最大値は 31 です。

前提条件

手順

  1. root として、/etc/kdump.conf 設定ファイルを編集し、#core_collector makedumpfile -l --message-level 1 -d 31 の先頭からハッシュ記号 ("#") を削除します。
  2. 次のコマンドを入力して、クラッシュダンプファイルの圧縮を有効にします。
core_collector makedumpfile -l --message-level 1 -d 31
Copy to Clipboard

-l オプションにより、dump の圧縮ファイル形式を指定します。-d オプションで、ダンプレベルを 31 に指定します。--message-level オプションで、メッセージレベルを 1 に指定します。

-c-p-z オプションを使用した以下の例お検討してください。

  • -c を使用してクラッシュダンプファイルを圧縮するには、次のコマンドを実行します。

    core_collector makedumpfile -c -d 31 --message-level 1
    Copy to Clipboard
  • -p を使用してクラッシュダンプファイルを圧縮するには、次のコマンドを実行します。

    core_collector makedumpfile -p -d 31 --message-level 1
    Copy to Clipboard
  • -z を使用してクラッシュダンプファイルを圧縮するには、次のコマンドを実行します。

    core_collector makedumpfile -z -d 31 --message-level 1
    Copy to Clipboard

4.5. kdump のデフォルト障害応答の設定

デフォルトでは、設定したターゲットの場所で kdump がクラッシュダンプファイルの作成に失敗すると、システムが再起動し、ダンプがプロセス内で失われます。デフォルトの失敗応答を変更し、コアダンプをプライマリーターゲットに保存できない場合に別の操作を実行するように kdump を設定できます。追加のアクションは次のとおりです。

dump_to_rootfs
コアダンプを root ファイルシステムに保存します。
reboot
システムを再起動します。コアダンプは失われます。
halt
システムを停止します。コアダンプは失われます。
poweroff
システムの電源を切ります。コアダンプは失われます。
shell
initramfs 内からシェルセッションを実行します。コアダンプを手動で記録できます。
final_action
kdump の成功後、またはシェルまたは dump_to_rootfs の失敗アクションの完了時に、reboothalt および poweroff などの追加操作を有効にします。デフォルトは reboot です。
failure_action
カーネルクラッシュでダンプが失敗する可能性がある場合に実行するアクションを指定します。デフォルトは reboot です。

前提条件

手順

  1. root ユーザーとして、/etc/kdump.conf 設定ファイルの #failure_action 行の先頭からハッシュ記号 (#) を削除します。
  2. 値を必要なアクションに置き換えます。

    failure_action poweroff
    Copy to Clipboard

4.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"
Copy to Clipboard
KDUMP_COMMANDLINE_APPEND

このオプションは、現在のコマンドラインに引数を追加します。この引数は、以前の KDUMP_COMMANDLINE_REMOVE 変数によって解析されたものである場合があります。

kdump カーネルの場合は、mcecgroupnumahest_disable などの特定のモジュールを無効にすると、カーネルエラーを防ぐのに役立ちます。これらのモジュールは、kdump 用に予約されているカーネルメモリーの大部分を消費したり、kdump カーネルの起動失敗を引き起こしたりする可能性があります。

kdump カーネルコマンドラインでメモリー cgroup を無効にするには、以下のコマンドを実行します。

KDUMP_COMMANDLINE_APPEND="cgroup_disable=memory"
Copy to Clipboard

4.7. kdump 設定のテスト

kdump を設定したら、システムクラッシュを手動でテストして、定義した kdump ターゲットに vmcore ファイルが生成されていることを確認する必要があります。vmcore ファイルは、新しく起動したカーネルのコンテキストからキャプチャーされます。したがって、vmcore にはカーネルクラッシュをデバッグするための重要な情報が含まれています。

警告

アクティブな実稼働システムでは kdump をテストしないでください。kdump をテストするコマンドにより、カーネルがクラッシュし、データが失われます。システムアーキテクチャーに応じて、十分なメンテナンス時間を必ず確保してください。kdump のテストでは時間のかかる再起動が数回必要になる場合があります。

kdump のテスト中に vmcore ファイルが生成されない場合は、kdump のテストを成功させるために、再度テストを実行する前に問題を特定して修正してください。

手動でシステムを変更した場合は、システム変更の最後に kdump 設定をテストする必要があります。たとえば、次のいずれかの変更を行った場合は、kdump のパフォーマンスが最適になるように、kdump の設定をテストしてください。

  • パッケージのアップグレード。
  • ハードウェアレベルの変更 (ストレージやネットワークの変更など)。
  • ファームウェアのアップグレード。
  • サードパーティーのモジュールを含む新規のインストールおよびアプリケーションのアップグレード。
  • ホットプラグメカニズムを使用した、このメカニズムをサポートするハードウェアへのメモリーの追加。
  • /etc/kdump.conf ファイルまたは /etc/sysconfig/kdump ファイルに対する変更。

前提条件

  • システムの root 権限がある。
  • 重要なデータがすべて保存されている。kdump をテストするコマンドにより、カーネルがクラッシュし、データが失われます。
  • システムアーキテクチャーに応じて、十分なマシンメンテナンス時間が確保されている。

手順

  1. kdump サービスを有効にします。

    # kdumpctl restart
    Copy to Clipboard
  2. kdumpctl を使用して kdump サービスのステータスを確認します。

    # kdumpctl status
      kdump:Kdump is operational
    Copy to Clipboard

    必要に応じて systemctl コマンドを使用すると、出力が systemd ジャーナルに印刷されます。

  3. カーネルクラッシュを開始して、kdump の設定をテストします。sysrq-trigger キーの組み合わせによりカーネルがクラッシュし、必要に応じてシステムが再起動します。

    # echo c > /proc/sysrq-trigger
    Copy to Clipboard

    カーネルの再起動時に、/etc/kdump.conf ファイルで指定した場所に address-YYYY-MM-DD-HH:MM:SS/vmcore ファイルが作成されます。デフォルトは /var/crash/ です。

4.8. システムクラッシュ後に kdump によって生成されるファイル

システムがクラッシュすると、kdump サービスは、カーネルメモリーをダンプファイル (vmcore) にキャプチャーします。また、トラブルシューティングと事後分析に役立つ追加の診断ファイルを生成します。

kdump によって生成されるファイル:

  • vmcore - クラッシュ時のシステムメモリーを含む主なカーネルメモリーダンプファイル。これには、kdump 設定で指定されている core_collector プログラムの設定に従ってデータが追加されます。デフォルトでは、カーネルデータ構造、プロセス情報、スタックトレース、およびその他の診断情報が含まれます。
  • vmcore-dmesg.txt - パニックになったプライマリーカーネルからのカーネルリングバッファーログ (dmesg) の内容。
  • kexec-dmesg.log - vmcore データを収集するセカンダリーの kexec カーネルの実行に基づくカーネルおよびシステムログメッセージが含まれます。

4.9. kdump サービスの有効化および無効化

kdump 機能は、特定のカーネルまたはインストールされているすべてのカーネルで有効または無効にするように設定できます。kdump 機能を定期的にテストし、正しく動作することを検証する必要があります。

前提条件

  • システムの root 権限がある。
  • kdump の設定とターゲットの要件をすべて満たしている。サポートされている kdump 設定とターゲット を参照してください。
  • kdump をインストールするためのすべての設定が、要件に応じてセットアップされている。

手順

  1. multi-user.targetkdump サービスを有効にします。

    # systemctl enable kdump.service
    Copy to Clipboard
  2. 現在のセッションでサービスを起動します。

    # systemctl start kdump.service
    Copy to Clipboard
  3. kdump サービスを停止します。

    # systemctl stop kdump.service
    Copy to Clipboard
  4. kdump サービスを無効にします。

    # systemctl disable kdump.service
    Copy to Clipboard
警告

kptr_restrict=1 をデフォルトとして設定することが推奨されます。kptr_restrict がデフォルトで (1) に設定されている場合、Kernel Address Space Layout (KASLR) が有効かどうかに関係なく、kdumpctl サービスがクラッシュカーネルをロードします。

kptr_restrict1 に設定されておらず、KASLR が有効になっている場合は、/proc/kore ファイルの内容がすべてゼロとして生成されます。kdumpctl サービスは、/proc/kcore ファイルにアクセスしてクラッシュカーネルを読み込むことができません。kexec-kdump-howto.txt ファイルには、kptr_restrict=1 に設定することを推奨する警告メッセージが表示されます。kdumpctl サービスが必ずクラッシュカーネルを読み込むように、sysctl.conf ファイルで次の内容を確認します。

  • sysctl.conf ファイルでのカーネルの kptr_restrict=1 設定

4.10. カーネルドライバーが kdump を読み込まないようにする設定

/etc/sysconfig/kdump 設定ファイルに KDUMP_COMMANDLINE_APPEND= 変数を追加することで、キャプチャーカーネルが特定のカーネルドライバーをロードしないように制御できます。この方法を使用すると、kdump 初期 RAM ディスクイメージ initramfs が、指定されたカーネルモジュールをロードするのを防ぐことができます。これにより、メモリー不足 (OOM) killer エラーやその他のクラッシュカーネル障害を防ぐことができます。

次のいずれかの設定オプションを使用して、KDUMP_COMMANDLINE_APPEND= 変数を追加できます。

  • rd.driver.blacklist=<modules>
  • modprobe.blacklist=<modules>

前提条件

  • システムの root 権限がある。

手順

  1. 現在実行中のカーネルに読み込まれるモジュールのリストを表示します。ロードをブロックするカーネルモジュールを選択します。

    $ lsmod
    
    Module                  Size  Used by
    fuse                  126976  3
    xt_CHECKSUM            16384  1
    ipt_MASQUERADE         16384  1
    uinput                 20480  1
    xt_conntrack           16384  1
    Copy to Clipboard
  2. /etc/sysconfig/kdump ファイルの KDUMP_COMMANDLINE_APPEND= 変数を更新します。以下に例を示します。

    KDUMP_COMMANDLINE_APPEND="rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv"
    Copy to Clipboard

    modprobe.blacklist=<modules> 設定オプションを使用した以下の例も検討してください。

    KDUMP_COMMANDLINE_APPEND="modprobe.blacklist=emcp modprobe.blacklist=bnx2fc modprobe.blacklist=libfcoe modprobe.blacklist=fcoe"
    Copy to Clipboard
  3. kdump サービスを再起動します。

    # systemctl restart kdump
    Copy to Clipboard

4.11. 暗号化されたディスクがあるシステムでの kdump の実行

LUKS 暗号化パーティションを実行すると、システムで利用可能なメモリーが一定量必要になります。システムが必要なメモリー量を下回ると、cryptsetup ユーティリティーがパーティションのマウントに失敗します。その結果、2 番目のカーネル (キャプチャーカーネル) で、暗号化したターゲットの場所に vmcore ファイルをキャプチャーできませんでした。

kdumpctl estimate コマンドは、kdump に必要なメモリー容量を予測できます。kdumpctl estimate は、推奨の crashkernel 値を出力します。この値は kdump に必要な最適なメモリーサイズです。

推奨の crashkernel 値は、現在のカーネルサイズ、カーネルモジュール、initramfs、および暗号化したターゲットメモリー要件に基づいて計算されます。

カスタムの crashkernel= オプションを使用している場合、kdumpctl estimateLUKS required size 値を出力します。この値は、LUKS 暗号化ターゲットに必要なメモリーサイズです。

手順

  1. crashkernel= の推定値を出力します。

    # *kdumpctl estimate*
    
    Encrypted kdump target requires extra memory, assuming using the keyslot with minimum memory requirement
       Reserved crashkernel:    256M
       Recommended crashkernel: 652M
    
       Kernel image size:   47M
       Kernel modules size: 8M
       Initramfs size:      20M
       Runtime reservation: 64M
       LUKS required size:  512M
       Large modules: <none>
       WARNING: Current crashkernel size is lower than recommended size 652M.
    Copy to Clipboard
  2. crashkernel= の値を増やして、必要なメモリー量を設定します。
  3. システムを再起動します。
注記

それでも kdump がダンプファイルを暗号化したターゲットに保存できない場合は、必要に応じて crashkernel= を増やしてください。

第5章 kdump の有効化

RHEL 10 システムでは、特定のカーネルまたはインストールしたすべてのカーネルで kdump 機能を有効または無効にすることができます。ただし、kdump 機能を定期的にテストし、その動作状態を検証する必要があります。

5.1. インストールされているすべてのカーネルでの kdump の有効化

kdump サービスは、kdump-utils をインストールした後、kdump.service を有効にすると起動します。マシンにインストールされているすべてのカーネルに対して、kdump サービスを有効にして起動できます。

前提条件

  • システムの root 権限がある。

手順

  1. インストールされているすべてのカーネルに crashkernel= コマンドラインパラメーターを追加します。

    # grubby --update-kernel=ALL --args="crashkernel=xxM"
    Copy to Clipboard

    xxM は必要なメモリー (メガバイト単位) です。

  2. システムを再起動します。

    # reboot
    Copy to Clipboard
  3. kdump サービスを有効にします。

    # systemctl enable --now kdump.service
    Copy to Clipboard

検証

  • kdump が実行されていることを確認します。

    # systemctl status kdump.service
    
    ○ kdump.service - Crash recovery kernel arming
         Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled)
         Active: active (live)
    Copy to Clipboard

5.2. 特定のインストール済みカーネルでの kdump の有効化

マシン上の特定カーネルに対して、kdump サービスを有効にできます。

前提条件

  • システムの root 権限がある。

手順

  1. マシンにインストールされているカーネルをリスト表示します。

    # ls -a /boot/vmlinuz-*
    /boot/vmlinuz-0-rescue-2930657cd0dc43c2b75db480e5e5b4a9
    /boot/vmlinuz-6.12.0-55.9.1.el10_0.x86_64
    /boot/vmlinuz-6.12.0-55.9.1.el10_0.x86_64
    Copy to Clipboard
  2. 特定の kdump カーネルを、システムの Grand Unified Bootloader (GRUB) 設定に追加します。

    以下に例を示します。

    # grubby --update-kernel=vmlinuz-6.12.0-55.9.1.el10_0.x86_64 --args="crashkernel=xxM"
    Copy to Clipboard

    xxM は必要なメモリー予約 (メガバイト単位) です。

  3. kdump サービスを有効にします。

    # systemctl enable --now kdump.service
    Copy to Clipboard

検証

  • kdump が実行されていることを確認します。

    # systemctl status kdump.service
    
    ○ kdump.service - Crash recovery kernel arming
         Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled)
         Active: active (live)
    Copy to Clipboard

5.3. kdump サービスの無効化

kdump.service を停止し、RHEL 10 システムでサービスが起動しないようにできます。

前提条件

手順

  1. 現在のセッションで kdump を停止するには、以下のコマンドを実行します。

    # systemctl stop kdump.service
    Copy to Clipboard
  2. kdump を無効にするには、以下を行います。

    # systemctl disable kdump.service
    Copy to Clipboard
警告

kptr_restrict=1 をデフォルトとして設定することが推奨されます。kptr_restrict がデフォルトで (1) に設定されている場合、Kernel Address Space Layout (KASLR) が有効かどうかに関係なく、kdumpctl サービスがクラッシュカーネルをロードします。

kptr_restrict1 に設定されておらず、KASLR が有効になっている場合は、/proc/kore ファイルの内容がすべてゼロとして生成されます。kdumpctl サービスは、/proc/kcore ファイルにアクセスしてクラッシュカーネルを読み込むことができません。kexec-kdump-howto.txt ファイルには、kptr_restrict=1 に設定することを推奨する警告メッセージが表示されます。kdumpctl サービスが必ずクラッシュカーネルを読み込むように、sysctl.conf ファイルで次の内容を確認します。

  • sysctl.conf ファイルでのカーネルの kptr_restrict=1 設定

第6章 RHEL for Real Time バグの診断

RHEL for Real Time または標準カーネルのどちらのカーネルが問題の原因であるかを特定すると、バグをより早く修正できる可能性が高くなります。手順に従うことで、バグレポートを送信する前に問題の原因を診断できます。

前提条件

  • RHEL for Real Time カーネルの最新バージョンがインストールされている。

手順

  1. RHEL for Real Time カーネルの最新バージョンを使用していることを確認します。
  2. GRUB メニューを使用して、RHEL for Real Time カーネルを起動します。
  3. 問題が発生した場合は、RHEL for Real Time に対するバグを報告してください。
  4. 標準カーネルで問題を再現してみてください。

    このトラブルシューティングの手順は、問題の場所を特定するのに役立ちます。

注記

標準カーネルで問題が発生しない場合、バグはおそらく、Red Hat がベースライン(5.14.0)カーネルに適用した RHEL for Real Time 固有の拡張機能に導入された変更の結果です。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat