UEK R6の新機能と変更点

UEK R6での重要な変更のサマリー

次の各項では、UEK R5と比較した、Unbreakable Enterprise Kernelリリース6 (UEK R6)の主要な新機能を説明します。このリリースの主要機能のサマリー・リストは次のとおりです。

  • Linux 5.4の安定したカーネルベース

    UEK R6のベース・カーネルとして使用される5.4メインライン・カーネル・リリースには、以前のリリースおよびRHCKよりも多くのアップストリーム・カーネル機能および改善が含まれています。以前のUEKのメジャーリリースではなく、このカーネルで使用可能な主な機能および拡張機能の一覧については、Core Kernel Functionalityを参照してください。

  • アームサポート

    このリリースの多くの機能および改善は、Arm (aarch64)プラットフォームのサポートの改善を目的としています。注目に値する変更には、セキュリティの向上とArmでの仮想化サポートの改善が含まれます。詳細は、Arm (aarch64)プラットフォームを参照してください。

  • Cgroup v2の拡張機能

    CPUコントローラ機能を有効にするには、UEK R5でCgroup v2機能が最初に導入されました。UEK R6には、すべてのCgroup v2機能と、コア・カーネル機能で説明されているいくつかの機能拡張が含まれています。

  • ktaskの拡張

    ktaskは、カーネルでCPU負荷の高い作業をパラレル化するためのフレームワークです。これは、利用可能なCPUパワーが多く、タスクがユーザー空間でシングルスレッドであるシステム上の大規模なタスクを高速化するために使用できます。ktaskは、追加できる汎用APIを提供します複数のスレッドの管理に関する複雑さを軽減しながら、さまざまな種類のタスクへの同時実行性。また、起動時間を短縮するために、構造体のページの初期化およびVFIO対応のKVMゲストの初期化時に使用されます。

    ktaskのドキュメントは/usr/share/doc/kernel-uek-doc-5.4/core-api/ktask.htmlで提供されていますが、インタフェースはまだ安定していません。

  • パラレルkswapd

    ページ置換は、kswapdによって非同期に、および直接リクレイムによって同期的にカーネル内で処理されます。ゾーンの空きリスト内の空きページが少ない場合、kswapdはページをスキャンして、新しいページ割当て用の領域を解放するために削除できる未使用のページを探します。この最適化により、直接的な再利用を回避できるため、リソースを大量に消費し、時間がかかる可能性があります。

  • Kexecファームウェアの署名

    カーネル・イメージ署名をチェックおよび検証するオプションは、UEK R6で有効です。kexecを使用してUEK R6内からカーネルをロードする場合、システムが署名および検証されたカーネルイメージのみをロードするように、カーネルイメージの署名検査および検証を実装できます。

  • メモリー管理の改善

    カーネルのメモリー管理コードには、ページやキャッシュのクリアに関する効率性の向上、および障害管理とレポート機能の強化のために、いくつかのパフォーマンス強化が実装されています。詳細は、Memory Managementを参照してください。

  • NVDIMMの更新

    NVDIMM機能の更新が実装され、永続メモリーを従来のRAMとして使用できるようになり、ゼロキー消去機能の標準化に役立つ更新も含まれています。詳細は、Core Kernel Functionalityを参照してください。

  • DTrace v2.0

    DTraceのサポートはUEK R6で有効になっており、Linuxカーネルに統合されたBerkeley Packet Filter (BPF)を使用するように再実装されています。現在のバージョンは、新しい実装に基づく最初のDtraceリリースであり、UEK R5のDTraceとの機能パリティはまだ達成されていませんが、将来的には実現します。アップストリーム・ツールチェーンの改善により、DTraceで使用可能なRPMのセットを簡素化するために、他の改善が行われました。詳細は、DTrace v2.0を参照してください。

  • OCFS2

    OCFS2ファイル・システムの サポートは、UEK R6で有効になっています。詳細は、「OCFS2」を参照してください。

  • btrfsファイル・システムのサポート

    UEK R6がシステムにインストールされている場合、Oracle Linux 8システムではbtrfsファイル・システムのサポートが有効になります。このリリースでは、btrfsにさらに機能拡張が行われました。詳細は、Btrfsを参照してください。

