UEK R6U1の新機能および変更点

Unbreakable Enterprise Kernelリリース6更新1 (UEK R6U1)の主な新機能は次のとおりです。

カーネル・バージョン

UEK R6U1では、5.4.17-2036バージョンおよびUEK R6カーネルのビルドを使用します。これには、セキュリティとバグの修正、およびドライバの更新が含まれます。

カーネルの基本機能

UEK R6U1は、UEK R6に同等のコア・カーネル機能を提供し、同じアップストリーム・メインライン・カーネル・リリースとアップストリームLTSのバグ修正、および既存の機能を強化し、マイナーなバグ修正とセキュリティ改善を提供するための追加パッチを使用します。主な変更は、Oracle Databaseおよびその他のOracleソフトウェアに必要な機能に固有です。

KtaskをPadataに置き換える

Padataは、カーネルでのCPU負荷の高い作業をパラレル化するためのフレームワークです。UEK R6では、OracleはCPU集中型のカーネル・ワークをマルチスレッド化するためのktaskフレームワークをリリースしましたが、アップストリーム・カーネルでのpadata実装のコンバージェンスと継続的な開発に貢献しました。UEK R6U1では、ktaskはpadataの同等の機能に置き換えられ、アップストリームと連携します。変更はユーザーに表示されず、structページの初期化およびVFIO対応のKVMゲスト初期化は、起動時間を短縮するために引き続きマルチスレッド化されます。

padataのドキュメントは、/usr/share/doc/kernel-uek-doc-5.4/core-api/padata.rstにあります。

ファイル・システム

UEK R6U1では、次の重要なファイル・システム変更が実装されています。

  • btrfs

    セキュリティ強化およびバグ修正のためのアップストリーム・パッチが適用されました。これには、CVE-2019-19448の修正が含まれています。

  • CIFS

    一般的なアップストリーム・バグ修正パッチが適用されました。

  • Ext4

    アップストリーム・バグ修正が適用されました。これには、望ましくない動作またはシステム・ハングの原因となった競合状態に対するいくつかの修正が含まれます。

  • NFS

    NFSにバグ修正とパフォーマンス拡張が適用されました。コマンドの発行時にディレクトリが変更されていた場合に ls -lrtコマンドを停止した NFSv3クライアントの問題に対する修正が大幅に含まれています。

  • OCFS2

    5.7 アップストリーム・カーネルからのOCFS2のアップストリーム変更は、このカーネル・リリースにバックポートされます。OCFS2ファイル・システムでNFSサーバーがホストされたときに一般的な保護障害をトリガーした問題を解決するために、バグ修正も適用されました。

  • XFS

    いくつかのバグ修正とパフォーマンス強化が適用されています。マルチスレッドのiノードフラッシュが大幅に改善され、パフォーマンスが向上し、競合状態による望ましくない動作の可能性が小さくなることが回避されます。また、凍結ロックのロック解除が失敗し、ファイル・システムがハングアップする原因となるバグの修正が含まれています。CVE-2020-12655の修正を含むセキュリティの拡張も適用されています。

テクニカル・プレビュー機能

いくつかの機能が調査中であり、UEK R6でのリリースに向けて開発が継続中です。UEK R6U1では、次の機能をテクニカル・プレビューとして使用できます。

コア・スケジューリング

コア・スケジューリングは、データ漏洩やその他の関連する脆弱性を引き起こす可能性のある「コア共有キャッシュ」プロセッサのバグの特定のカテゴリに対して軽減するために、コンピュート・リソースを共有するCPUコアで同時に実行するように、カーネルで有効になっている機能です。

この機能はcgroupの形式で実装されており、コアスケジューリングが有効なcgroupのタスクには一意のグループ「cookie」があります。これらのタスクは、異なるCookieを持つタスクや、有効になっているコアスケジューリングcgroupにないタスクとコアを共有できません。

