UEK R7の新機能と変更点
UEK R7で導入された新機能、拡張機能およびその他の重要な変更。
UEK R7の重要な変更のサマリー
次に、UEK R6と比較して、UEK R7で導入された機能、変更および改善のサマリーを示します。
-
Linux 5.15の安定したカーネル・ベース
UEK R7のベース・カーネルとして使用される5.15.0メインライン・カーネル・リリースには、以前のUEKリリースおよびRHCKよりも多くのアップストリーム・カーネル機能および改善が含まれています。このカーネルで導入された主な新機能および拡張機能のリストについては、Core Kernel Features and Functionalityを参照してください。
-
64ビットArm (aarch64)のサポート
このリリースでは、64ビットArm (aarch64)プラットフォームのサポートが改善されました。Armプラットフォームの重要な変更の1つは、デフォルトのページ・サイズが前の64KBのデフォルトから4KBに変更されたことです。新しい4KBサイズのペアは、Armベースのシステムの大部分に存在するワークロードとメモリー量に適しています。この顕著な変更の詳細は、「Armプラットフォームのデフォルト・ページ・サイズが4KBに変更されました」を参照してください。
-
DTrace v2.0
UEK R7では引き続きDtrace v2.0を使用でき、eBPFなどのカーネル・トレース機能を利用します。DTraceリリースおよびその他の重要な変更の詳細は、Oracle Linux: DTraceリリース・ノートを参照してください。
-
ファイル・システムのサポート
BtrfsおよびOCFS2ファイル・システムののサポートは、UEK R7で有効になっています。XFSおよびNFSファイル・システムも、このリリースで拡張されています。UEK R7で導入された新しいファイル・システム機能の詳細は、ファイル・システムを参照してください。
Armプラットフォームのデフォルト・ページ・サイズが4KBに変更されました
64ビットArm (aarch64)プラットフォームのデフォルト・ページ・サイズは、以前の64KBのデフォルトから4KBに変更されました。新しい4KBサイズのペアは、ほとんどのArmベースのシステムに存在するワークロードおよびメモリー量とよく一致します。
以前のリリースのUEKからカーネルをアップグレードする場合、この変更は重要な意味を持ちます。詳細は、「以前のOracle LinuxまたはUEKリリースからUEK R7へのアップグレードについて」を参照してください。
この重要な変更に関連するその他の既知の問題については、Known Issues for UEK R7を参照してください。
コアカーネルの機能
UEK R6のベース・カーネル・バージョンとして使用された5.4リリースと、UEK R7のベース・カーネル・バージョンとして使用される5.15.0カーネル・リリースの間に、いくつかの主要なコア・カーネル機能がアップストリーム・カーネルに実装されています。一部の機能は更新リリースでUEK R6カーネルにバックポートされましたが、UEK R7で使用可能な重要な新機能は次のとおりです。
-
BPFの改善
UEK R7では、次のような多くのBerkeley Packet Filter (BPF)の改善が導入されています。
-
libbpfおよびLLVMおよびBPFタイプ形式(BTF)でのCompile Once Run Everywhereの導入。この変更により、BPFベリファイアはカーネル内BTFを使用して、BPFアセンブリコードをチェックするようになり、より安全で高速なBPFトレースが可能になります。 -
BPFトランポリン(BPF trampoline)は、カーネルコードがほぼゼロのオーバーヘッドでBPFプログラムを呼び出すことを可能にする機能で、x86_64アーキテクチャーで使用できます。このリリースでは、メモリー・マッピングBPF配列マップのサポートおよびその他の改善も導入されています。
-
カーネル関数を直接呼び出すためのBPFサポート。この機能拡張により、カーネル関数を最初に呼び出すBPFプログラムは、Transmission Control Protocol (TCP)輻輳制御の実装を再利用できます。
-
BPFプログラムは、実行中にスリープできるため、ソケットをアドレスまたはポート番号の範囲にバインドするメカニズムが簡素化されます。新しい
BPF_PROG_TYPE_SK_LOOKUPプログラム・タイプは、カーネルが着信接続用のオープン・ソケットを検索するときに実行されます。このメカニズムは、接続を受信するソケットを決定できます。このメカニズムは、ソケットをより簡単な方法でアドレスまたはポート番号の範囲にバインドする方法として追加されました。現在、この機能はトレースおよびセキュリティーモジュールプログラムに限定されています。
-
-
コア・スケジューリング機能を含む
コア・スケジューリングは、同じコアで実行されているプロセスのグループを分離し、サイドチャネル攻撃に対する最大限の保護を実現する機能を提供します。同時マルチスレッド(SMT)を有効にしたまま、SMTを無効にするためのパフォーマンスペナルティを回避しながら、Spectraクラスの脆弱性攻撃を防ぐ方法としてコアスケジューリングを使用できます。
-
新しいcgroupスラブメモリーコントローラ
UEK R7では、新しい制御グループ(cgroup)スラブ・メモリー・コントローラが導入され、メモリーcgroup間でスラブ・メモリーを共有できます。このスラブメモリーコントローラの新しい実装は、複数のメモリーcgroup間でスラブページを共有することによって、より優れたスラブ使用率に到達することを目的としています。また、アカウンティングはページ単位ではなくオブジェクト単位で実行されます。この新機能により、大量のメモリーを節約できるため、非効率性が大幅に削減されます。
-
io_uringの拡張機能
io_uringシステム・コール(非同期I/O用のLinux API)は、QEMUでサポートされている以前のLinux AIO APIよりも高いパフォーマンスが得られるように設計されています。UEK R7では、io_uringのいくつかの機能拡張が導入され、そのほとんどがネットワーク接続されたI/Oに重点を置いています。I/Oに関連する
io_uringパフォーマンスの1つの改善は、内部メモリー管理のオーバーヘッドを削除するための新しいBIOリサイクル・メカニズムです。このメカニズムにより、io_uringで維持できる1秒当たりのI/O操作数が10%増加すると報告されています。io_uringのその他の重要な変更には、Oracle ASMLib v3 + oracaleasm-supportが含まれます。このリリースでは、Oracle ASMLibは、UEK R7で削除されたレガシーoracleasmドライバ・インタフェースのかわりにio_uringシステム・コールを使用します。 -
分割ロックの検出
このリリースでは、Ice Lakeプロセッサなど、この機能の機能を持つx86_64システムでは、分割ロック検出CPU機能がデフォルトで有効になっています。split_lock_detectブートコマンドを使用すると、分割ロックを使用するアプリケーションに
SIGBUS(バスエラーシグナル)を警告または送信できます。分割ロックは、アトミックCPU命令が2つのキャッシュ行にまたがるデータに対して動作する場合に発生します。この操作は、キャッシュ・ライン内のアトミック操作よりもはるかに遅く、他のコアでのパフォーマンスを中断します。カーネルでこの機能を無効にするには、
split_lock_detect=offを設定します。
UEKコンテンツの配布およびパッケージ化の変更
UEKリリースでのコンテンツの配布とパッケージ化の方法が変更されました。UEK R7以降では、特定のハードウェア要件を容易にするために、カーネルが再パッケージされ、いくつかの別々のRPMに合理化されます。kernel-uekという名前のmeta RPMパッケージは、すべてのUEKインストールに必要なパッケージであり続け、以前のリリースとの下位互換性を維持します。
デフォルトでは、kernel-uekパッケージとその依存関係がインストールされます。このパッケージのインストールは、完全なUEKカーネルのインストールと同じです。
次の表に、UEK R7コンテンツの配布およびパッケージ化方法の詳細と、パッケージの依存関係およびその他の重要な要件に関する情報を示します。
|
パッケージ |
説明 |
|---|---|
|
|
これは、ファイルを含まないメタパッケージです。パッケージは、 このパッケージのインストールは、完全なUEKカーネルのインストールと同等です。これは、すべてのUEKインストールに必要なパッケージであり、以前のリリースとの互換性を維持します。 |
|
|
このパッケージには、UEKカーネルと最小数のカーネル・モジュールが含まれ、 |
|
|
このパッケージには、ほとんどのサーバー構成で必要とされる残りのカーネルモジュールが含まれています。このパッケージでは、 |
|
|
これは、サーバーでは珍しくないハードウェアおよびサブシステムのモジュールと、Bluetooth、Wi-Fi、ビデオキャプチャカードなどの特定のデバイスのサポートを含むオプションのパッケージです。これらのコンポーネントのサポートが必要な場合は、yumリポジトリからパッケージを手動でインストールします。 次のコマンドを実行して、このパッケージによって明示的に指定されたモジュールをリストできます。 rpm -q -l kernel-uek-modules-extra |
|
|
このパッケージにはコア・ファームウェア・コンポーネントが含まれており、 |
|
|
このパッケージには、
このパッケージでは、 |
ファイル・システム
UEK 7では、次のファイル・システムの機能および拡張機能が導入されています。
btrfs
64ビットArmプラットフォームのデフォルト・ページ・サイズは、以前の64KBのデフォルトから4KBに変更されました。以前のUEKリリースでArmベースのシステムでOracle Linux 8を実行している場合、この変更はBtrfsファイル・システム(Oracle Linux 8開発者イメージでRaspberry Piを実行しているシステムなど)に影響します。UEK R7にアップグレードする前に、データを移行し、ファイル・システムの再フォーマットを準備して、データ損失を防止し、システムがブート不能にならないようにする必要があります。Armプラットフォームでのデフォルトのページ・サイズが4KBに変更を参照してください。
このリリースでは、いくつかのBtrfsパフォーマンスとデータ・リカバリの改善、RAID 1の拡張、Linuxの読取り/書込みセマフォのサポート、およびチェックサムのサポートが導入されています。btrfsのその他の重要な変更には、次のものがあります。
-
新しいレスキュー・マウント・オプションが追加されました
リカバリ用に既存のすべてのマウント・オプションをグループ化する新しいレスキュー・マウント・オプション。
usebackuprootはrescue=usebackuprootの別名で、nologreplayはrescue=nologreplayの別名です。 -
同期SSDトリミング可能
非同期SSDトリミングはbtrfsで使用できます。パフォーマンスおよび摩耗レベルの理由から、ソリッドステート・ストレージ・ドライブは、ディスク・ブロックが未使用になったときに通知を受け取るという利点があります。この操作は discardまたは trimと呼ばれ、btrfsによって自動的に実行されます。ファイルが削除されると、btrfsは、そのファイルに属するブロックが使用されなくなったことをドライブに通知します。以前は、これらの通知は同期的に発生していました。つまり、削除操作を終了する前にトリム通知が送信されていたため、パフォーマンスが低下する可能性があります。これらの通知は非同期で送信されるようになりました。
-
fsync()パフォーマンスの改善
次の
fsync()の改善が導入されました。-
fsync()パフォーマンスの向上(dbenchによって報告される最大レイテンシが12%減少)。 -
チェックサム・ツリーのルックアップと競合の数を減らすことで、パラレル
fsyncを大幅に高速化します。 -
reflinked/dedupedエクステントを含むファイルのパラレルfsyncを大幅に高速化します。ジョブ16から1024では、平均してスループットは約50%向上し、ランタイムは約30%減少します。
-
-
マウントサポートでのチャンクツリーのプリフェッチ
マウント時にチャンクツリーをプリフェッチすると、マルチTBファイルシステムのマウント速度が向上します。
-
fs-verityとIDマッピングのサポート
このリリースには、
fs-verityおよびIDマッピング、および特定のプロセスのメモリー・アクセス・パターンを監視する機能を改善するためのDAMONのサポートが含まれています。fs-verity汎用レイヤーは、ext4およびF2FSファイル・システムですでに使用でき、読取り専用ファイルの透過的な整合性と信頼性の保護を提供します。この機能には、あるマウントのユーザーIDとグループIDを別のマウントにマップする機能を提供するIDマップマウントポイントの機能も含まれています。
ext4
ext4ファイル・システムは、UEKリリースでも引き続きサポートされています。
OCFS2
OCFS2は、引き続きUEKリリースでサポートされます。Oracle Linux 9では、ユーザー領域パッケージが更新され、このリリースでOCFS2のサポートが有効になります。
XFS
64ビットArmプラットフォームのデフォルト・ページ・サイズは、以前の64KBのデフォルトから4KBに変更されました。そのため、以前のUEKリリースでArmベースのシステムでOracle Linux 8を実行しており、以前に手動でXFSファイル・システムを4KBを超えるブロック・サイズに変更した場合は、UEK R7にアップグレードする前に、データを移行してファイル・システムの再フォーマットを準備する必要があります。4KBのブロック・サイズを使用するように構成されたXFSファイル・システムを含むシステムは影響を受けません。Armプラットフォームでのデフォルトのページ・サイズが4KBに変更を参照してください。
UEK R7では、次の重要なXFSファイル・システム変更が導入されています。
-
XFS 2038+およびDAX操作の機能拡張とDAXメタデータの削減。
XFS 2038+、ファイルごとおよびディレクトリごとのDAX操作、およびDAXメタデータの削減機能がこのリリースで追加されました。
-
XFSファイル・システムに含まれている新機能
XFSファイル・システムでは、
bigtimeとinobtcountの2つの新しいオプションがサポートされています。bigtimeオプションは、2038年以降のタイムスタンプをサポートします。inobtcountオプションは、大規模なファイルシステムでのマウント時間を短縮します。デフォルトでは、これらのオプションは無効になっています。XFSファイル・システムの作成時にこれらのオプションを有効にするには、次のようにmkfs.xfsコマンドを使用します。sudo mkfs.xfs -m bigtime=1,inobtcount=1
注意
これらの mkfs.xfsオプションを有効にすると、古いカーネルによってアンマウント可能なファイルシステムが作成されますが、これらのオプションはサポートされていません。
WireGuard通信プロトコル
WireGuard通信プロトコルは、IPv4ネットワークとIPv6ネットワークの両方でUEK R7で使用できます。WireGuardは、ユーザー・データグラム・プロトコル(UDP)を介してトラフィックを渡すことによって、暗号化された仮想プライベート・ネットワーク(VPN)を使用します。
WireGuardは以前、UEK R6U1でテクノロジ・プレビュー機能として有効になっており、UEK R6U3でフル・サポートが導入されました。
WireGuardは識別と暗号化に公開鍵暗号化を使用し、OpenVPNはこれらのタスクに証明書を使用します。WireGuardでは、安全なキー生成と管理がバックグラウンドで処理されます。IPsecは依然としてセキュアなネットワーク通信の標準ですが、WireGuardはより簡単に構成および配備できるため人気が高まっています。
詳細およびステップバイステップの手順については、Oracle Linux: 仮想プライベート・ネットワークの構成を参照してください。
RDMA
UEK R7には、アップストリーム・カーネルで提供されるRemote Direct Memory Access (RDMA)機能と、KspliceおよびDTrace機能が追加されています。RDMAは、ネットワークで接続された2つのシステム間の直接メモリー・アクセスを可能にします。RDMAにより、クラスタ内の高スループットおよび低レイテンシ・ネットワーキングが容易になります。
Oracle Linux 9以降、OracleでサポートされているRDMAパッケージのインストール・プロセスは、RDMA関連パッケージの新しいユーザー領域パッケージと専用のULNチャネルおよびyumリポジトリを使用して簡素化されました。詳細は、Oracle LinuxでのOracleでサポートされているRDMAパッケージのインストールおよびアップグレードを参照してください。
Oracle Linux 8を実行している場合、OracleでサポートされているRDMAパッケージのインストール・プロセスは、以前のリリースと同じままです。
セキュリティ
UEK 7では、次のセキュリティ機能が導入されています。
新しい.machineカーネル・キーリングが導入されました
UEK R7では、.machineカーネル・キーリングが導入されています。このキーリングは、非対称キーを使用するすべての操作のカーネル・レベルのトラスト・アンカーとして使用できます。.machineキーリングは、.builtin_trusted_keysキーリングおよび.secondary_trusted_keysキーリングと同じレベルの信頼性をカーネル内で持ちます。組込みキーリングおよびセカンダリ・キーリングと同様に、.machineキーリングでキーを使用して次のことを実行できます。
-
カーネルモジュールの署名検証を実行します。
-
.secondary_trusted_keysキーリングにキーを追加します。 -
IMA評価キーのCAとして機能します。
.machineキーリングに含まれるキーは、ルートCA証明書である必要があります。ルートCA証明書として認定するには、次の2つの要件を満たす必要があります。
-
X.509証明書は自己署名されます。
-
X.509証明書には、
basicConstraints=critical,CA:TRUEを含むX509v3拡張が含まれているものとします。
また、keyUsageフィールドはkeyCertSignで設定することをお薦めします。
以前のUEKリリースとは異なり、UEK R7の.platformキーリングに含まれるキーは、kexecにのみ使用できます。また、.platformキーを他の目的に使用することはできません。一方、以前のUEKリリースでは、カーネル・モジュールの署名検証に.platformキーリングを使用できましたが、他のカーネル・キー操作には使用できませんでした。
鍵を .machine鍵リングに追加するもっとも簡単な方法は、mokutilユーティリティーに登録することです。この方法では、最初にX.509キー・ペアを作成する必要があります。
IntelアーキテクチャでSGXが有効
Unbreakable Enterprise Kernelリリース7では、第3世代のIntel Xeonスケーラブル・プロセッサ(コード名Ice Lake)でIntel Software Guard Extensions (SGX)テクノロジを使用できます。
アプリケーションは、このハードウェア機能を使用して、エンクレーブと呼ばれるユーザー・コードおよびデータの保護リージョンを移入できます。新しいハードウェアをアクティブにすると、エンクレーブコードとデータが外部のアクセスや修正から保護されます。Enclavesは、シークレットを保存し、DRMソフトウェアなどのシークレットを使用してデータを処理する場所を提供します。SGXは、多くの既知のサイバーセキュリティの脅威に対する保護の提供を支援し、セキュアなエンクレーブを使用してサーバーの攻撃対象領域を削減します。これにより、より高い権限で実行されているプロセスから情報を保護できます。
ゾーン化されたブロック・デバイスのZonefs
zonefs (ゾーン・ファイル・システム)機能は、ゾーン・ブロック・デバイスの各ゾーンをファイルとして公開する単純なファイル・システムです。f2fsなどのネイティブ・ゾーン・ブロック・デバイス・サポートを使用する通常のPOSIX準拠ファイル・システムとは異なり、zonefsは、ゾーン・ブロック・デバイスの順次書込み制約をユーザーに対して非表示にしません。デバイスの順次書き込みゾーンを表すファイルは、ファイルの最後から順次書き込まれる必要があります(書き込みのみ追加)。
非推奨および削除された機能
次の機能は、UEK R7では非推奨、削除またはサポートされなくなりました。
-
/dev/rawデバイスの削除
2005年に廃止とマークされた
/dev/rawドライバは、このリリースで削除されました。以前のリリースでは、/dev/rawの下のデバイス・ノードは、LinuxでO_DIRECTファイル・フラグが導入される前に書き込まれたアプリケーションのI/Oセマンティクスを指示するインタフェースを提供していました。この変更により、util-linuxパッケージの一部であるrawコマンドも機能しなくなります。直接I/Oファイル・セマンティクスを取得するには、次のようにI/Oファイルの適切な設定を使用します。
-
Cの場合は、
O_DIRECTフラグをopen()システム・コールの一部として使用します。 -
Javaの場合は、
RandomAccessFileモード「rwd」(読取りおよび書込み用に開く)を使用します。 -
シェルから、
ddフラグ、iflag=direct(読取り用)およびoflag=direct(書込み用)を使用できます。
-
-
resilient_rdmaipモジュールは非推奨
resilient_rdmaipモジュールは、UEK R7では非推奨です。このモジュールは、後のUEKリリースで削除される可能性があります。 -
Cisco fnic 1.6ドライバはサポートされていません
Ciscoは、アップストリーム・カーネルから取得され、UEK R5、UEK R6、UEK R7などほとんどのカーネルで使用可能なCisco FCoE HBAドライバ(
fnic1.6)をサポートしなくなりました。Ciscoは、Ciscoソフトウェア・ダウンロード・ページで、Oracle Linux、UEK R5以降のUEKリリースでテストおよび互換性がある、完全にサポートされているUCS Linuxドライバ(バージョン2.0.0.83以降)を提供します。ドライバ・パッケージには、NVMeサポートやマルチキュー・サポートなど、現在含まれているドライバ・モジュールで使用できない機能が含まれています。CiscoサーバーでOracle Linuxを実行しているお客様は、ドライバの修正、ドライバの更新、新しいハードウェア・サポートおよび新機能のサポートを受けるために、Ciscoドライバ・パッケージをインストールする必要があります。Oracle Linuxのドライバ・ソリューションの詳細は、Ciscoにお問い合せください。
-
oracleasmカーネル・モジュールの削除
oracleasmカーネル・モジュールはUEK R7で削除されます。このモジュールは、UEK R5およびUEK R6リリースでも引き続きサポートされています。Oracle ASMLibは、
io_uringインタフェースを使用して引き続きサポートされます。詳細は、Core Kernel Features and Functionalityを参照してください。 -
DRBDカーネル・モジュールの削除
DRBD (Distributed Replicated Block Device)カーネル・モジュールおよび
drbd-utilsパッケージは、UEK R7で削除されます。UEK R4でテクノロジ・プレビューとして導入され、UEK R6U3で非推奨となったDRBDカーネル・モジュールとその関連パッケージは、引き続きUEK R5およびUEK R6で有効になっています。