カーネルの基本機能

アップストリーム・カーネルには、UEK R5のベース・カーネル・バージョンとして使用された4.14リリースと、UEK R6のベース・カーネル・バージョンとして使用される5.4カーネル・リリースの間に、いくつかの主要なコア・カーネル機能が実装されています。一部の機能は更新リリースでUEK R5カーネルにバックポートされましたが、UEK R6では次の重要な新機能を使用できます。

  • ロックダウン・モード(x86_64のみ)

    ロックダウン・モードが大幅に改善され、注目すべき実装の変更がいくつかあります。このリリースでは、整合性モードと機密性モードが区別されます。この機能の詳細は、セキュリティを参照してください。

  • fs重要度

    fs-verityは、読取り専用ファイルの整合性と信頼性の保護のためにファイル・システムをフックインできるカーネル機能です。この機能は、悪意のあるファイル破損や、システム上で変更すべきでないファイルの悪意のある変更を検出するために使用できます。この機能は現在、ext4およびf2fsファイル・システムでのみ動作します。

  • io_uringを使用した高パフォーマンスの非同期I/O

    この機能により、バッファリングされたI/OとバッファリングされていないI/Oの両方に対して、高速でスケーラブルな非同期I/Oインタフェースが提供されます。また、非同期ポーリングI/Oもサポートしています。ユーザー空間ライブラリliburingは、アプリケーションがio_uringインスタンスを簡単に設定し、I/Oを送信/完了できるようにするヘルパーを備えたアプリケーションの基本機能を提供します。

  • Cgroupの更新

    フルCgroup v2機能はUEK R6に含まれています。UEK R5の機能には、特定のタスク・グループに対してCPUリソースを設定できるCPUコントローラなどのいくつかの機能が含まれていました。UEK R6には、次の重要な機能改善とともに、これらの機能が含まれています。

    • ワークロードの整合性を維持するために、1つのユニットとしてcgroupを強制終了するために使用できる、グループ対応のOOMキラー。この機能は、cgroup v2メモリー・コントローラでmemory.oom.groupを設定することで有効にできます。この設定によって、cgroupが部分化不可のワークロードであると判断され、タスクとその子孫がOOMキラーによって強制終了されるか、まったく強制終了されないかが決まります。

    • フリーザーコントローラがcgroupsv2に追加され、cgroup内のワークロードを停止して、一時的に一部のリソースを解放する機能が提供されます。

    • このリリースでは、I/Oコストベース・モデルの作業効率のよい比例コントローラであるblk-iocostが導入されています。現在、単純な線形コスト・モデルが組み込まれており、各I/Oは順次またはランダムに分類され、それに応じて基本コストが与えられます。その後、サイズ比例コストが上に追加されます。

  • NVDIMM

    永続メモリーを従来のRAMとして使用できるようになりました。さらに、libnvdimm内のセキュリティ関連コマンドを中心に修正が実装され、ペイロード・データがゼロ値でいっぱいになったキーの使用が可能になり、ゼロ・キーが使用されている場所でセキュアな操作が引き続き実行されるようになりました。すべてのコマンドが同じゼロキーセマンティックを使用し、ゼロキーが使用されている場合にNVDIMM上のデータのセキュアな消去を実行できるように、一般的な実装が導入されました。一部のNVDIMMプラットフォームでは、デフォルトのゼロキーでセキュリティーが有効化されるため、オペレーティングシステムに初期キーを指定させるのではなく、セキュリティーが有効な場所で操作が機能しなくなる可能性があるため、この変更は重要です。

Arm (aarch64)プラットフォーム

UEK R6では、次の重要なARM機能が実装されています。

  • セキュリティの強化

    syscallラッパー、ポインタ認証、KASLR (カーネル仮想アドレスランダム化)サポート、PSTATE.SSBSビットサポート(ARM v8.5コア)などの攻撃に対する緩和を改善するために、さまざまな機能強化が行われました。

  • メモリーのホットプラグ

    ホットプラグメモリーのコアサポート。

  • KVMの改善

    ARM (aarch64)システムでのKVMゲストの改善には、ポインタ認証(ARM v8.3)およびスケーラブル・ベクトル拡張(SVE)のサポートが含まれます。

