4.8. カーネル
RHEL 9.2 のカーネルバージョン
Red Hat Enterprise Linux 9.2 は、カーネルバージョン 5.14.0-284.11.1 で配布されます。
64k ページサイズのカーネルが利用可能になりました。
4k ページをサポートする RHEL 9 for ARM カーネルに加えて、Red Hat は 64k ページをサポートするオプションのカーネルパッケージ kernel-64k を提供するようになりました。
64k ページサイズのカーネルは、ARM プラットフォーム上の大規模なデータセットに便利なオプションです。これにより、メモリーや CPU を大量に消費する一部の操作のパフォーマンスが向上します。
64 ビット ARM アーキテクチャーシステムでは、インストール時にページサイズを選択する必要があります。kernel-64k パッケージを Kickstart ファイルのパッケージリストに追加すると、Kickstart のみで kernel-64k をインストールできます。
kernel-64k のインストールの詳細は、RHEL の自動インストール を参照してください。
Bugzilla:2153073
kexec-tools の virtiofs サポートが有効になりました。
この機能拡張では、新しいオプション virtiofs myfs を導入することにより、kexec-tools の virtiofs 機能が追加されます。ここで、myfs は、qemu コマンドラインで設定する変数タグ名です (-device vhost-user-fs-pci,tag=myfs など)。
virtiofs ファイルシステムには、ホスト上にエクスポートされたディレクトリーをゲストがマウントできるようにするドライバーが実装されています。この機能拡張を使用すると、仮想マシンの vmcore ダンプファイルを次の場所に保存できます。
-
virtiofs共有ディレクトリー。 -
ルートファイルシステムが
virtiofs共有ディレクトリーである場合は、サブディレクトリー (/var/crashなど)。 -
仮想マシンのルートファイルシステムが
virtiofs共有ディレクトリーである場合は、別のvirtiofs共有ディレクトリー。
kexec-tools パッケージにリモート kdump ターゲットの機能強化が追加されました。
この機能拡張により、kexec-tools パッケージに重要なバグ修正と機能拡張が追加されました。以下は、主な変更点です。
-
必要なネットワークインターフェイスのみを有効にすることで、
kdumpのメモリー消費を最適化しました。 接続タイムアウト障害が発生した場合の
kdumpのネットワーク効率が向上しました。ネットワークが確立されるまでのデフォルトの待ち時間は最大 10 分です。これにより、キャリアを識別するための回避策として
rd.net.timeout.carrierやrd.net.timeout.dhcpなどのdracutパラメーターを渡す必要がなくなります。
BPF がバージョン 6.0 にリベースされました。
Berkeley Packet Filter (BPF) 機能が複数の拡張機能を備えた Linux カーネルバージョン 6.0 にリベースされました。この更新により、カーネルモジュールの BPF Type Format (BTF) に依存するすべての BPF 機能が有効になります。このような機能には、トレース用の BPF トランポリンの使用、Compile Once - Run Everywhere (CO-RE) メカニズムの可用性、および複数のネットワーク関連機能が含まれます。さらに、カーネルモジュールにはデバッグ情報が含まれるようになりました。つまり、実行中のモジュールを検査するために debuginfo パッケージをインストールする必要がなくなりました。
実行中のカーネルで使用できる BPF 機能の完全なリストの詳細は、bpftool feature コマンドを使用してください。
Jira:RHELPLAN-133650
rtla メタツールは、トレース機能を向上させるために osnoise および timerlat トレーサーを追加します。
Real-Time Linux Analysis (rtla) は、Linux のリアルタイムプロパティーを分析する一連のコマンドを含むメタツールです。rtla は、カーネルトレース機能を利用して、予期しないシステム結果のプロパティーと根本原因に関する正確な情報を提供します。rtla は現在、osnoise および timerlat トレーサーコマンドのサポートを追加しています。
-
osnoiseトレーサーは、オペレーティングシステムのノイズに関する情報を報告します。 -
timerlatトレーサーは、タイマー IRQ ハンドラーおよびスレッドハンドラーでのタイマーレイテンシーを定期的に出力します。
rtla の timerlat 機能を使用するには、sysctl -w kernel.sched_rt_runtime_us=-1 スクリプトを使用して、アドミッションコントロールを無効にする必要があることに注意してください。
Bugzilla:2075216
Tuna の argparse モジュールが CPU ソケットの設定をサポートするようになりました。
この機能強化により、複数の CPU ソケットがある場合に特定の CPU ソケットを指定できるようになります。サブコマンドで -h を使用すると、ヘルプの使用法を表示できます (tuna show_threads -h など)。
特定の CPU ソケットを設定するには、CPU ソケットを使用する必要がある各 tuna コマンドで -S オプションを指定します。
tuna <command> [-S CPU_SOCKET_LIST]
tuna <command> [-S CPU_SOCKET_LIST]
たとえば、tuna show_threads -S 2,3 を使用してスレッドを表示するか、tuna show_irqs -S 2,3 を使用してアタッチされた割り込み要求 (IRQ) を表示します。
結果として、この機能強化により、各 CPU を個別に指定する必要がなく、CPU ソケットに基づいた CPU 使用が容易になります。
Tuna の cgroups と irqs の出力形式が改善され、読みやすくなりました。
この機能強化により、cgroup ユーティリティーの tuna show_threads コマンド出力が端末のサイズに基づいて構造化されるようになりました。新しい -z または --spaced オプションを show_threads コマンドに追加することで、cgroups 出力に追加のスペースを設定することもできます。
その結果、cgroups 出力は、端末のサイズに合わせて読みやすい形式に改良されました。
新しいコマンドラインインターフェイスがリアルタイムで tuna ツールに追加されました。
この機能拡張により、argparse 解析モジュールに基づく新しいコマンドラインインターフェイスが tuna ツールに追加されます。この更新により、次のタスクを実行できるようになりました。
- アプリケーションおよびカーネルスレッドの属性を変更します。
- 名前または番号によって割り込み要求 (IRQ) を操作します。
- プロセス識別子を使用してタスクまたはスレッドを操作します。
- CPU またはソケット番号を使用して、CPU と CPU セットを指定します。
tuna -h コマンドを使用すると、コマンドライン引数とそれに対応するオプションを出力できます。各コマンドにはオプションの引数があり、tuna <command> -h コマンドで表示できます。
その結果、tuna は、コマンドラインインターフェイスよりも使いやすく保守しやすい、より標準化されたコマンドとオプションのメニューを備えたインターフェイスを提供するようになりました。
rteval コマンドの出力には、プログラムのロードと測定スレッドの情報が含まれるようになりました。
rteval コマンドは、プログラムのロード数、測定スレッド、およびこれらのスレッドを実行した対応する CPU を含むレポートの概要を表示するようになりました。この情報は、特定のハードウェアプラットフォームの負荷下でのリアルタイムカーネルのパフォーマンスを評価するのに役立ちます。
rteval レポートは、システムのブートログとともに XML ファイルに書き込まれ、rteval-<date>-N-tar.bz2 圧縮ファイルに保存されます。date はレポート生成日を指定し、N は N 回目の実行のカウンターです。
rteval レポートを生成するには、次のコマンドを入力します。
rteval --summarize rteval-<date>-N.tar.bz2
# rteval --summarize rteval-<date>-N.tar.bz2
レイテンシーを測定するために、-W および --bucket-width オプションが oslat プログラムに追加されました。
この機能強化により、単一バケットのレイテンシー範囲をナノ秒の精度で指定できるようになりました。1000 ナノ秒の倍数ではない幅は、ナノ秒の精度を示します。新しいオプション -W または --bucket-width を使用すると、バケット間のレイテンシー間隔を変更して、マイクロ秒未満の遅延時間内のレイテンシーを測定できます。
たとえば、1 - 4 の CPU 範囲で実行するために 10 秒間にわたって 32 個のバケットのレイテンシーバケット幅を 100 ナノ秒に設定し、ゼロのバケットサイズを省略するには、次のコマンドを実行します。
oslat -b 32 -D 10s -W 100 -z -c 1-4
# oslat -b 32 -D 10s -W 100 -z -c 1-4
このオプションを使用する前に、誤差測定に関してどのレベルの精度が重要であるかを判断する必要があることに注意してください。
kdump ストレージターゲットとして有効になった NVMe/FC トランスポートプロトコル。
kdump メカニズムは、ダンプターゲットとしてファイバーチャネル (NVMe/FC) プロトコル上の Nonvolatile Memory Express (NVMe) のサポートを提供するようになりました。この更新により、カーネルクラッシュダンプファイルを NVMe/FC ストレージターゲットに保存するように kdump を設定できるようになります。
その結果、kdump は、カーネルクラッシュが発生した場合でも、timeout や reconnect エラーを発生させることなく、vmcore ファイルをキャプチャーして NVMe/FC に保存できます。
NVMe/FC 設定の詳細は、ストレージデバイスの管理 を参照してください。
Bugzilla:2080110
crash-utility ツールがバージョン 8.0.2 にリベースされました。
アクティブなシステム状態またはカーネルクラッシュ後の分析を行う crash-utility がバージョン 8.0.2 にリベースされました。注目すべき変更には、multiqueue(blk-mq) デバイスのサポートの追加が含まれます。dev -d または dev -D コマンドを使用すると、multiqueue(blk-mq) デバイスのディスク I/O 統計を表示できます。
openssl-ibmca がバージョン 2.3.1 にリベースされました。
64 ビット IBM Z アーキテクチャー上の IBMCA の動的 OpenSSL エンジンとプロバイダーがアップストリームバージョン 2.3.1 にリベースされました。RHEL 9 のユーザーは、OpenSSL の今後の更新との互換性を確保するために、OpenSSL プロバイダー を使用することを推奨します。エンジン 機能は OpenSSL バージョン 3 で非推奨になりました。
Bugzilla:2110378
顧客キーを使用した Secure Execution ゲストダンプ暗号化
この新機能により、kdump ユーティリティーが機能しないシナリオで、Secure Execution ゲストのハイパーバイザー開始ダンプが KVM からカーネルクラッシュ情報を収集できるようになります。Secure Execution のハイパーバイザー開始ダンプは、IBM Z シリーズ z16 および LinuxONE Emperor 4 ハードウェア向けに設計されていることに注意してください。
Bugzilla:2044204
リアルタイムの TSN プロトコルが ADL-S プラットフォームで有効になりました。
この機能強化により、IEEE Time Sensitive Networking (TSN) 仕様により、Intel Alder Lake S (ADL-S) プラットフォーム上のネットワーク上でのリアルタイムワークロードの時刻同期と確定的処理が可能になります。次のネットワークデバイスをサポートします。
- TSN サポートを備えたディスクリート 2.5GbE MAC-PHY コンボ: Intel® i225/i226
-
1GbE および 2.5Gbe 速度をカバーする Marvell、Maxlinear、TI のサードパーティー PHY チップを備えた SOC 内の統合 2.5GbE MAC は、一部の
SKUおよび SOC で利用できます。
TSN プロトコルを使用すると、組み込み実装での決定論的なアプリケーションのスケジューリング、プリエンプション、および正確な時刻同期タイプのワークロードを管理できます。これらの実装には専用の特殊な独自のネットワークが必要ですが、ワークロードは標準のイーサネット、Wi-Fi、および 5G ネットワークで実行されます。
その結果、TSN は次の機能を向上させました。
- ハードウェア: IoT でのリアルタイムワークロードの実装に使用される Intel ベースのシステム
- 決定的で時間に敏感なアプリケーション
Bugzilla:2100606
Intel Ice ドライバーがバージョン 6.0.0 にリベースされました。
Intel ice ドライバーはアップストリームバージョン 6.0.0 にアップグレードされ、以前のバージョンに比べて多くの機能強化とバグ修正が行われました。注目すべき機能強化には次のものがあります。
-
Point-to-Point Protocol over Ethernet (
PPPoE) プロトコルのハードウェアオフロード -
Inter-Integrated Circuit (
I2C) プロトコル書き込みコマンド -
イーサネットスイッチデバイスドライバーモデル (
switchdev) の VLAN タグプロトコル識別子 (TPID) フィルター -
switchdevでの二重 VLAN タグ付け
Bugzilla:2104468
GNSS モジュールのデータを書き込むオプションが利用可能になりました。
この更新では、gnss レシーバーにデータを書き込むオプションが提供されます。以前は、gnss は完全には設定できませんでした。この機能強化により、すべての gnss 機能が利用できるようになりました。
Bugzilla:2111048
IBM zSystems のセキュアブート証明書のホスティング
IBM z16 A02/AGZ および LinuxONE Rockhopper 4 LA2/AGL 以降、ハードウェア管理コンソール (HMC) でセキュアブートを有効にしてシステムを起動するときに、Linux カーネルの検証に使用される証明書を管理できるようになりました。以下に例を示します。
- DPM およびクラシックモードで HMC を使用し、HMC からアクセスできる FTP サーバーからシステム証明書ストアに証明書をロードできます。HMC に接続された USB デバイスから証明書をロードすることもできます。
- 証明書ストアに保存されている証明書を LPAR パーティションに関連付けることができます。複数の証明書を 1 つのパーティションに関連付けたり、1 つの証明書を複数のパーティションに関連付けたりできます。
- HMC インターフェイスを使用して、証明書ストア内の証明書の関連付けをパーティションから解除できます。
- 証明書ストアから証明書を削除できます。
- 最大 20 個の証明書を 1 つのパーティションに関連付けることができます。
ビルトインのファームウェア証明書は引き続き使用できます。ユーザー管理の証明書ストアを使用するとすぐに、ビルトインの証明書は使用できなくなります。
証明書ストアにロードする証明書ファイルは、次の要件を満たしている必要があります。
-
PEMまたはDER-encoded X.509v3形式で、ファイル名拡張子が.pem、.cer、.crt、または.derのいずれかである。 - 有効期限が切れていない。
- キー使用属性が デジタル署名 である。
- 拡張キー使用属性に コード署名 が含まれている。
ファームウェアインターフェイスを使用すると、論理パーティションで実行されている Linux カーネルが、このパーティションに関連付けられた証明書をロードできるようになります。Linux on IBM Z は、これらの証明書を .platform キーリングに保存して、Linux カーネルが kexec カーネルを検証し、そのパーティションに関連付けられた証明書を使用してサードパーティーのカーネルモジュールを検証できるようにします。
検証済みの証明書のみをアップロードし、失効した証明書を削除するのは、オペレーターの責任です。
HMC に読み込む必要がある Red Hat Secureboot 302 証明書は、Product Signing Keys から入手できます。
Bugzilla:2190123
zipl が 64 ビット IBM Z でのセキュアブート IPL とダンプをサポート
この更新により、zipl ユーティリティーは、64 ビット IBM Z アーキテクチャー上の Extended Count Key Data (ECKD) Direct Access Storage Devices (DASD) からの List-Directed IPL および List-Directed ダンプをサポートします。その結果、IBM Z での RHEL のセキュアブートは、ECKD タイプの DASD でも動作します。
Bugzilla:2044200
rtla がアップストリーム kernel ソースコードのバージョン 6.6 にリベース
rtla ユーティリティーが最新のアップストリームバージョンにアップグレードされ、複数のバグ修正および機能拡張が追加されました。主な変更点は、以下のとおりです。
-
メインの
rtlaスレッドとは別に、実行するrtlaスレッドの追加コントロールグループを指定する-Cオプションが追加されました。 -
rtlaスレッドをハウスキーピング CPU に配置し、測定スレッドを異なる CPU に配置する--house-keepingオプションが追加されました。 -
timerlat histおよびtimerlat topスレッドをユーザー空間で実行できるように、timerlatトレーサーのサポートが追加されました。
Jira:RHEL-18359