1 新機能および変更点
Unbreakable Enterprise Kernelリリース6 (UEK R6)は、Oracle Linux 7.7以降の高度にテストされ最適化されたオペレーティング・システム・カーネル、およびOracle Linux 8.1以降です。 カーネルは、64ビットのArm (aarch64)、Intel 64ビット(x86_64)およびAMD 64ビット(x86_64)プラットフォームで開発、構築およびテストされます。 カーネルは、メインラインのLinuxカーネル・バージョン5.4に基づいています。 このリリースには、更新されたドライバに加えて、バグ修正とセキュリティ修正も含まれます。
Oracleはアップストリームのチェックインをアクティブに監視し、クリティカルなバグおよびセキュリティの修正をUEK R6に適用します。
UEK R6U3では、5.4.17-2136バージョンを使用し、UEK R6カーネルのビルドを使用します。これには、セキュリティとバグの修正、およびドライバの更新が含まれます。
UEK R6は、メインラインのLinuxカーネル・バージョンと同じバージョニング・モデルを使用します。 一部のアプリケーションでは、5.4.バージョニング・スキームが認識されない可能性があります。 ただし、通常のLinuxアプリケーションでは、通常はLinuxカーネルのバージョン番号は認識されず、それによる影響もありません。
UEK R6は、Red Hat互換カーネル(RHCK)との互換性を維持し、RHCKで有効化されている機能は無効化しません。 Oracleオペレーティング環境で使用するために、パフォーマンスを向上させ、カーネルを最適化するために、主要な機能要件およびパッチに対するサポートが提供されます。
カーネルのソース・コードは、パブリックGitソース・コード・リポジトリ(https://github.com/oracle/linux-uek)を介して使用できます。
主な特徴と変更
Unbreakable Enterprise Kernelリリース6更新3 (UEK R6U3)に含まれる主な新機能および変更点を次に示します。
カーネルの基本機能
UEK R6U3は、UEK R6と同等のコア・カーネル機能を提供しますが、アップストリームのメインライン・カーネルv5.4.83リリース・タグに更新され、上流のLTSバグ修正を含み、既存の機能を強化し、小さなバグ修正とセキュリティ改善を提供します。 すべての主要な変更は、Oracle Databaseおよびその他のOracleソフトウェアに必要な機能に固有です。
WireGuard通信プロトコル
WireGuard通信プロトコルは、ユーザー・データグラム・プロトコル(UDP)を介してトラフィックを渡すことで、暗号化された仮想プライベート・ネットワーク(VPN)を使用します。
ノート:
UEK R6U1以降のテクノロジ・プレビュー機能としてUEK R6で有効になっているWireGuardは、UEK R6U3で完全にサポートされています。
WireGuardは、レガシーIPsecおよびOpenVPNトンネリング・プロトコルの安全で使いやすい高速な置換です。 この機能では、実績のある暗号化プロトコルおよびアルゴリズムを使用してデータを保護します。 IPsecはセキュアなネットワーク通信の標準的なままですが、WireGuardは構成とデプロイが簡単になっています。 比較すると、SSHの構成に慣れます。 これらは、管理者がWireGuardが使用する最新の暗号化を使用して新しいネットワークを構築することを選択する理由の一部です。
WireGuardは識別および暗号化に公開キー暗号化を使用し、OpenVPNはこれらのタスクに証明書を使用します。 WireGuardを使用すると、セキュアなキー生成および管理がバックグラウンドで処理されます。
WireGuardは、サーバーおよびデプロイメントにサーバー/クライアント・モードを使用します。 WireGuardは、IPv4ネットワークとIPv6ネットワークの両方で構成およびデプロイできます。
WireGuardを構成およびデプロイするには、wireguard-tools
パッケージをサーバーとクライアント・システムにインストールする必要があり、これにより両方のホスト間の通信が可能になります。
次のコマンドを使用して、wireguard-tools
パッケージがインストールされていることを確認できます:
$ rpm -qa | grep wireguard
次のコマンドを使用して、wireguard
カーネル・モジュールがシステムに存在するかどうかを確認できます:
$ modinfo wireguard
詳細およびステップについては、「Oracle Linux: 仮想プライベートNetworksの構成」を参照してください。
HugeTLBページのvmemmap削減機能を追加しました
このリリースには、各hugetlbpage
に関連付けられているvmemmap
ページ(構造ページ構造のページ)を解放する拡張機能が含まれています。 HugeTLBページの冗長ページ構造を削除することで、メモリーをロケータに戻し、その他の用途に使用できます。
この機能を有効にするには、hugetlb_free_vmemmap=on
オプションを使用してシステムをブートします。 有効にすると、ブート中に次のようなメッセージが表示されます:
HugeTLB: can free 4094 vmemmap pages for hugepages-1048576kB HugeTLB: can free 6 vmemmap pages for hugepages-2048kB
io_uring非同期I/Oフレームワーク
このリリースでは、io_uring
非同期I/O (AIO)フレームワークをさらに統合しています。io_uring
は、発行キューと完了キュー・リングを提供するLinuxカーネル・インタフェースで、コピーを回避するためにカーネルとユーザー領域間で共有されます。
このリリースのio_uring
フレームワークに追加されたより確立された機能に加えて、UEK R6U3には、次の機能を提供する新しいポーリングされたI/Oモード(IORING_SETUP_IOPOLL
)機能も含まれています:
-
標準のファイル制御操作:
FALLOCATE
,OPENAT2
,STATX
,MADVISE
,FADVISE
およびTEE
。 -
ソケットの操作:
ACCEPT
,CONNECT
,SEND(2)
およびRECV(2
)メッセージおよびEPOLL_CTL
。 -
別のリングから
io-wq workqueue
(IORING_SETUP_ATTACH_WQ
)を共有する機能。 -
カーネル内の
io_uring
フレームワークからサポートされている機能をプローブおよび受信するためのIORING_REGISTER_PROBE
コールの追加。 -
SPLICE(2)
コールが含まれます。 -
アプリケーションが信頼できないアプリケーションまたはゲストによってファイル記述子へのアクセス権を付与できるようにする
IORING_REGISTER_RESTRICTIONS
コールが含まれます。 -
IORING_OP_PROVIDE_BUFFERS
コール。バッファ登録インフラストラクチャを使用して、バッファIDおよびバッファ・グループIDに関連付けられたaddr
/len
の受渡しを有効にします。 -
ベクトル読取りコール(
RING_OP_READV
およびIORING_OP_READVMSG
)に対するIORING_BUFFER_SELECT
サポート。
kabi_whitelistパッケージの名前が変更されましたkabi_stablelist
kabi_whitelist
パッケージの名前がkabi_stablelist
に変更されました。 この変更は、問題のある、潜在的に攻撃的な言語を置き換えるためのOracleのコミットメントに従って行われたものです。
ノート:
Oracle Linux 8リリースでは、同様の名前の変更がすでに行われています。
NVMe改善点
NVMe標準の変更に対応し、テクノロジが進化と変化し続けるため、継続的な改善がNon-Volatile Memory Express (NVMe)機能に加えられています。 従来のプロトコルと比較して、NVMeは高速ストレージ・メディアにアクセスするための高度な機能を提供します。
このリリースでは、いくつかのバグ修正とともに、NVMeターゲットのパススルー機能が導入されています。 ターゲット・パススルー機能を使用すると、NVM Express over Fabrics (NVMe-oF)仕様を介してNVMeコントローラ全体をエクスポートできます。 この方法でエクスポートされた場合、各名前空間をブロック・デバイスとしてエクスポートするのではなく、すべてのNVMeコマンドが、管理コマンドとベンダー固有コマンド(VUC)の両方を含む、変更されないコントローラに渡されます。 パススルー・ターゲットは、特定のデバイスのすべての名前空間をリモート・ホストに公開します。
新しいRDMAIPトレース・ポイントが導入されました
以前のリリースでは、resilient_rdmaip
カーネル・モジュールは、インフラストラクチャをデバッグするためにtrace_printk()
関数を直接使用したため、trace_printk()
に関するバナー警告と、resilient_rdmaip
カーネル・モジュールに関連しないメモリー使用量が発生していました。
UEK R6U3では、trace_printk()
を使用してresilient_rdmaip
カーネル・モジュール・インフラストラクチャをデバッグする新しいトレース・ポイントが導入されています。
次の新しい各トレース・ポイントは、回復性RDMAデバッグ・メッセージによってサポートされる3つのデバッグ・レベルに対応します:
-
trace_rdma_debug_l1
-
trace_rdma_debug_l2
-
trace_rdma_debug_l3
Secure Boot拡張機能
このリリースでは、マシン・オーナー・キー(MOK)リストを含むプラットフォーム・キー・リングを追加でチェックするようにSecure Bootが変更されました。 この機能拡張により、Secure Bootが有効になっている場合は常に、サードパーティ製およびカスタムのキー署名付きモジュールをロードできます。
Oracle LinuxのMellanox ConnectX-6DxでのvDPA実装
このリリースでは、Mellanox ConnectX-6Dxネットワーク・アダプタのVirtual Data Path Acceleration (vDPA)フレームワークが改善されています。 vDPAフレームワークは、単一ルートI/O仮想化(SR-IOV)仮想機能やMellanox SubFunctionなどの最先端テクノロジをサポートしており、上部に抽象化および翻訳レイヤーを提供します。vDPAはVirtioリング・レイアウトを使用し、ベンダー実装から切り離された単一の標準Virtioドライバをゲストに配置します。
UEK R6U3では、顕著なvDPAの改善には、オーケストレーションと構成のためのvDPA管理ツールAPI、作成可能な物理機能(PF)ごとの仮想機能(VF)の数に対するPCIe仕様をバイパスするvDPAサブ・ファンクション(SF)サポート、およびドア・ベル・マッピングに対するMellanox mlx5_vdpa
ドライバのサポートが含まれます。
vhostおよびvhost-scsiのパフォーマンスの向上
このリリースでは、vhost
およびvhost-scsi
モジュールのブロック・ストレージに関連する一部のパフォーマンス改善が導入されています。 特に、dm-multipath
経由のvhost
SCSIデバイスのIOPS (入力/出力操作/秒)を強化するためのカーネルの改善が行われました。
また、Qemuが複数のvhost
ワーカー・スレッドを作成し、それらを異なるゲストSCSIデバイスvirtqueues
にマップできるように改善されました。
整合性測定アーキテクチャのデフォルト・ポリシー
アップストリームの2.6.30リリース以降にLinuxカーネルに存在する整合性測定アーキテクチャ(IMA)サブシステムは、システム上の機密ファイルのハッシュのリストを保持します。 この情報は、これらのハッシュと一致しないファイルまたはバイナリのロードを回避できます。 IMA機能は、システムの整合性の維持に役立ちます。また、システム・クリティカル・ファイルへの変更を防止するためにも使用できます。 デフォルトのIMAポリシーはUEK R6U3に設定され、UEK R6U2のエラータ更新でもバック・ポートされます。 更新されたポリシーは、/sys/kernel/security/ima/policy
で確認できます:
measure func=KEXEC_KERNEL_CHECK measure func=MODULE_CHECK
デフォルトのポリシーは、kexec
イメージおよびすべてのカーネル・モジュール・バイナリを測定します。 このデフォルト・ポリシーではこれらのアイテムの測定が可能ですが、評価ポリシーは定義されません。
テクノロジ・プレビュー機能
UEK R6内でのリリースのために、いくつかの機能が調査中であり、開発が進行中です。 UEK R6U3では、テクノロジ・プレビューとして次の機能を使用できます。
-
コア・スケジューリング
カーネルで有効になっているコア・スケジューリング機能は、信頼できるタスクを、コンピュート・リソースを共有するCPUコア上で同時に実行するように制限します。 この機能は、データ漏洩やその他の関連脆弱性を引き起こす可能性のある特定のカテゴリ・コア共有キャッシュ・プロセッサのバグに緩和します。 UEK R6U1以降のテクノロジ・プレビュー機能として、UEK R6でコア・スケジューリングが有効になっています。 この機能は進行中のアクティブな開発中です。
-
NFS v4.2サーバー側コピー
NFS v4.2サーバー側コピー(SSC)機能は、アップストリーム・カーネルからバック・ポートされ、UEK R6U1以降、テクノロジ・プレビューとしてUEK R6で使用可能です。 サーバー側コピー機能は、NFSクライアントがNFSクライアントを介してネットワーク経由で送受信することなく、サーバー上のファイル・データ、または2つのサーバー間でファイル・データをコピーできるようにするメカニズムを提供します。
非推奨となった機能
次の機能は、このUEK R6リリースでは非推奨です。
oracleasmカーネル・モジュール非推奨
このリリースでは、oracleasm
カーネル・モジュールは非推奨です。 モジュールは引き続きUEK R6U3でサポートされますが、今後のUEKリリースで削除される可能性があります。
DRBD非推奨
DRBD (分散レプリケートされたブロック・デバイス)カーネル・モジュールおよび関連するdrbd-utils
パッケージは、UEK R6U3では非推奨です。 DRBDカーネル・モジュールは、UEK R4でテクノロジ・プレビューとして導入され、UEK R5およびUEK R6で引き続き有効化されます。 ただし、このモジュールとdrbd-utils
パッケージは、将来のUEKリリースで削除される可能性があります。
Cisco fnic 1.6ドライバはサポートされていません
Ciscoでは、アップストリーム・カーネルから取得され、UEK R5、UEK R6、UEK R7などほとんどのカーネルで使用できるCisco FCoE HBAドライバ(fnic
1.6)はサポートされなくなりました。 Ciscoは、Ciscoソフトウェアのダウンロード・ページでOracle Linux以降でテストされおよびOracle Linux、UEK R5以降のリリースと互換性のある、完全にサポートされているUCS Linuxドライバ(バージョン2.0.0.83以降)を提供します。 ドライバ・パッケージには、NVMeサポートやマルチ・キュー・サポートなど、現在含まれているドライバ・モジュールでは使用できない機能が含まれています。
CiscoサーバーでOracle Linuxを実行している場合、ドライバの修正、ドライバの更新、新しいハードウェアのサポート、および新機能のサポートを受け取るには、Ciscoドライバ・パッケージをインストールする必要があります。 Oracle Linuxのドライバ・ソリューションの詳細については、Ciscoに問い合わせてください。
ドライバの更新
Unbreakable Enterprise Kernelリリース6では、多数のハードウェア・デバイスがサポートされています。 ハードウェアおよびストレージ・ベンダーと協力し、Oracleでは、メインラインLinux 5.4のバージョンからデバイス・ドライバをいくつか更新しました。
UEK R6に含まれるドライバ・モジュールの完全なリストとバージョン情報は、付録の「Unbreakable Enterprise Kernelリリース6 (x86_64)のドライバ・モジュール」に記載されています。
UEK R6U3に付属しているドライバには、次の新機能があります:
-
Broadcom BCM573xxネットワーク・ドライバ
Broadcom BCM573xxネットワーク・ドライバ
bnxt_en
は、このリリースでバージョン1.10.2に更新されます。 さまざまなバグを解決し、新しい機能および更新を提供するために、多くのアップストリームおよびベンダーが提供するパッチが含まれています。 特に、PTP機能が有効になっており、RoCEのいくつかの改善点が含まれています。 -
Cisco FCoE HBAドライバ
Cisco FCoE HBAドライバ
fnic
は、このリリースのバージョン1.6.0.53に更新されます。 様々なバグを解決するために、アップストリーム・パッチがいくつか含まれています。「Cisco fnic 1.6ドライバはサポートされていません」を参照してください。
-
Intel Ethernet接続E800シリーズLinuxドライバ
Intel Ethernet接続E800シリーズLinuxドライバ
ice
は、このリリースではバージョン0.8.2-kとして引き続きレポートされますが、ベンダーから提供されるパッチが多数含まれています。 このドライバは、最新の25個のGbEおよび100GbE E810ネットワーク・インタフェース・カードに対してテストされます。 -
Broadcom Emulex LightPulseファイバ・チャネルSCSIドライバ
Broadcom Emulex LightPulseファイバ・チャネルSCSIドライバ
lpfc
は、ベンダー提供のパッチおよびバグ修正でバージョン12.8.0.10に更新されます。 いくつかのパッチ更新がNVMeファイバ・チャネル・トランスポート・ドライバ(nvme-fc
)に追加で適用され、機能が向上し、ベンダーによって識別された問題を解決することができました。 -
Microsoft Azureネットワーク・アダプタ・ドライバ
Microsoft Azureネットワーク・アダプタ・ドライバ
mana
がこのリリースに含まれています。 アップストリームおよびベンダーが提供するパッチが含まれており、ドライバはOracle Linux 8で使用するためのものです。 -
MPI3ストレージ・コントローラ・デバイス・ドライバ
MPI3 Storage Controllerデバイス・ドライバ
mpi3mr
は、このリリースのバージョン00.255.45.01に含まれています。 アップストリームおよびベンダーが提供するパッチが含まれており、ドライバは、Broadcomの次世代の96XX HBAおよびRAIDコントローラ・デバイスをサポートすることを目的としています。 -
QLogic FastLinQ 4xxxxコア・モジュール
QLogic FastLinQ 4xxxxコア・モジュール
qed
はバージョン8.37.0.20に更新され、バージョン8.42.2.0ファームウェアのパッチなど、ベンダーから提供される多くのパッチが含まれています。 -
QLogic FastLinQ 4xxxx Ethernetドライバ
QLogic FastLinQ 4xxxx Ethernetドライバ
qede
がバージョン8.37.0.20に更新され、ベンダーが提供する追加のパッチが含まれています。 -
QLogic FastLinQ 4xxxx FCoEモジュール
QLogic FastLinQ 4xxxx FCoEモジュール
qedf
がバージョン8.42.3.0に更新され、アップストリームの変更に従ってこのドライバを更新するベンダー提供のパッチが含まれています。 -
QLogic FastLinQ 4xxxx iSCSIモジュール
QLogic FastLinQ 4xxxx iSCSIモジュール
qedi
は、バージョン8.37.0.20に更新され、このドライバを更新するベンダー提供のパッチがアップストリームの変更に反映されます。 -
QLogicファイバ・チャネルHBAドライバ
QLogicファイバ・チャネルHBAドライバ
qla2xxx
はバージョン10.02.00.106-kに更新され、いくつかのベンダーから提供されるパッチが含まれています。 -
Microsemi Smart Family Controllerドライバ
Microsemi Smart Family Controllerドライバ
smartpqi
はバージョン2.1.8-045に更新され、いくつかのアップストリーム・パッチが含まれています。 -
pvpanicドライバ
ゲスト仮想マシンでカーネル・パニックが発生した場合にlibvirtd内のイベントをトリガーするために使用される
pvpanic
ドライバが更新され、Arm (aarch64)プラットフォームでこの機能を有効にするPCIコンポーネントが含まれます。 以前は、ドライバはISAバス・デバイスとしてのみ機能し、x86プラットフォームでの使用を制限していました。
互換性
Oracle Linuxは、オペレーティング・システムの下で実行されているカーネル・バージョンに依存しない、Red Hat Enterprise Linux (RHEL)との完全なユーザー空間の互換性を維持します。 ユーザー空間の既存のアプリケーションは、Unbreakable Enterprise Kernelリリース6で変更なしに引き続き実行され、RHEL認定アプリケーションには再認定は必要ありません。
Oracle Linuxチームはリリース時の互換性に関する影響を最小限に抑えるため、カーネル・モジュールに対する依存性があるハードウェアおよびソフトウェアを提供するサード・パーティ・ベンダーと緊密に協力しています。 UEK R6のカーネルABIは、初期リリースへの後続のすべての更新で変更されません。 このリリースでは、システムのサード・パーティのカーネル・モジュールの再コンパイルを必要とする、UEK R5を基準とするカーネルABIに変更が加えられています。 UEK R6をインストールする前に、アプリケーションのベンダーにサポート・ステータスを確認してください。
カーネル・ヘッダーでの重要な変更
カーネル・ヘッダーへの変更をアップストリームすると、ソース・コードを変更することなく、サード・パーティのモジュールが異なるカーネル・バージョン間でコンパイルすることを意味する場合があります。 memcg_cache_params
構造がinclude/linux/slab.h
からmm/slab.h
に移動されたことが顕著です。 つまり、カーネル・バージョン間でコンパイルする場合は、コードを考慮に入れて変更を考慮する必要があります。
この問題を解決するには、コードがUEK R5とUEK R6の両方でコンパイルできるように、ソース・コードでヘッダー要件を変更します。 たとえば、次の例のような明細を、2番目の例のように変更します:
#ifdef CONFIG_SLUB #include <linux/slub_def.h> #endif
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) ) #ifdef CONFIG_SLUB #include <linux/slub_def.h> #endif #endif
Oracle製品に対するUEK R6の認証
UEK R6での様々なOracle製品の動作保証は、UEK R6リリースの時点ですぐには利用できない場合があります。 使用している製品が、カーネルのアップグレードやインストール前にUEK R6で使用されていることを確認する必要があります。 https://support.oracle.com/epmos/faces/CertifyHomeで認証を確認してください。
各種カーネル・バージョンのOracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)の動作保証は、https://support.oracle.com/epmos/faces/DocumentDisplay?id=1369107.1で入手できるドキュメントID 1369107.1で説明されています。
異なるカーネル・バージョンのOracle Automatic Storage Managementフィルタ・ドライバ(Oracle ASMFD)の動作保証については、https://support.oracle.com/epmos/faces/DocumentDisplay?id=2034681.1で入手できるDocument ID 2034681.1を参照してください。