暗号化(Cryptography)

次の重要な暗号化機能が、UEK R6に実装されています:

  • キーの説明管理の簡素化

    キーとキーリングは、よりネームスペース対応です。

  • Zstandard圧縮

    Zstandard圧縮(zstd)がcryptoおよびscompressに追加されます。デフォルト・レベルのみが有効になります。

DTrace v2.0

DTrace v2.0は、DTraceがLinuxに最初に移植されたときには存在せず、既存のLinuxカーネル・トレース機能(eBPFなど)を使用したDTraceの再導入です。この新しい実装では、特定のカーネル・パッチへのDTraceの依存関係が取り除かれています。

DTrace v2.0は、UEK R6でのみ使用可能です。以前のバージョンのUEKには、元のDTrace実装が引き続き含まれます。

Oracle Linux 8上のDTrace V2.0は、ユーザー・スペース・アプリケーションとして再実装されています。Oracle Linux 8上での実行にlibdtrace-ctfライブラリが必要なくなりました。このライブラリの機能は、Oracle Linux 8 GNUツールチェーンに統合されています。ただし、Oracle Linux 7では、まだlibdtrace-ctfが必要です。

機能は使用可能になると提供されます。限られた一連の機能(主にフレームワーク機能であり、ユーザーの目に見える機能は多くない)から始まり、最終的には以前のサポートに到達し、それを上回ります。

  • 注目すべき変更と改善

    次の重要な変更点と改善点が含まれています。

    • 基礎となるコアDTrace機能のほとんどは、ユーザー領域に再実装(Dコンパイラ、プロバイダAPI、プローブ管理)されます。この機能の多くは、以前はカーネルに存在していました。

    • DコンパイラはeBPFコードを生成するようにターゲット設定され、ほとんどのD言語はコンパイラによってすでにサポートされています。

    • BPFベリファイア・レポート出力は有効です。コンパイルされたDスクリプトがBPFプログラムとしてカーネルにロードされると、BPF検証機能が静的なコード解析を実行して、プログラムの安全性を確保します。この分析が失敗すると、出力が生成され、DTraceがこの出力をユーザーに報告します。

    • カーネルがこの情報を/proc/kallsyms (または/proc/kallmodsyms)で提供する場合、関数境界トレース(FBT)は、モジュール別にグループ化された関数でプローブします(モジュールがコンパイルされているかどうか、ロード可能かに関係なく)。

    • 型付きプローブ引数をサポートするシステム・コールのエントリおよびreturnプローブ(systraceプロバイダ)が有効になります。現在、-lv出力でのみ使用できます。

    • Linuxのトレースポイントに基づく静的定義トレース(SDT)プローブは、型付きプローブ引数がサポートされ、有効になります。現在、-lv出力でのみ使用できます。

  • 注目すべき制限

    次の制限事項に注意してください。

    • printf()ファンクションはまだ実装されていません。trace()を使用してください。

    • trace()アクションは現在、文字列ではなく数値でのみ動作します。

    • ほとんどのアクション(exit()など)はまだ実装されていません。

    • 3つの変数スコープのうち、Global ("x")およびthread-local ("self->x")はまだ実装されていません

    • BEGINENDprofile-1nなどのプローブを含む多くのプロバイダ(dtraceやprofileなど)はまだ機能していません

    • ワイルドカードを使用して複数のプローブに一致するプローブの説明(provider:module:function:name)は、まだサポートされていません。たとえば、write:entrysyscall:vmlinux:write:entryのみに一致するため機能しますが、write:*syscall:vmlinux:write:entrysyscall:vmlinux:write:returnの両方に一致するため機能しません。

使用方法の例