コアスケジューリングは、同時マルチスレッドを有効にして構成されたシステムで動作するように設計されています。ただし、コアスケジューリングでは、システムで必要になる可能性のあるほかのプロセッサセキュリティー軽減の必要がなくなります。この機能を使用するには、SMT=onが構成されていることを確認してから、rootユーザーとして次の操作を実行します。

  1. 通常のバージョン1のCPUコントローラグループを作成します。たとえば、cpu_sched_0というグループを作成するには:

    # mkdir /sys/fs/cgroup/cpu/cpu_sched_0
                               
  2. cgroupにタスクを追加します。タスクは、プロセスID (PID)をグループ内のtasksファイルに書き込むことによって追加されます。

    # echo PID > /sys/fs/cgroup/cpu/core_sched_0/tasks
                               
  3. CPUコントローラ・グループのコア・スケジューリングを有効にするには、cpu.tagファイルに値1を書き込みます。

    # echo 1 > /sys/fs/cgroup/cpu/core_sched_0/cpu.tag
                               

    cpu.tagファイルが更新されると、cgroup内のタスクは、別のcgroupのタスクまたはcgroupに割り当てられていないタスクとコアを共有しません。

この機能は、テクニカル・プレビューとして有効になり、開発中です。インタフェースは変更される場合があります。コアスケジューリングcgroupを持つシステム内のホットプラグCPUは推奨されません。AMDプロセッサでコア・スケジューリングを使用すると、パフォーマンスの変動が大きくなる可能性があり、お薦めしません。

ワイヤーガード

WireGuardは、IPsecとOpenVPNのより高速で安全な交換です。新しいネットワークは、IPsecやOpenVPNなどのレガシーテクノロジーではなく、WireGuardの最新の暗号化を使用して構築されています。WireGuardは、UEK R6U1でテクニカル・プレビューとして有効化されており、バージョン1.0.20200712のwireguardカーネル・モジュールが導入されています。

WireGuardを構成するには、サポートされていないol7_developer_UEKR6リポジトリのwireguard-toolsパッケージが必要です。このyumリポジトリにアクセスするには、オペレーティング環境に適切なoraclelinux-developer-release-el7またはoraclelinux-developer-release-el8パッケージをインストールする必要があります。インストール後は、リリース前のUEK更新を誤ってインストールしないように、wireguard-toolsパッケージのリポジトリの使用を制限します。

wireguard-toolsパッケージをOracle Linux 7にインストールするには、次を実行します:

# yum install oraclelinux-developer-release-el7
# yum-config-manager --disable ol7_developer
# yum-config-manager --enable ol7_developer_UEKR6
# yum-config-manager --save --setopt=ol7_developer_UEKR6.includepkgs='wireguard-tools*'
# yum install wireguard-tools
                     

このパッケージをOracle Linux 8にインストールするには、次を実行します:

# dnf install oraclelinux-developer-release-el8
# dnf config-manager --disable ol8_developer
# dnf config-manager --enable ol8_developer_UEKR6
# dnf config-manager --save --setopt=ol8_developer_UEKR6.includepkgs='wireguard-tools*'
# dnf install wireguard-tools
                     

NFS v4.2サーバー側コピー

NFS v4.2サーバー側コピー機能は、アップストリーム・カーネルからバックポートされ、UEK R6U1でテクニカル・プレビューとして使用できます。サーバー側のコピー機能には、NFSクライアントが、NFSクライアントを介してネットワーク経由でデータを送受信することなく、サーバー上または2つのサーバー間でファイルデータをコピーできるメカニズムが用意されています。サーバー内機能は有効になっていますが、サーバー間機能はデフォルトで無効になっています。この機能を有効にするには、nfsdモジュールのinter_copy_offload_enableパラメータを設定し、NFSサービスを再起動します。これを一時的に実行するには、次を実行します。

# echo y > /sys/module/nfsd/parameters/inter_copy_offload_enable
                     

または、この変更を永続的にするには、/etc/modprobe.d/nfsd.confを編集して行を追加します。

options nfsd inter_copy_offload_enable=Y

