機械翻訳について

主な特徴と変更

次の項では、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シグネチャが存在するかどうかを表示できます。 ただし、signersig_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機能、およびOracle独自のRDMA機能(RDSおよびShared-PDのサポートを含む)が含まれています。

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用に更新されました。 Mellanox mlx5 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 Release 5には、次の注目すべきセキュリティ機能が実装されています:

  • セキュアなブートの改善

    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の無効化を大幅に有効にします。