次の例は、UEK R6上のDTrace v2.0の現在の機能を示しています。例では、コマンドがrootとして実行され、/usr/sbinがPATH内にあることを前提にしています。

  • DTraceバージョン情報を表示します。

    # dtrace -V
    DTrace 2.0.0 [Pre-Release with limited functionality]
    dtrace: Oracle D 2.0
  • プローブを一覧表示します。

    # dtrace -l
    DTrace 2.0.0 [Pre-Release with limited functionality]
    ID   PROVIDER    MODULE                     FUNCTION NAME
    1     dtrace                                        BEGIN
    2     dtrace                                        END
    3     dtrace                                        ERROR
    4        fbt   vmlinux     trace_initcall_finish_cb entry
    5        fbt   vmlinux     trace_initcall_finish_cb return
    6        fbt   vmlinux         initcall_blacklisted entry
    7        fbt   vmlinux         initcall_blacklisted return          

    この特定のシステムには、次のものが含まれています。

    • 3 dtraceプローブ

    • 87890 fbtプローブ(kprobesに基づく)

    • 1262 sdtプローブ(Linuxトレースポイントに基づく)

    • 666 syscallプローブ

  • コンパイルされたDコードをeBPFプログラムとして出力する-Sオプションと、コンパイル後に終了する-eオプションを使用するスクリプトの例:

    # dtrace -Sen 'write:entry { trace(1) }'
    DTrace 2.0.0 [Pre-Release with limited functionality]
    
    Disassembly of ::write:entry
              
    DIFO 0x46af600 returns D type (integer) (size 8) [record 16 bytes]
    INS OFF  OPCODE                  INSTRUCTION
    000 000: 62 a 0 fef8 ffffffff    stw  [%fp-264], -1     ! = EPID
    001 008: 62 a 0 fefc 00000000    stw  [%fp-260], 0
    002 016: 7a a 0 ff00 00000000    stdw [%fp-256], 0
    003 024: 7a a 0 ff08 00000000    stdw [%fp-248], 0
    004 032: 7a a 0 ff10 00000000    stdw [%f
    [...]
  • スクリプトの例:

    # dtrace -n '
    write:entry,
    write:return
    {
    this->x = 3;                /* clause-local variables */
    this->y = 8;
    trace(this->x * this->y);
    trace(&`max_pfn);
    }'

    前述の内容は次のとおりです。

    • write()システムコールのエントリと終了をプローブします(一度に複数のプローブ)。

    • カーネル識別子(max_pfn)およびその他のデータ項目のアドレスを記録するプローブ。

    • プローブには、同じアクションを持つ(明示的にワイルドカードがない)名前が付けられます。

    • 節ローカル変数が使用されます。

    • trace()アクションを使用して出力が報告されます。

ファイル・システム

UEK R6のファイル・システムに実装された最も重要な機能は次のとおりです。

btrfs

btrfsはUEKで引き続きサポートされます。この更新では、スワップ・ファイルのサポート、ZStandard圧縮、様々なパフォーマンス改善など、いくつかの改善およびパッチが適用されています。ルート・ファイル・システムのbtrfsサポートは、Oracle Linux 8.3で導入されています。

ext4

64ビットのタイムスタンプがスーパーブロック・フィールドに追加されました。

OCFS2

OCFS2は引き続きUEKでサポートされます。このアップデートでは、'nowait' AIO機能のサポート、Armプラットフォームのサポート、オンラインおよびオフライン操作用のジャーナル・スーパーブロックの読取りなど、いくつかの改善およびパッチが適用されています。

XFS

オンラインfsckの追加後にメタデータ・ヘルス・ステータスを取得するための新しいオンライン・ヘルス・レポート・インフラストラクチャおよびユーザー領域ioctl。また、このリリースでは、スワップ・ファイルおよびスワップ・ファイルをリアルタイム・デバイスで再配置できるだけでなく、部分的な再リンクもサポートされています。また、さまざまなパフォーマンス改善が行われています。

NFS

RPC、NFSクライアントおよびサーバー・コンポーネントに対するパフォーマンスの向上と拡張が行われました。RDMAを使用したNFSでは、大幅な改善が行われました。拡張には、サーバーごとの複数のTCP NFSv4.1+クライアント接続、ハードウェアの並列化によるスループットの向上、ソフトマウント動作の強化、および診断の改善が含まれます。

メモリー管理

次の重要なメモリー管理機能が、UEK R6に実装されています:

  • TLBフラッシュ

    TLBフラッシュ・コードは、不要なフラッシュを回避し、TLBのシュートダウンを減らすために改善されます。

  • ヒュージ・ページのクリア

    ヒュージ・ページのクリアをより最適に活用することで、メモリー管理が強化され、スループットが向上します。

  • ページ・キャッシュの改善

    より効率的なXarrayデータ型を使用することで、ページ・キャッシュの効率が向上します。

  • 断片化回避の向上

    断片化回避アルゴリズムが改善され、圧縮およびデフラグの時間が速くなります。

  • THP障害処理の改善

    トランスペアレント・ヒュージ・ページ(THP)フォルトの処理、およびTHPステータスに関するより適切なレポートを提供するために、改善が実装されました。

ネットワーク

Unbreakable Enterprise Kernelリリース6では、次の重要なネットワーク機能が実装されています。

  • TCP早期出発時間

    TCPスタックは、As Fast As Possibleモデルの代わりにEarly Departure Timeモデルを使用してパケットを送信するようになりました。この改善により、元のTCP/IPフレームワークの制限が解決され、ハードウェアの制限やボトルネックを克服するためのパケットのスケジュール済リリースが導入されるため、いくつかのパフォーマンスが向上します。

  • 一般受入オフロード

    GROは、ユーザー・データグラム・プロトコル(UDP)に対して有効です。

  • TLS受信

    以前のUEKリリースでは、カーネルがTLSメッセージを送信できました。このリリースでは、カーネルはTLSメッセージも受信できます。TLS接続のカーネル処理の実装により、ユーザー領域に制限された実装よりもパフォーマンスが大幅に向上します。

  • ゼロコピーTCP受信

    以前のUEKリリースでは、ネットワークにパケットを送信するためのゼロコピーTCP機能が導入されました。このリリースでは、ゼロコピーTCPの受信機能が有効になります。

  • パケットフィルタリング

    nftablesがファイアウォール・ルールのデフォルトのバックエンドになりました。BPFベースのネットワーキングフィルタリング(bpfilter)もこのリリースで追加されました。

  • Expressデータ・パス(XDP)が追加されました

    XDPは、高速ネットワーク用の柔軟かつ最小のカーネルベースのパケット転送機能です。

RDMA

Remote Direct Memory Access (RDMA)は、ネットワークによって接続されている2つのシステム間のダイレクトメモリーアクセスを可能にする機能です。RDMAにより、クラスタ内の高スループットおよび低レイテンシ・ネットワーキングが容易になります。

Unbreakable Enterprise Kernelリリース6には、アップストリーム・カーネルで提供されるRDMA機能と、KspliceおよびDTrace機能が追加されています。

UEK R6では、UEK R5との機能パリティが維持され、次の重要なアップストリーム更新が含まれています。

  • 動的統計インフラストラクチャ

    動的統計インフラストラクチャは、ネットリンクインタフェースを介してアクセス可能なカウンタにバインドすることによって、さまざまなオブジェクトのモニタリングを容易にするために実装されています。

  • 動詞フロー・カウンタ

    パッチは、ユーザー・スペース・アプリケーションがリアルタイムのトラフィック・アクティビティおよび管理対象の動詞オブジェクトのイベントを監視できるようにするAPIを提供するために適用されています。

  • RDMA ioctl()の改善

    RDMA ioctl()を改善するために、さまざまな更新が適用されています。重要なことに、新しいヘッダーが使用され、ネーミングの一貫性が向上しました。uverbs_ioctlヘッダーがdriver_idを含むように拡張され、uverbs_attr_specのコンパクト表現が有効になります。

  • RDMAリソース追跡

    RDMAリソース追跡のための一般的なインフラストラクチャが実装されています。このインフラストラクチャは、詳細なキュー・ペア(QP)情報およびグローバル・リソース使用率情報を提供するために使用されます。

  • CQモデレーションはユーザー・スペースに公開されます

    パッチは、完了キュー(CQ)をユーザー空間アプリケーションに公開して、イベントの作成に必要なCQEの数を制御するために適用されます。この変更により、パフォーマンス・チューニングを改善するために、ユーザー・アプリケーションをより詳細に制御できます。

  • ネームスペース機能の改善

    ネームスペース機能を改善するために、様々なパッチが適用されています。RDMAデバイスのネット名前空間を安全に変更できるパッチが適用され、コマンドが追加されました。複数のネットネームスペースでのデバイス共有が無効になり、init_net以外のネットネームスペースで netlinkコマンドを実行できるようになりました。

セキュリティ

Unbreakable Enterprise Kernelリリース6では、次の重要なセキュリティ機能が実装されています。

  • x86_64システムのロックダウンモード

    ロックダウン・モードが改善されました。このリリースでは、整合性モードと機密性モードが区別されます。UEK R6でセキュア・ブートが有効になっている場合、ロックダウン整合性モードはデフォルトで適用されます。機密性モードは、UEFIセキュアブートが有効になっているときに、カーネルコマンド行でオプションとして、またはsecurityfsを使用して有効にできます。セキュア・ブートを無効にするためにカーネル・コマンドライン・オプションを使用すると、ロックダウン・モードを有効にすることもできますが、セキュア・ブートが無効になっている場合、デフォルトでロックダウン強制は実行されません。

    整合性モードが有効になっている場合は、次の制限が適用されます。

    • カーネルモジュールの署名を強制する

    • /dev/{mem,kmem,port}への読取り/書込みアクセスの制限

    • efivar_ssdt_loadの制限

    • kexec_loadシステムコールを無効にする

    • 休止の無効化

    • ユーザー空間からのPCI BARアクセスの禁止

    • ユーザー空間からのX86 IOポートアクセスを禁止する

    • MSRアクセスの制限

    • ACPI custom_methodへのアクセスを制限する

    • acpi_rspdカーネルパラメータを無視

    • ACPIテーブルオーバーライドの無効化

    • PCMCIA CISストレージの禁止

    • TIOCSSEARIALの禁止

    • 安全でないカーネルモジュールパラメータを禁止する

    • testmmiotraceモジュールの禁止

    • デバッグ・アクセスの禁止

    機密性モードが有効になっている場合は、次の制限が適用されます。

    • トレースおよびperf kprobesの禁止

    • カーネル・メモリーの読取りにbpfの使用を制限します。

    • perfの安全でない使用を禁止する

    • トレースフの禁止

    • /proc/kcoreへのアクセスを禁止

    UEK R6のカーネル・キーリング管理も変更されており、現在はメインライン・アップストリーム・カーネルのコードを使用してプラットフォーム・キーリングを実装しています。UEFI Secure Boot DBおよびMachine Owner Keys (MOKs)がプラットフォーム・キーリングに格納され、カーネルの信頼キーリングと同等に扱われません。kexecはプラットフォーム鍵リングで鍵を信頼しますが、これらはIMA (Integrity Measurement Architecture)用のカーネルに新しいCAを追加するために使用できず、カーネルモジュールを検証するために使用できません。

  • IBRS

    Indirect Branch Restricted Speculation (IBRS)は、Spectre V2 Speculative Execution Side Channel Vulnerabilityの影響を受けるプロセッサ、およびほかのソフトウェアまたはハードウェア技術が十分でないか、または使用できないプロセッサでも引き続きサポートされます。

  • 書込み可能なディレクトリでの保護の向上

    このカーネル・リリースでは、/tmpなどのワールド・ライタブルなスティッキー・ディレクトリでユーザーが所有していないFIFOまたは通常ファイルのオープンを禁止することで、スプーフィング攻撃を推奨しません。

  • アームKASLR

    カーネル仮想アドレスのランダム化は、Armプラットフォームではデフォルトで有効になっています。

  • aarch64ポインタ認証

    この機能により、Armプラットフォーム上の特定のクラスのメモリー・スタック破損攻撃を軽減するために使用できるプリミティブが追加されます。

ストレージ

Unbreakable Enterprise Kernelリリース6では、次の重要なストレージ機能が実装されています。

  • NVMeの改善

    NVMe over Fabrics TCPホストとターゲットドライバが追加されました。マルチパスサポートおよびパススルーコマンドのサポートが追加されました。NVMeネームスペースのサポートが拡張され、ネームスペース書込み保護および非同期ネームスペース・アクセスが含まれるようになりました。

仮想化

Unbreakable Enterprise Kernelリリース6では、次の重要な仮想化機能が実装されています。

  • VirtIOの改善

    VirtIO PMEM機能は、VirtIOベースの非同期フラッシュ・メカニズムを追加し、ゲストに永続メモリーをシミュレートして、ゲスト・ページ・キャッシュをバイパスできるようにします。このリリースでは、ページ表をエミュレートせずにVirtIOトランスポートを介したIOMMUリクエストを許可するVirtIO-IOMMUパラ仮想化ドライバも追加されています。

  • Armプラットフォームの改善

    ARM (aarch64)プラットフォーム・システムのゲストには、ポインタ認証(ARM v8.3)およびスケーラブル・ベクトル拡張(SVE)サポートが含まれます。

ドライバの更新

Unbreakable Enterprise Kernelリリース6では、多くのハードウェアおよびデバイスをサポートします。ハードウェアおよびストレージ・ベンダーと緊密に連携し、Oracleでは、メインラインLinux 5.4のバージョンからデバイス・ドライバにいくつか更新しました。

UEK R6の最新の更新に含まれるドライバ・モジュールの完全なリストとバージョン情報は、Unbreakable Enterprise Kernelリリース6 (x86_64)のドライバ・モジュールの付録に記載されています。

注目のドライバ機能

UEK R6に付属するドライバには、次の新機能が記載されています。

  • Broadcom BCM573xxネットワーク・ドライバ

    bnxt_enドライバのバージョンは1.10.1に更新され、アップストリーム5.5カーネルリリースからバックポートされた追加パッチと、Broadcom Thor Ethernetコントローラの拡張と更新に固有のパッチがベンダーによって提供されました。

    UEK R6に組み込まれたカーネル・バージョン5.4.17-2011.6.2のエラータ更新に組み込まれたこのドライバのアップストリームの変更により、このドライバを使用するBroadComネットワーク・インタフェースの2番目のポートでデバイス名が変更される。たとえば、以前はeno3d1として識別されていたデバイスは、eno3として識別されるようになりました。この修正は、デバイスのネーミングを改善するため、また、ネットワーク・デバイスが異なる機能に属する可能性がある場合など、デバイスのポート機能に関する仮定に対処するために適用されました。その結果、RHCKまたはUEK R6を使用するシステムからUEK R5にアップグレードするときに、この変更によりネットワーク・スクリプトの問題が発生することがあります。以前のカーネル・バージョンから現在のバージョンのUEK R6以降にアップグレードする場合は、ネットワーク・スクリプトの名前を変更し、それに応じて更新する必要がある場合があります。

  • Broadcom Emulex LightPulse Fibre Channel SCSIドライバ

    lpfcドライバが12.6.0.3に更新されました。この更新には、アップストリーム5.4カーネルが使用可能になり、アダプタファームウェアで重要なバグ修正が行われて以来、ドライバへの変更に対処するための多数のベンダー貢献パッチが含まれています。このドライバを変更すると、ファイバチャネル経由の NVMeのコードなど、ほかのカーネル依存関係も更新されました。

  • QLogic BCM5706/5708/5709/5716ドライバ

    bnx2ドライバが更新され、バージョン番号は2.2.6のままですが、ドライバにはベンダー提供のパッチおよびファームウェアの更新が含まれています。

  • QLogic Fibre Channel HBAドライバ

    qla2xxxドライバがバージョン10.01.00.22.81.1-kに更新されます。この更新は、以降アップストリーム・カーネルに入った多くのパッチをバックポートし、特定のベンダーがパフォーマンスを向上させ、元のドライバの一部のバグを修正するためにパッチを提供しました。

  • Microsemi Smart Familyコントローラ・ドライバ

    smartpqiドライバはバージョン1.2.10-025に更新され、ベンダー・ガイダンスのもとで5.4カーネル・リリース以降にドライバに適用されたアップストリーム・パッチが含まれています。これらの更新には、いくつかのバグ修正とパフォーマンス強化が含まれています。

  • LSI MPT Fusion SAS 3.0デバイス・ドライバ

    mpt3sasドライバはバージョン33.100.00.00に更新され、ベンダー提供のパッチが含まれています。

新規パッケージと更新パッケージ

UEK R6が提供する新しく追加された機能をサポートするために、いくつかのカーネルおよびユーザー空間のバイナリ・パッケージが、ベース・ディストリビューションに含まれるパッケージから追加または更新されました。これらのパッケージが入手可能なULNチャネルおよびOracle Linux yum Serverリポジトリの詳細は、「UEK R6のインストールと可用性」を参照してください

UEK R6に対して追加および更新されるカーネル領域パッケージには、接頭辞kernel-uekのラベルが付きます。linux-firmwareパッケージも、使用可能な最新のファームウェアで更新されます。

ここにリストされているパッケージは、ユーザー領域機能に固有であり、UEK R6で使用可能な機能を利用するために更新されます。UEK R6を使用するためのこれらのパッケージへの依存性はありません。これらのパッケージのいずれかを使用し、UEK R6も使用する場合は、UEK R6で使用可能なすべての機能との完全な互換性のために、パッケージを最新バージョンに更新する必要があります。

パッケージ

Oracle Linux 8のバージョン番号

Oracle Linux 7のバージョン番号

ndctl,ndctl-libs, ndctl-devel, daxctl, daxctl-libs, daxctl-devel

67 (x86_64)

67 (x86_64)

ipmctl, ipmctl-monitor, libipmctl, libipmctl-devel

01.00.00.3467 (x86_64)

01.00.00.3467 (x86_64)

libsafec, libsafec-check, libsafec-devel

3.3(x86_64)

3.3(x86_64)

btrfs-progs, btrfs-progs-devel

5.4.0 (x86_64、aarch64)

5.4.0 (x86_64、aarch64)

xfsprogs, xfsprogs-devel

5.4.0 (x86_64、aarch64)

5.4.0 (x86_64、aarch64)

ocfs2-tools

1.8.6 (x86_64、aarch64)

1.8.6 (x86_64、aarch64)

e2fs-progs, libss, libss-devel, libcom_err, libcom_err-devel

1.45.4 (x86_64、aarch64)

1.45.4 (x86_64、aarch64)

dtrace, dtrace-devel, dtrace-testsuite

2.0.0 (x86_64、aarch64)

2.0.0 (x86_64、aarch64)

libdtrace-ctf,libdtrace-ctf-devel

該当なし

1.1.0 (x86_64、aarch64)

bcache-tools

1.0.8 (x86_64、aarch64)

1.0.8 (x86_64、aarch64)

cloud-init

18.5 (x86_64、aarch64)

18.5 (x86_64、aarch64)

crash, crash-devel

7.2.7 (x86_64、aarch64)

7.2.7 (x86_64、aarch64)

iproute, iproute-devel, iproute-doc, iproute-tc

5.4.0 (x86_64、aarch64)

5.4.0 (x86_64、aarch64)

kexec-tools

2.0.19 (x86_64、aarch64)

2.0.15 (x86_64、aarch64)

libzstd, libzstd-devel

1.3.8 (x86_64、aarch64)

1.3.4 (x86_64、aarch64)

linux-firmware

20200124-999.4 (x86_64、aarch64)

20200124-999.4 (x86_64、aarch64)

nvme-cli

1.9 (x86_64、aarch64)

1.9 (x86_64、aarch64)

nvmetcli

0.7 (x86_64、aarch64)

0.7 (x86_64、aarch64)

nbd

3.20 (x86_64、aarch64)

3.20 (x86_64、aarch64)

drbd-utils

9.0.0 (x86_64、aarch64)

9.0.0 (x86_64、aarch64)

libdnf, python3-libdnf, python3-hawkey

0.35 (x86_64、aarch64)

該当なし