サーバー側のコピーを実行する機能は、サーバーのファイル・システムの機能に大きく依存します。たとえば、ファイルのサーバー内コピーを効率的に実行するには、基礎となるターゲット・ファイル・システムに、個々のファイルのスナップショットまたはクローン機能が必要です。

初期テストはこの機能に問題があることを示しており、このリリースでは主に実験的と見なされています。

ドライバの更新

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

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

注目すべきドライバの機能と更新

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

  • AMD-TEEドライバ

    AMD-TEEドライバamdteeおよびteeは、このリリースでの新しい追加であり、AMD Milan CPUファミリのメインライン・カーネル更新を含めるためのより広範なイニシアチブの一環として、バージョン1.0に含まれています。

  • Atheros 802.11n HTCの無線LANカード運転者

    Atheros 802.11n HTCワイヤレスLANカードドライバ、ath9k_htcは、CVE-2019-19073を含むセキュリティ修正のためにパッチ適用および更新されています。

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

    Broadcom BCM573xxネットワーク・ドライバbnxt_enは、バージョン1.10.1で入手でき、ベンダー提供のパッチおよび更新が含まれています。古いファームウェアの統計収集をより適切に処理するためのパッチもベンダーのリクエストに含まれています。リセット間のネットワーク・カウンタのメンテナンスも大幅に改善され、irq_re_initパラメータが設定されている場合にのみリセット中のカウンタの蓄積が発生します。1つのアップストリーム変更によって、このドライバを使用するBroadcomネットワーク・インタフェースのデバイス名が変更されることに注意してください。たとえば、以前は eno3d1として識別されていたデバイスは、eno3として識別されるようになりました。この変更の結果は、ネットワークデバイス上のポートが異なる機能に属している可能性があり、デバイス上のポート機能に関する仮定を回避することによってデバイスの命名を改善するための修正が適用されているためです。

  • Intel Ethernet Connection E800シリーズドライバ

    Intel Ethernet Connection E800シリーズの Linuxドライバ(ice)は、Columbiavilleコード名を使用して、ベンダー提供のパッチおよび更新によってバージョン0.8.2-kに完全に更新され、新しい Intel 800シリーズのEthernetコントローラおよびPCIeカードをサポートできるようになります。

  • Broadcom Emulex LightPulse Fibre Channel SCSIドライバ

    Broadcom Emulex LightPulse Fibre Channel SCSIドライバ(lpfc)は、ベンダー提供のパッチおよびバグ修正により、バージョン12.8.0.3に更新されます。

  • Broadcom MegaRAID SASドライバ

    Broadcom MegaRAID SASドライバmegaraid_sasがバージョン07.714.04.00-rc1に更新されました。この更新には、アップストリーム・カーネル・リリースに沿ったドライバ・バージョンをもたらすベンダー提供のパッチが含まれています。

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

    LSI MPT Fusion SAS 3.0デバイスドライバ mpt3sasがバージョン 34.100.00.00に更新され、アップストリームカーネルリリースに沿ったドライババージョンをもたらすベンダー提供のパッチが含まれます。

  • QLogic Fibre Channel HBAドライバ

    QLogicファイバ・チャネルHBAドライバqla2xxxは、バージョン10.01.00.25-kに更新され、アップストリーム・カーネル・リリースに沿ってドライバ・バージョンをもたらすベンダー提供のパッチが多数含まれています。

  • Realtek RTL8152/RTL8153はUSBのイーサネット アダプター ドライバーを基づかせていました

    Realtek RTL8152/RTL8153ベースのUSBイーサネット・アダプタ・ドライバr8152は、アップストリーム・カーネル・パッチを使用してバージョン1.10.11に更新されます。

  • Intelボリューム管理デバイスドライバ

    Intel VMD (Volume Management Device)ドライバ vmd、バージョン0.6がこのカーネルリリースに追加され、Intel Xeonプロセッサが提供するハードウェアロジックを利用して、NVMeデバイスの保守性を実現します。ドライバは NVMe PCIe SSDを集約し、SATAおよびSASのHBAと同様に動作します。