1 新機能および変更点
Unbreakable Enterprise Kernelリリース5 (UEK R5)は、x86-64および64-bit Arm (aarch64)アーキテクチャ上のOracle Linux 7.5以上でテストおよび最適化されたオペレーティング・システム・カーネルです。 メイン・ラインのLinuxカーネル・バージョン4.14.35に基づいています。 これらのリリースでは、ドライバが更新され、バグやセキュリティの修正が含まれています。
Oracleは上流のチェックインを積極的に監視し、重大なバグとセキュリティの修正をUEK R5に適用します。
UEK R5は、最初に4.14.35-1818バージョンとカーネルのビルドでリリースされます。
UEK R5は、メインラインのLinuxカーネル・バージョンと同じバージョン管理モデルを使用します。 一部のアプリケーションでは、4.14.バージョニング・スキームが認識されない可能性があります。 ただし、通常のLinuxアプリケーションでは、通常はLinuxカーネルのバージョン番号は認識されず、それによる影響もありません。
主な特徴と変更
以下のセクションでは、UEK R4に対するUnbreakable Enterprise Kernelリリース5 (UEK R5)の主要な新機能について説明します。
64-bit Arm (aarch64)アーキテクチャ
Unbreakable Enterprise Kernelリリース5では、Oracle deliversカーネルが変更されて、64-bit Arm (aarch64)アーキテクチャのサポートが有効になります。 これらの変更は、既存のArmハードウェアに対して作成およびテストされ、arm用のOracle Linuxのサポートを提供します。 このドキュメントで説明される機能は、ハードウェアが機能をサポートできるのであれば、Armで使用できます。 Armの現在の開発作業の範囲を超えた制限事項とアイテムについては、「Armの使用不可または利用不可の機能」で詳しく説明しています。
UEK R5で行われたその他の注目すべきArm固有の変更は、次のとおりです:
-
64 KB基本ページ・サイズ
64 KBのベース・ページ・サイズの使用をテストすると、MySQLやJavaミドルウェアなどのメモリーを負荷するワークロードのパフォーマンスが大幅に向上し、THP (Transparent Huge Pages)が使用されていないか、アプリケーションがHuge Pageを使用するように構成されていません。 この変更により、全体的なパフォーマンスが向上し、巨大なページを手動で構成するための複雑な構成要件が削除されます。
-
DTraceコードのArmポート
UEK R5のDTraceのArm (aarch64)ポートを容易にするために、カーネル・コードにパッチが適用されています。 これには、SDT収集プロセスでのaarch64のサポートの追加と、DTraceが有効な場合でもSDTの無効化を可能にする変更が含まれます。 プロファイルとsystraceプロバイダは、aarch64上で機能するように更新され、テストされています。
-
Kdumpの変更
クラッシュ・ダンプ・カーネルが例外レベル2 (EL2)で実行されるように、kexecに変更が加えられました
-
Arm用のKVMパッチ
KVM for Armを有効にするために、多数のArm関連のバック・ポートが含まれています。
-
ACPIのキャッシュ情報の欠落を解決するためのCPUトポロジの回避方法
ACPIのArm64の公式キャッシュ・プロパティがないため、
sysfs
にはCPUキャッシュ情報がありません。 この問題を解決するために、ACPIがより良い情報を提供するようになるまで、デフォルトのキャッシュ情報を表示するためのパッチが適用されています。
カーネルの基本機能
次の注目すべきコア・カーネル機能がUEK R5に実装されています:
-
環境機能マスクを含む
特権タスクの実行時には、異なるマスクの形式でプロセスに機能を割り当てることができます。 周囲機能マスクは、機能を使用するのを困難にした現在の機能モデルの継承可能性の問題を解決するために追加されています。
-
PKCS#7の
kmod
サポート以前のバージョンの
kmod
(20-21.0.1まで)は、PKCS#7シグネチャ・タイプをサポートしていません。 その結果、modinfoコマンドでは、シグネチャ付きモジュールのシグネチャ情報は表示されません。 回避策として、モジュール・バイナリの最後に返されたラベル~Module signature appended~
を確認することで、モジュールが署名されていることを確認できます。 たとえば:# xzgrep 'Module signature appended' /lib/modules/<kernel_version>/kernel/drivers/net/dummy.ko.xz Binary file (standard input) matches
kmod
バージョン20-21.0.2以降、基本的なPKCS#7シグネチャ・タイプのサポートが追加されました。 modinfoを使用すると、PKCS#7シグネチャが存在するかどうかを表示できます。 ただし、signer
とsig_key
の情報がまだ失われていて、sha512
アルゴリズムが代わりに使用されている場合、sig_hashalgo
の値が表示されたアルゴリズムがmd4
アルゴリズムを使用していると誤って表示されることがあります。 UEK R5のモジュール・シグネチャ・ハッシュに使用されるデフォルトのアルゴリズムはsha512
です。 -
xz
カーネル圧縮有効CONFIG_HAVE_KERNEL_XZ
オプションはUEK R5で有効になっています。 つまり、カーネル・イメージとすべてのカーネル・モジュールは、コンパイル時にxz
圧縮を使用して自動的に圧縮されます。 モジュール・ファイルのサフィクスは、それらが圧縮されており、UEK R4およびUEKの他の以前のリリースで使用されたサフィクスとは異なることを示しています。 たとえば、モジュールのフォーマットは:module.ko.xz
. この変更により、カーネルのフットプリントとパッケージのサイズが大幅に削減されます。 -
cgroupの更新と変更
UEK R5でcgroupメカニズムが更新および改善されました。 このリリースで利用可能な注目すべきアップストリームの変更点は次のとおりです:
-
Berkeleyパケット・フィルタ(BPF)cgroupコントローラとpidsコントローラ構成がカーネルで有効になっています。
-
cgroup v2のスレッド・モードを使用すると、一部のコントローラでスレッドの粒度を有効にすることができます。 この更新プログラムは、一連のプロセスのスレッド間で階層的なリソースの配布を容易にします。 デフォルトでは、プロセスのすべてのスレッドは同じcgroupに属し、プロセスまたはスレッドに固有ではないリソース消費をホストするリソース・ドメインとしても機能します。 スレッド・モードでは、スレッドが共通のリソース・ドメインを維持しながら、サブツリー全体にスレッドを分散させることができます。
-
memcontrol cgroupは、3つの新しいエントリをmemory.statに導入しました:
workingset_refault
(以前に追い出されたページのリファルト数)、workingset_activate
(直ちに起動されたリファルトされたページ数)、workingset_nodereclaim
(シャドー・ノードが再利用された回数)。 -
memcontrol cgroupはshmem統計情報も提供するようになりました。
-
rdma cgroupコントローラが追加され、RDMAまたはInfiniBandリソースの課金と制限の強制が実行されました。
-
新しいブート・オプション
cgroup_no_v1
が追加され、cgroup v1マウントで指定されたコントローラを無効にすることができ、cgroup v2マウントで使用できるようになりました。
-
-
相互拡張性の向上
futexコードがいくつか改善されました。これには、共有フテックスのキーを処理するときにページをロックする必要がなくなるパッチの追加が含まれます。 これらの改良により、共用フューテックスのハッシングが大幅に向上し、パフォーマンスが向上します。
-
レガシーmcelogデバイスが有効です
カーネル構成オプション
CONFIG_X86_MCELOG_LEGACY
は、UEK R5で有効です。/dev/mcelog
のサポートは上流では推奨されていませんが、通常このオプションはデフォルトで無効になっていますが、このデバイスはOracle Hardware Management Packの一部であるOracle Linux FMAソフトウェアに必要です。
暗号化
以下の注目すべき暗号化機能がUEK R5に実装されています:
-
Intel QuickAssistテクノロジ有効
UEK R5では、これらの操作を最適化できるハードウェアに暗号化ワークロードをオフロードするために使用されるIntel QuickAssistテクノロジが有効になります。 UEK R5には、このハードウェアを暗号の圧縮と加速に使用するために必要なドライバとファームウェアが含まれています。 この時点で、このテクノロジにはユーザー・スペース・パッケージは提供されていません。
DTrace
次の注目すべきDTrace機能と修正がUEK R5に実装されています:
-
KASLR対応カーネルに対して有効化されたSDTプローブ
カーネル・アドレス空間レイアウトのランダム化(KASLR)が有効になっており、DTrace SDTプローブが同時に有効になっている場合に、カーネル・クラッシュの原因となった問題を解決するための修正が適用されました。 DTraceをKASLR対応のカーネルで使用できるようになりました。
-
動的デバッグの追加
カーネルで動的デバッグが有効になっている場合(
CONFIG_DYNAMIC_DEBUG
が有効になっている場合)、DTraceはすべてのデバッグ・メッセージを有効にして構築されます。 -
ユーザー空間の配列サイズ境界チェック
DTraceユーザー・スペース・パッケージに拡張が適用され、非関連付け配列の境界(CTFと宣言済配列の両方)のチェックが追加されました。 代入に使用されるLvalue配列も境界チェックされます。 タイプされていないポインタ型にキャストすることによって、境界チェックをバイパスすることが可能です。 たとえば:
((char *)curlwpsinfo->pr_name)[500]
-
逆アセンブラはすべてのアクションを出力
すべてのアクションが出力されるように、D逆アセンブラに修正が適用され、文ごとのアクションの完全な連鎖に従っています。
-
PIDプロバイダが追加されました
新しいPIDプロバイダがDTraceカーネルとユーザー・スペース・コードの両方に追加されました。 これは、既存の高速トラップ・プロバイダ(USDTプローブで使用される)をユーザー空間関数の関数境界プローブを設定し、ユーザー空間関数内のほとんどの任意の命令を検査する機能を拡張します。 これは、プロセスID (pid)に基づいてオンデマンドでユーザー・スペース・トレース・プロバイダを作成するメタ・プロバイダであるため、pidプロバイダと呼ばれます。
ファイル・システム
以下のセクションでは、UEK R5のファイルシステムに実装されている最も注目すべき機能について詳しく説明します:
Btrfs
RHCKまたは以前のUEKリリースに存在するかもしれないバグの修正を提供するために、いくつかのBtrfsの改善とパッチが適用されています。 これには以下のものが含まれますが、これらに限定されません:
-
大きな重複除外ファイルで
btrfs send
を使用すると、ソフト・ロック・アップまたはメモリー不足の問題が発生する問題の修正。 -
フリーズとアン・フリーズ操作が複数のスレッドで実行されたときにカーネル・パニックが発生する問題の修正。
-
サブボリューム間でファイルを複製した後で、リークの問題を解決するタグ・ループの処理と参照カウントの問題を修正しました。
-
バック・リファレンス・ウォークを実行する際に不足しているレコードを処理する際に、安定性を改善し、問題を解決するタグ・ループのクォータを考慮します。
ext4
次のext4機能が実装されています:
-
同期DAX障害
UEK R5を使用すると、ext4ファイル・システムで同期DAXフォルトを使用できます。 これには、DAX機能を改善するための
libnvdimm
コードの修正、およびファイルシステムからDAXへのマッピングを使用した永続メモリー更新のユーザー空間フラッシュを可能にするメカニズムの導入が含まれます。 標準ACPI 6.2ラベル・アクセスとエラー・インジェクション・メソッドも利用できます。 また、DAX障害のエラー処理を簡素化するための修正も適用されました。
OCFS2
このアップデートでは、次のような注目すべきアイテムを含むいくつかのOCFS2の改善とパッチが適用されています:
-
参照リンクされたiノードを移動する前にiノード・クラスタ・ロックが設定されました
iノード・クラスタ・ロックに修正を適用して、リリンクされた宛先に移動される孤立したiノードのセキュリティACLを初期化する前に、クラスタ・ロックがEXモードで取得されるようにしました。 この修正により、ロック・モードのチェックが欠落しているために問題が発生するのを防ぐことができます。
-
meta_alloc
なしでdealloc
のエクステント・ブロックを再利用する機能が追加されましたエクステント・ツリーからリンク解除された後に
dealloc
にキャッシュされたエクステント・ブロックを再利用して、エクステント・ツリーを拡張する必要があるが、メタデータが事前に予約されていない問題を解決するための機能が追加されました。 削除されたエクステントがキャッシュされているdealloc
のエクステントを再利用すると、エクステント・ツリーは、追加のメタデータを予約しなくても拡張できます。 このパッチは潜在的なクラッシュの問題を解決することができます。
XFS
次のXFS機能が実装されています:
-
参照リンクおよび重複排除のサポート
XFS reflink機能の安定性の修正とインメモリー・エクステント・マップの再設計は、アップストリーム4.15カーネルからバック・ポートされています。 これらの修正および拡張により、マウント時にカーネルによって生成された実験的な警告が削除され、メモリーが断片化しすぎたときにファイルシステムのシャットダウンを引き起こしていた問題を解決する修正が含まれています。 このバック・ポートがこのリリースで利用できる同じ物理ブロック(リンク/重複排除)に複数のファイル論理ブロックをマッピングするためのサポートにより、XFSはOCFS2やBtrfsなどの他のファイルシステムに対応します。
XFSのユーザー・スペース・パッケージ(
xfsprogs
)は、XFSの再リンクを適切に処理するためにバージョン4.14に更新されました。DAXは再リンク・ファイル・システムでは無効になっており、DAXを使用した再リンク・ファイル・システムのマウントは拒否され、エラー・メッセージが表示されます。
-
同期DAX障害有効
UEK R5を使用すると、XFSファイルシステムで同期DAX障害を使用できます。 この変更には、DAXサポートを改善するための
libnvdimm
コードの修正、およびファイルシステムとDAXのマッピングを使用した永続メモリー更新のユーザー・スペース・フラッシュを可能にするメカニズムの導入が含まれます。 標準ACPI 6.2ラベル・アクセスとエラー・インジェクション・メソッドも利用できます。 また、DAX障害のエラー処理を簡素化するための修正も適用されました。 -
リアルタイム・サブボリューム・サポート有効
デフォルトでは、UEK R5によってXFSリアルタイム・サブボリュームのサポートが有効になります。 この機能により、UEK R5を実行しているシステムにリアルタイム・サブボリュームをマウントすることができます。
メモリー管理
以下の注目すべきメモリー管理機能がUEK R5に実装されています:
-
異機種間メモリー管理(HMM)のサポート
UEK R5は、デバイス・ドライバがプロセスのアドレス空間をミラー化できるようにするヘルパー・レイヤーであるHMMを導入しています。 この新しいメモリー管理機能には、プロセスのCPUページ表をデバイス固有のページ表にシャドーし、両方の表を同期させておく機能があります。前記陰影付きページ表に対するDMAマッピングを処理するステップと、非公開の匿名メモリーをプライベート・デバイス・メモリーに移行したり、その逆に移行することができます。 これらの機能により、デバイス・ドライバはいくつかのカーネル機能をブロックするメモリーのピンニングを避けることができ、ユーザー・スペースAPIはデバイス・メモリーとの間でメモリー・コピーを手動で管理する必要性を切り離すことができます。 この変更はユーザー空間に対して透過的であり、アプリケーション内のリンクを必要とせずに、ライブラリがGPU、DSP、またはFPGAを効果的に使用できるようにします。
-
hugetlbfs
ホールパンチングの機能強化ページ・フォルト・イベントではなく、障害プロセスにSIGBUSシグナルを配信できるようにするための
userfaultfd
メカニズムの更新。userfaultfd
へのこの更新により、アプリケーションがhugetlbfs
ファイルのページ割当てを明示的に管理できるように、マップされたアドレスを使用してhugetlbfs
ファイルのホールにアクセスしたときに、アプリケーションが暗黙的にページが割り当てられるのを防ぐことができます。
ネットワーキング
Unbreakable Enterprise Kernel Release 5には、次の注目すべきネットワーキング機能が実装されています:
-
使用可能なTCP-BBR
UEK R5は、インターネット・トラフィックの高帯域幅と低レイテンシを実現するために使用できる機能であるTCP-BBRを使用可能にし、インターネット・ベースのアプリケーションのパフォーマンスを大幅に向上させます。 BBR (ボトルネック帯域幅とラウンドトリップ時間)は、TCP輻輳を減らすために帯域幅のボトルネックに対する往復時間をモニタリングすることによってバッファリングを削減するTCPプロトコルの送信レートを制御するのに役立つスケジューリング・アルゴリズムです。 CP-BBRアルゴリズムはデフォルトではUEK R5で有効になっておらず、デフォルトのTCP混雑制御アルゴリズムは
cubic
に設定されています。 -
net.ipv4.tcp _tw_recycleが削除されました
IPv4接続の
tcp_tw_recycle
オプションは、UEK R5から削除されます。 このオプションは、バージョン4.12でアップストリームLinuxカーネルから削除されました。 このオプションは、ネットワーク・アドレス変換を使用して確立されたロード・バランシング接続または接続に対して発行されたものです。 TCPタイムスタンプ・オフセットのランダム化の後、オプションはすべてのTCP接続に問題を作成し、これは機能しなくなりました。 削除は、以前のカーネル生成時のデフォルト構成であったnet.ipv4.tcp_tw_recycle
を0に設定することと同等です。
NUMA
多くの最新のマルチプロセッサは、Non-Uniform Memory Access (NUMA)メモリー設計があり、プロセスのパフォーマンスはアクセスされたメモリー範囲がローカルCPUまたはべつのCPUに添付されているかどうかに従い、決定されます。 メモリーのローカルの種類によりパフォーマンスが異なるため、メモリー・コントローラがアクセス対象のメモリーに接続されているオペレーティング・システムはプロセスがCPUで適切に実行されるようにスケジュールする必要があります。
-
NUMAバランス使用可能
UEK R5には、この機能が有効になっているときにI/Oの待機時間が大きくなった問題を解決するための、NUMAバランスの改善と修正が含まれています。 NUMA分散は、複数のNUMAノードを持つシステムでは自動的に有効になります。
RDMA
リモート・ダイレクト・メモリー・アクセス(RDMA)は、ネットワークによって接続された2つのシステム間でダイレクト・メモリー・アクセスを可能にする機能です。 RDMAは、クラスタ内のハイ・スルー・プットと低レイテンシのネットワーキングを容易にします。
Unbreakable Enterprise Kernelリリース5には、アップストリーム・カーネルで提供されているRDMA機能が含まれています。KspliceおよびDTrace機能が追加され、RDSおよびShared-PDのサポートを含むOracle独自のRDMA機能が追加されています。
UEK R5では、以下のRDSプロトコルが有効になっています:
-
Reliable Datagram Sockets (RDS)は、高パフォーマンス、低レイテンシ、信頼できるコネクションレスなデータグラム配信用のプロトコルです。
-
Internet Protocol over InfiniBand (IPoIB)
ノート:
IPoIB (eIPoIB)でのイーサネット・トンネリングは、UEK R5ではサポートされていません。
UEK R5では、以下のRDS機能が有効になります:
-
サービス品質(QoS)
-
アクティブ結合(AB)
-
Netfilter (NF)
Oracleでは、Oracleエンジニアド・システム内で提供される次のOracleブランドHCAのInfiniBand上のRDMAのサポートが提供されます:
-
Sun InfiniBand Dual Port 4x QDR Host Channel Adapters M2
-
Oracle Dual Port QDR InfiniBand Adapter M3
UEK R5に実装されている新しいRDMA機能には:
-
Mellanox HCAドライバが更新されました
Mellanox
mlx4
HCAドライバがEthernetおよびInfiniBand用に更新されました。 Mellanoxmlx5
HCAドライバは、将来の機能のために更新されました。 -
RDMAサブシステムが更新されました
RDMAサブシステムが更新されました。 これには、上流のRDMAコア・ライブラリに基づく
ib_core
と新しいユーザー・ランドのアップデートが含まれます。 -
QoS機能が追加されました
QoSを容易にするために、PFC、CNPカウンタ、DSCP (DSCP-to-Priority Mappingを含む)などのサービス品質(QoS)テクノロジが追加されました。
-
resilient_rdmaip
モジュールが追加されました以前はRDSドライバ・モジュールで使用可能であったアクティブ-アクティブ・ボンディング機能は、UEK R5の新しい独立したドライバ・モジュール
resilient_rdmaip
に移動されました。 この変更により、Active-Active Bonding機能はより一般的であり、全体としてRDMAに広く適用されます。 また、RDSモジュール内のコードの複雑さを軽減し、UEK RDSドライバを上流のRDSの実装に近づけることができます。 最後に、この変更により、Active-Active Bondingコードのさらなる改善が容易になります。
セキュリティ
Unbreakable Enterprise Kernelリリースには、次の注目すべきセキュリティ機能が実装されています:
-
セキュアなブートの改善
Secure Bootは、ブート・プロセスの初期段階で悪意のあるコードがロードおよび実行されないようにシステムを保護するように設計されています。 セキュリティ保護されたプラットフォームは、オプションのROMドライバ、ブート・ローダー、オペレーティング・システム・ローダーなど、プラットフォームによって変更されずに信頼されているソフトウェア・バイナリのみを読み込みます。 オペレーティング・システムがロードされている間、次の起動時に悪質なコードが注入されないように対策が追加されました。 この機能は以前のリリースのUEKでも使用できましたが、実装はUEK R5で採用されたアプローチとは大幅に異なりました。 新しい設計は、BSDカーネルで使用される
securelevel
セキュリティ・メカニズムとの関係を回避します。 これらのアップデートと変更は、UEK R5で取られたアプローチが、他の主流の配布に沿ってOracle Linuxをもたらすことを確実にするのに役立ちます。ロックされたときにカーネルに適用されるセキュアなブート機能の一部については、次のリストで簡単に説明します:
-
セキュア・ブート・モードのときにUEFIデータベースのキーの使用を容易にします
-
モジュールのシグネチャを強制
-
/dev/mem
、/dev/kmem
、/proc/kcore
へのアクセスを禁止 -
構造体を割り当て、initramをロードするために使用される
do_kexec_load
を禁止 -
ブート・パラメータの
secure_boot
フラグをkexec
リブート全体にコピー -
kexec_file
でシグネチャが検証されていない信頼できるカーネルに読み込まれるイメージを許可しない -
休止状態とユーザー・スペースのソフトウェア・サスペンドを無効にする(
uswsusp
) -
PCIeベース・アドレス・レジスタ・アクセスをロックダウン
-
IOポートへのアクセスをロック
-
CPUモデル固有のレジスタ・アクセスを制限
-
ASUS WMIドライバのdebugfsインタフェースを制限
-
カスタムACPIメソッドへのアクセスを制限
-
acpi_rsdp
カーネル・パラメータを無視 -
「ACPIを無効にします」表の上書き
-
ACPIプラットフォーム・エラー・インタフェース(APEI)エラー・インジェクションを無効にします
-
EATA SCSIドライバを無効にします
-
PCMCIA CISストレージを禁止
-
TIOCSSERIALを使用してデバイス・アドレス、IRQ、およびDMAチャネルを変更することを禁止
-
ハードウェア・オプション(
ioport
など)を指定するモジュール・パラメータの使用を禁止 -
testmmiotrace
モジュールを無効にします -
debugfsを無効にします
-
デバッグのためにkprobesを無効にします
-
Berkeleyパケット・フィルタ機能を無効にします
-
DTraceを無効にします
セキュア・ブートに対応するために、いくつかの新しいカーネル構成オプションが追加されました:
-
LOCK_DOWN_KERNEL
: UEFIセキュア・ブートが有効な場合など、特定の状況下でカーネルをロックダウンすることを許可します。 -
LOCK_DOWN_IN_EFI_SECURE_BOOT
: ブート・パラメータで指定されていない場合、EFIセキュア・ブートがシステム・ファームウェアによって提供されるEFI変数に設定されている場合、カーネルのロックダウンをトリガーすることができます。 -
LOAD_UEFI_KEYS
: セキュア・ブート・モードのカーネルが、UEFIに格納された鍵で署名されたモジュールをロードし、ブラックリストと一致する鍵で署名されたモジュールを拒否できるようにします。
-
-
FIPSを有効にするためのユーザー領域の更新
Oracle Linux 7の
dracut
パッケージがdracut-033-535.0.2
に更新されました。 このアップデートにより、FIPSサポートとUEK R5との互換性が可能になります。 UEK R5を実行しているシステムでFIPSモードを有効にする場合は、このバージョン以上のdracut
パッケージをインストールする必要があります。 詳細は、「Oracle Linux 7: セキュリティ・ガイド」を参照してください。
ストレージ
次の注目すべきストレージ機能は、Unbreakable Enterprise Kernelリリース5で実装されています:
-
NBD機能使用可能
ネットワーク・ブロック・デバイス(NBD)機能は、UEK R5でロード可能なカーネル・モジュールとして有効になっています。 これにより、オペレーティング・システムは、TCPを使用してリモート・サーバーをブロック・デバイスの1つとして使用できます。
-
libnvdimm
サブシステムをカーネルに追加し、PMEMおよびDAX用に更新UEK R5では、非揮発性デュアル・インライン・メモリー・モジュール(NVDIMM)の検出、構成および管理を担当する
libnvdimm
カーネル・サブシステムが有効になります。 NVDIMMがシステムに存在する場合、NVDIMMは/dev/pmem*
デバイス・ノードを介して公開され、ndctlユーティリティを使用して構成できます。libnvdimm
を介したPMEMは、DAX (Direct Access)機能も利用可能にします。 DAXは、従来のバッファI/Oのページ・キャッシュへのオーバーヘッドを回避し、ユーザー空間に直接ファイル・マッピングを生成する機能です。libnvdimm
のアップストリーム・パッチもバック・ポートされ、一般的なDIMMステータスをエクスポートして、ロックされているかどうか、または別名状態にあるかどうかを示す'フラグ'属性を導入しました。より良い安定性のためにいくつかのコードを整理する必要があります。ACPI 6.2では、NVDIMMのラベル・ストレージ領域に名前付きメソッドをアクセスすることができます。 新しい標準の_LSI、_LSRおよび_LSWラベル・メソッドが使用可能であることを確認し、NVDIMM_FAMILY_INTELデバイス固有のメソッドを使用するようにフォールバックするためのパッチが適用されました。 これにより、標準化されたメソッドだけを実装する環境との相互運用性が可能になります。
-
TCMU機能バック・ポート
TCMU (Target Core Module in Userspace)機能は、UEK R5でこの機能を有効にするために、アップストリーム・カーネルの4.16リリースからバック・ポートされています。 これらの機能により、LinuxのI/O iSCSIターゲットをユーザー・スペース・プログラムとして実行し、ターゲットを高可用性で機能させ、複数のiSCSIターゲット・ゲートウェイのフェイルオーバーとフェイルバックをデータ破損なしで行うことができます。
仮想化
次の注目すべき仮想化機能は、Unbreakable Enterprise Kernelリリース5で実装されています:
-
バック・ポートされたバグ修正を含めるために更新されたKVM
上流の4.15および4.16カーネルのKVM機能は、UEK R5にバックアップされます。 これらのパッチの多くは、安定性が向上し、バグやパフォーマンスの問題を解決します。
-
AMD-V対応のセキュアな暗号化仮想化(SEV)
AMD-Vアーキテクチャを拡張するAMD Secure Encrypted Virtualization (SEV)機能がUEK R5で有効になり、4.16カーネルからのアップストリーム・パッチがバック・ポートされ、最新の機能が使用可能であることが保証されます。 SEVをサポートするハードウェアは、この機能を使用して、より安全な方法でハイパーバイザの制御下で複数の仮想マシンを実行できます。 プライベート・メモリー・スペースはゲスト固有のキーで暗号化できますが、共有メモリー・スペースはハイ・パー・バイザー・キーで暗号化できます。 この機能は、潜在的に危険にさらされたハイパーバイザからゲスト仮想マシンのデータを保護することができます。
-
Intelのユーザー・モード命令防止(UMIP)が有効
Intel UMIP機能がUEK R5で有効になり、4.16カーネルからのアップストリーム・パッチがバック・ポートされ、最新の機能が使用可能であることが保証されます。 UMIPは、新しいIntelプロセッサに存在するセキュリティ機能であり、現在の特権レベル(CPL)が0より大きい場合に特定の命令の実行を妨げる可能性があります。 UMIPは、グローバルおよびローカル・ディスクリプタ表、タスク・レジスタ、割り込みディスクリプタ表などのシステム全体の設定へのアクセスを保護します。 UMIPは、具体的にはKVMと統合されており、仮想環境内でUMIPをサポートすることができます。
-
準仮想TLBシュート・ダウンが実装されました
KVM準仮想変換ルック・アサイ・ド・バッファ(TLB)シュート・ダウン・アルゴリズムを実装するためにパッチが適用されました。 TLBは、メモリー・ロケーションにアクセスするのにかかる時間を短縮するメモリー・キャッシュです。 TLBのシャットダウンは、マルチプロセッサ・マシン上で実行される操作で、すべてのプロセッサ上でTLBをフラッシュして、ページの制限が守られるようにします。 通常、TLBのシャットダウンはホスト・スケジューラによって管理されます。 マルチCPU仮想マシンが実行されている環境では、VCPUは同時にスケジュールされません。 これにより、CPUサイクルが浪費され、特にオーバー・サブスクリプションの状況で同期待ち時間が発生する可能性があります。 準仮想的なTLBのシュート・ダウン・コードはこれを解決するのに役立ち、TLBの無効化を大幅に有効にします。
ドライバの更新
Unbreakable Enterprise Kernelリリース5では、多数のハードウェアおよびデバイスがサポートされています。 ハードウェアおよびストレージ・ベンダーと協力し、Oracleでは、メインラインLinux 4.14.35のバージョンからデバイス・ドライバをいくつか更新しました。
UEK R5に含まれるドライバ・モジュールの完全なリストは、付録(「Unbreakable Enterprise Kernelリリース5 (x86_64)のドライバ・モジュール」)を参照してください。
注目のドライバ機能
UEK R5に同梱されているドライバには、次の新機能があります:
-
Mellanox CX-5 HCAでのVXLANオフロードのサポート
mlx5e
ドライバは、VXLANトンネリングに対するnetdevサポートを追加しました。 この機能は、VXLANカプセル化のパケット処理をHCAハードウェアに直接ロードすることでCPUオーバーヘッドを削減します。 これにより、VXLANトンネリングのシステム負荷が軽減され、パフォーマンスが向上し、パケット・スルー・プットが低下します。 -
Hyper-Vドライバが更新されました
Hyper-V記憶域ドライバ
hv_storvsc
が更新され、バウンス・バッファを排除することによって、特定のワークロードに対するI/O操作のパフォーマンスが向上しました。 Hyper-Vネットワーク・ドライバhv_netvsc
は、仮想機能デバイス上のトランスペアレントなSR-IOVをサポートするように更新され、コンフィギュレーションの複雑さを軽減し、専用のボンディング・ドライバとスクリプトを使用して、必要なPCIデバイスのホット・プラグを処理します。4.15および4.16 Linuxカーネル・バージョンの多数の他のアップストリーム・パッチがバック・ポートされ、UEK R5のHyper-Vに期待される全機能と機能が提供されています。
-
QLogic QEDF 25/40/50/100Gb FCoEドライバが追加されました
QLogic QEDF 25/40/50/100Gb FCoEドライバ
qedf
が、このカーネル・リリースに含まれるドライバ・モジュールに追加されました。 ドライバは、QLogic 41000ネットワーク・アダプタのFCoEサポートを導入しました。 -
EmulexおよびQLogicデバイスに対応したFC-NVMeトランスポート・サポート
NVM Expressドライバ
nvme
にパッチが適用され、ファイバ・チャネル・ファブリック上でのNVMeの有効化をサポートするように更新されています。 この変更には、いくつかの新しいnvme
モジュールの追加、Emulex LightPulseファイバ・チャネルSCSIドライバ、lpfc
などの他のモジュールへの更新、およびマルチ・キューブ・ロックI/Oキューイング・メカニズムなどのカーネル・ブロック・レイヤー・コードの変更が含まれていました。 この機能は現在、技術プレビューとして利用可能であることに注意してください。 ハードウェア・ベンダーは、自社のデバイス用のFC-NVMeトランスポートのテストとサポートを担当しています。 ご使用のハードウェアのFC-NVMeサポートの詳細については、ハードウェア・ベンダーにお問い合わせください。 -
Broadcom/Emulex LightPulseファイバ・チャネルSCSIドライバが12.0.0.2に更新されました
Broadcom/Emulex LightPulseファイバ・チャネルSCSIドライバ
lpfc
がバージョン12.0.0.2に更新されました。 このリリースでは、Emulex 32/64GBホスト・バス・アダプタと、ファイバ・チャネル上でNVMeを有効にするための初期フレームワークのサポートが追加されています。lpfc
のFC-NVMeはテクニカル・プレビューとして利用できます。 -
QLogicファイバ・チャネルHBAドライバが10.00.00.06-k1に更新されました
QLogicファイバ・チャネルHBAドライバ
qla2xxx
がバージョン10.00.00.06-k1に更新されました。 変更には、安定性とパフォーマンスのための多くのバグ修正が含まれています。 このリリースには、ファイバ・チャネルでNVMeを有効にする多数のベンダー提供のアップストリーム・パッチも含まれています。qla2xxx
のFC-NVMeはテクニカル・プレビューとして利用できます。 -
LSI MPT Fusion SAS 3.0デバイス・ドライバが更新されました
NVMeドライブをサポートし、Broadcom SAS3616 HBAのサポートを追加するために、LSI MPT Fusion SAS 3.0デバイス・ドライバ
mpt3sas
にパッチが適用および更新されました。 他のアップストリーム・パッチもバグ修正に適用されています。 -
Amazon Elastic Network Adapterドライバが1.5.0 kに更新されました
エラスティック・ネットワーク・アダプタ・ドライバ
ena
がバージョン1.5.0 kに更新されました。 このバージョンでは、多数の上流のバグ修正と改善が行われています。 その他の機能には、追加の電源管理操作、IPv6 RSSの初期サポート、およびドライバの堅牢性の向上が含まれます。 -
Avago MegaRAID SASドライバが更新されました
Avago MegaRAID SASドライバ
megaraid_sas
がバージョン07.704.04.00-rc1に更新され、アップストリームおよびベンダーが提供するパッチが含まれています。 その他の機能には、SAS3.5世代のMegaRAID SASコントローラのサポートが追加されています。 アダプタのQueue Depth (QD)を9kに増加させる可能性もあります。 -
GENEVEカプセル化トラフィックのインタフェース・ドライバが含まれています
GENEVEカプセル化トラフィックのインタフェース・ドライバ
geneve
は、このリリースのカーネルに含まれています。 このドライバは、このカーネル・リリースで使用されるアップストリーム・コードの一部として提供されますが、このドライバを含めることでOracle Linux 7.5の既知の問題が解決されると言われます。
新規パッケージと更新パッケージ
UEK R5が提供する新しく追加された機能をサポートするために、いくつかのカーネル・スペースとユーザー・スペース・バイナリ・パッケージが、ベース・ディストリビューションに含まれるパッケージから追加または更新されています。 ULNチャネルおよびこれらのパッケージが使用可能なOracle Linux yumサーバー・リポジトリの詳細は、「インストールと可用性」を参照してください。
UEK R5用に更新されたカーネル・スペース・パッケージには、プレフィクスkernel-uek
というラベルが付けられています。 linux-firmware
パッケージは最新のファームウェアでも更新されています。
ここに記載されているパッケージは、ユーザー・スペース機能に固有のものであり、UEK R5で利用可能な機能を利用するように更新されています。 これらのパッケージには、UEK R5を使用するための依存関係はありません。 これらのパッケージのいずれかを使用し、UEK R5も使用する場合は、UEK R5で利用可能なすべての機能との完全な互換性のために、パッケージを最新バージョンに更新する必要があります。
-
bcache-tools
-
btrfs-progs
-
btrfs-progs-devel
-
daxctl
-
daxctl-devel
-
daxctl-libs
-
debugmode
-
dracut
-
dracut-caps
-
dracut-config-generic
-
dracut-config-rescue
-
dracut-fips
-
dracut-fips-aesni
-
dracut-network
-
dracut-tools
-
dtrace-utils
-
dtrace-utils-devel
-
dtrace-utils-testsuite
-
initscripts
-
iproute
-
iproute-devel
-
iproute-doc
-
iproute-tc
-
ixpdimm-cli
-
ixpdimm-data
-
ixpdimm-devel
-
ixpdimm-monitor
-
libdtrace-ctf
-
libdtrace-ctf-devel
-
libinvm-cim
-
libinvm-cim-devel
-
libinvm-cli
-
libinvm-cli-devel
-
libinvm-i18n
-
libinvm-i18n-devel
-
libixpdimm
-
libixpdimm-cim
-
libixpdimm-cli
-
libpmem
-
libpmem-debug
-
libpmem-devel
-
libpmemblk
-
libpmemblk-debug
-
libpmemblk-devel
-
libpmemcto
-
libpmemcto-debug
-
libpmemcto-devel
-
libpmemlog
-
libpmemlog-debug
-
libpmemlog-devel
-
libpmemobj
-
libpmemobj++-devel
-
libpmemobj-devel
-
libpmempool
-
libpmempool-debug
-
libpmempool-devel
-
librpmem
-
librpmem-debug
-
librpmem-devel
-
libvmem
-
libvmem-debug
-
libvmem-devel
-
libvmmalloc
-
libvmmalloc-debug
-
libvmmalloc-devel
-
libzstd
-
libzstd-devel
-
ndctl
-
ndctl-devel
-
ndctl-libs
-
pmempool
-
rpmemd
-
xfsprogs
-
xfsprogs-devel
互換性
Oracle Linuxは、Red Hat Enterprise Linuxとの完全なユーザー・スペースの互換性を維持します。これは、オペレーティング・システムの下で動作するカーネルのバージョンとは独立しています。 ユーザー空間内の既存のアプリケーションは、引き続きUnbreakable Enterprise Kernelリリース5で変更されず、RHEL認定アプリケーションには再認証は必要ありません。
Oracle Linuxチームはリリース時の互換性に関する影響を最小限に抑えるため、カーネル・モジュールに対する依存性があるハードウェアおよびソフトウェアを提供するサード・パーティ・ベンダーと緊密に協力しています。 UEK R5のカーネルABIは、最初のリリースに続くすべての更新で変更されません。 今回のリリースでは、システム上でサードパーティのカーネル・モジュールを再コンパイルする必要があるUEK R4に対するカーネルABIの変更があります。 UEK R5をインストールする前に、アプリケーション・ベンダーにサポート状況を確認してください。
Oracle製品に対するUEK R5の認証
UEK R5での異なるOracle製品の認定は、UEK R5リリースの時点ではすぐには入手できないことに注意してください。 カーネルをアップグレードまたはインストールする前に、使用している製品がUEK R5での使用が保証されていることを常に確認する必要があります。 https://support.oracle.com/epmos/faces/CertifyHomeで証明書を確認してください。
Oracle Automatic Storage Management異なるカーネル・バージョンのクラスタ・ファイル・システム(Oracle ACFS)の認証については、https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1369107.1の文書ID 1369107.1を参照してください。
異なるカーネル・バージョンのOracle Automatic Storage Managementフィルタ・ドライバ(Oracle ASMFD)の認証については、https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=2034681.1のドキュメントID 2034681.1に記載されています。