3 テクノロジ・プレビュー

現在のOracle Linux 8リリースのRed Hat Compatible Kernelでは、次の機能がテクノロジ・プレビュー中です。

インフラストラクチャ・サービス

インフラストラクチャ・サービスの次の機能が、テクノロジ・プレビューとして提供されています:

TuneD用のソケットAPI

TuneD用のソケットAPIはD-Bus APIと1対1にマップされており、D-Busが使用できない場合の代替通信方法として使用できます。このソケットAPIを使用すると、TuneDデーモンを制御してパフォーマンスを最適化し、様々なチューニング・パラメータの値を変更できます。このソケットAPIはデフォルトでは無効になっています。tuned-main.confファイルで有効にできます。

ネットワーク

次のネットワーク機能がテクノロジ・プレビューとして提供されています。

マルチプロトコル・ラベルの切替え

マルチプロトコル・ラベル・スイッチング(MPLS)は、エンタープライズ・ネットワーク間でトラフィック・フローをルーティングするカーネル内データ転送メカニズムです。MPLSネットワークでは、パケットを受信するルータは、パケットにアタッチされているラベルに基づいて、パケットのその後の経路を決定します。ラベルを使用することにより、特定の特性を持つパケットをMPLSネットワークで処理できます。

XDPの機能

XDPプログラムは、AMDおよびIntel® 64ビット以外のアーキテクチャにロードできます。ただし、libxdpライブラリは、AMDおよびIntel® 64ビット・プラットフォームでのみ使用できることに注意してください。同様に、このテクノロジ・プレビュー機能で、XDPハードウェアをオフロードできます。

さらに、XDPには、高性能パケット処理のためのアドレス・ファミリeXpressデータ・パス(AF_XDP)ソケットが含まれています。プログラムで選択したパケットをユーザー領域アプリケーションに効率的にリダイレクトして処理できるようになります。

act_mplsモジュール

kernel-modules-extra RPMのact_mplsモジュールは、トラフィック制御(TC)フィルタが設定されたマルチプロトコル・ラベル・スイッチング(MPLS)処理を適用します。たとえば、TCフィルタが設定されたMPLSラベル・スタック・エントリをプッシュおよびポップします。また、このモジュールでは、「Label」、「Traffic Class」、「Bottom of Stack」および「Time to Live」を別々に設定できます。

systemd-resolvedサービス

systemd-resolvedサービスは、ローカル・アプリケーションに名前解決を提供します。このコンポーネントには、キャッシュ、DNSスタブ・リゾルバ、リンク・ローカル・マルチキャスト名前解決(LLMNR)、マルチキャストDNSリゾルバおよびレスポンダのキャッシュおよび検証が含まれています。

nisporパッケージ

nisporパッケージは、実行中のすべてのネットワーク・ステータスに対するLinuxネットワーク状態問合せ用の統合インタフェースです。バージョン1.2.10には、次の機能および変更が含まれています:

  • NetstateFilterが、ネットワーク・ルートおよびインタフェースでカーネル・フィルタを使用できます。

  • SR-IOVインタフェースが、すべての(VF)に対してSR-IOV仮想機能(SR-IOV VF)を問い合せることができます。

  • lacp_activemissed_maxおよびns_ip6_target結合オプションを使用できます。

nisporは、次のいずれかの方法でインストールできます:

  • 個別のパッケージとして:

    sudo dnf install nispor
  • nmstateの依存関係として:

    sudo dnf install nmstate

    nisporは依存関係としてリストされます。

nisporの使用方法の詳細は、/usr/share/doc/nispor/README.mdファイルを参照してください。

カーネル

次のカーネル機能がテクノロジ・プレビューとして提供されています。

kexec高速リブート

kexec高速リブート機能は、Oracle Linux 8でテクノロジ・プレビューとして使用できます。この機能は、カーネルが最初に基本入出力システム(BIOS)を通過することなく2番目のカーネルに直接ブートできるようにすることで、ブート・プロセスを大幅に高速化します。この機能を使用するには、まずkexecモジュールをロードしてから、システムをリブートします。

SGXが使用可能

Intel®社のSoftware Guard Extensions (SGX)は、ソフトウェア・コードとデータを開示および変更から保護します。Linuxカーネルは部分的にSGX v1およびSGX v1.5をサポートしています。バージョン1では、Flexible Launch Controlメカニズムを使用してSGXテクノロジを使用することにより、プラットフォームを有効にします。

Soft-RoCEドライバ

Soft-RoCEのrdma_rxeは、RDMA over Ethernetを処理するためのRemote Direct Memory Access (RDMA) over Converged Ethernet (RoCE)ネットワーク・プロトコルのソフトウェア実装です。Soft-RoCEでは、RoCE v1およびRoCE v2の2つのプロトコル・バージョンが保守されています。

拡張Berkeleyパケット・フィルタ(eBPF)

eBPFは、限定された関数セットにアクセスできる、制限されたサンドボックス環境のカーネル領域で処理されるカーネル内仮想マシン・コードです。

eBPFには新しいシステム・コールbpf()があり、様々なタイプのマップを作成して、様々なポイント(ソケット、トレースポイント、パケット受信)にアタッチしてデータの受信および処理ができるプログラムをロードできます。

eBPFの1つのコンポーネントであるAF_XDPは、パケット処理のパフォーマンスを優先するアプリケーションのユーザー領域にeXpressデータ・パス(XDP)のパスを接続するためのソケットです。

Intel® Data Streaming Acceleratorドライバ

このドライバはIntel® CPUの統合アクセラレータであり、プロセス・アドレス空間ID (pasid)の送信および共有仮想メモリー(SVM)を使用して作業キューを共有します。

accel-configパッケージ

accel-configパッケージはIntel® EM64TおよびAMD64アーキテクチャで使用可能で、Linuxカーネルのデータ・ストリーミング・アクセラレータ(DSA)サブシステムを管理するために使用します。また、sysfs (疑似ファイル・システム)を使用してデバイスを構成し、構成をjson形式で保存およびロードします。

ファイル・システムおよびストレージ

ファイル・システムおよびストレージに関連する次の機能は、テクノロジ・プレビューとして提供されています。

DAXファイル・システムが使用可能

このリリースでは、DAXファイル・システムは、ext4およびXFSファイル・システムのテクノロジ・プレビューとして使用できます。DAXにより、アプリケーションは、そのアドレス空間に永続メモリーを直接マップできます。システムには、DAXを使用するために使用できるなんらかの形式の永続メモリーが必要です。永続メモリーは、1つ以上の不揮発性デュアル・インライン・メモリー・モジュール(NVDIMM)の形式でもかまいません。さらに、DAXをサポートするファイル・システムをNVDIMM上に作成する必要があります。ファイル・システムは、daxマウント・オプションを使用してマウントする必要があります。次に、DAXマウントされたファイル・システム上のファイルのmmapにより、ストレージがアプリケーションのアドレス空間に直接マッピングされます。

NVMe/TCPが使用可能

NVMe over Fabrics TCPホストおよびターゲット・ドライバが、このリリースのテクノロジ・プレビューとしてRHCKに含まれています。

ノート:

NVMe/TCPのサポートは、Unbreakable Enterprise Kernelリリース6ですでに利用可能です。

OverlayFS

OverlayFSは、結合ファイル・システム・タイプの1つです。OverlayFSを使用すると、1つのファイルシステムを別のファイルシステムの上にオーバーレイできます。変更は上位のファイル・システムに記録されますが、下位のファイル・システムは変更されません。そのため、複数のユーザーが、ベース・イメージが読取り専用メディア上にあるコンテナやDVD-ROMなどのファイルシステム・イメージを共有できます。

テクノロジ・プレビューなので、コンテナでのOverlayFSの使用には一定の制限があります。OverlayFSの一部のユース・ケースは、POSIXに準拠していません。したがって、OverlayFSを使用してアプリケーションをデプロイする前に、アプリケーションをテストする必要があります。

既存のXFSファイル・システムをオーバーレイとして使用できるかどうかを確認するには、次のコマンドを入力して、ftypeが有効(ftype=1)かどうかを確認します:

# xfs_info /mount-point | grep ftype

既知の問題など、OverlayFSの詳細は、Linuxカーネルのドキュメントを参照してください

Stratis

ローカル・ストレージ・マネージャであるStratisは、ストレージのプール上にあるファイル・システムを管理し、次のような機能を提供します。

  • スナップショットとシン・プロビジョニングの管理

  • 必要に応じたファイル・システム・サイズの自動的な拡張

  • ファイル・システムの保守

Stratisストレージは、stratisdバックグラウンド・サービスと通信するstratisユーティリティを使用して管理します。

高可用性とクラスタ

高可用性およびクラスタの次の機能は、テクノロジ・プレビューとして提供されています。

Pacemaker Podmanバンドル

Pacemakerコンテナ・バンドルがPodmanで動作するようになり、コンテナ・バンドル機能がテクノロジ・プレビューとして提供されています。

corosync-qdeviceのヒューリスティック

ヒューリスティックは、起動時、クラスタ・メンバーシップの変更時、corosync-qnetdへの正常接続時にローカルに実行される一連のコマンドで、オプションで定期的に実行することもできます。すべてのコマンドが正常に終了するとヒューリスティックは成功で、それ以外の場合は失敗です。ヒューリスティックの結果はcorosync-qnetdに送信され、その結果を使用した計算で、どのパーティションが定足数に達したかが決定されます。

フェンス・エージェント

fence_heuristics_pingエージェントをPacemakerで使用できます。このエージェントは、自分では実際のフェンシングを実行せず、新しい方法でフェンシング・レベルの動作を利用する実験的なフェンス・エージェントのクラスをオープンすることを目的としています。

このエージェントを介して、特にoff処理を発行することによって、フェンシングが成功するかどうかをPacemakerに通知できます。ヒューリスティック・エージェントにより、実際にフェンシングをするエージェントが特定の条件下でノードをフェンシングするのを防ぐことができます。

デスクトップ

次のデスクトップ機能がテクノロジ・プレビューとして提供されています。

64ビットArm用のGNOME

技術プレビューとして、aarch64システム上のGnomeデスクトップを使用できます。

限定された使用可能なグラフィカル・アプリケーションは次のとおりです:

  • Firefox Webブラウザ
  • ファイアウォール構成(firewall-config)
  • ディスク使用状況アナライザ(baobab)

Firefoxを使用して、サーバー上のCockpitサービスに接続できます。

LibreOfficeなどの特定のアプリケーションでは、CLIのみが提供され、そのグラフィカル・インタフェースは無効になっています。

グラフィック

次のグラフィック機能がOracle Linuxでテクノロジ・プレビューとして提供されています。

VNCリモート

仮想ネットワーク・コンピューティング(VNC)リモート・コンソールは、64ビットARMアーキテクチャで使用できます。残りのグラフィックス・スタックは、64ビットARMアーキテクチャでは現在まだ検証されていません。

Intel®Arc Aシリーズ・グラフィック

Intel®Arc Aシリーズ・グラフィックは、AlchemistまたはDG2とも呼ばれています。これらのグラフィックでハードウェア・アクセラレーションを有効にするには、カーネルのコマンド行に次のオプションを追加します:

i915.force_probe=pci-id

PCI-IDは、Intel® GPUのPCI IDです。

仮想化

次の仮想化機能がテクノロジ・プレビューとして提供されています。

KVM仮想化

ネストされたKVM仮想化をMicrosoft Hyper-Vハイパーバイザで使用できます。Hyper-Vホストで実行されているOracle Linux 8ゲスト・システム上に仮想マシンを作成できます。

現在、この機能はIntel®およびAMDシステムでのみ動作することに注意してください。また、デフォルトでは、ネストされた仮想化がHyper-Vで有効になっていない場合もあります。有効にする方法は、https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualizationを参照してください。

SEVおよびSEV-ES

Secure Encrypted Virtualization (SEV)機能は、KVMハイパーバイザを使用するAMD EPYCホスト・マシンに用意されています。これは、仮想マシンのメモリーを暗号化して、ホストによるアクセスからVMを保護するものです。

SEVの拡張された暗号化状態バージョン(SEV-ES)では、VMの実行が停止したときにすべてのCPUレジスタの内容が暗号化されるため、ホストによるVMのCPUレジスタの変更や、そのレジスタからの情報の読取りが防止されます。

SEVはUEKでサポートされています。

Intel® vGPU

物理Intel® GPUデバイスは、仲介デバイスと呼ばれる複数の仮想デバイスに分割できます。その後、これらの仲介デバイスを、仮想GPUとして複数の仮想マシン(VM)に割り当てることができます。このようにして、単一の物理Intel® GPUのパフォーマンスを、これらのVMで共有できます。

vGPU機能と互換性があるのは一部のIntel® GPUのみであることに注意してください。

Intel®vGPUが提供するVNCコンソールを有効にすることもできます。そうすると、ユーザーがVMのVNCコンソールに接続して、Intel® vGPUによってホストされているVMのデスクトップを表示できます。ただし、この機能は現在、Oracle Linuxのゲスト・オペレーティング・システムでのみ機能します。

仮想マシンのネスト

Intel®ベースのシステムおよびAMD64システムで動作するKVM仮想マシン(VM)では、KVM仮想化をネストできます。この機能を使用すると、物理的なOracle Linux 8ホスト上で動作するOracle Linux 7 VMまたはOracle Linux 8 VMがハイパーバイザの役割をして、自分のVMをホストできます。

SR-IOVアダプタ

Hyper-Vハイパーバイザで実行されているOracle Linuxゲストオペレーティングシステムで、ixgbevfおよびiavfドライバでサポートされているIntel® ネットワーク・アダプタ用のシングルルートI/O仮想化(SR-IOV)機能を使用できるようになりました。この機能は、次の条件を満たす場合に有効になります:

  • ネットワーク・インタフェース・コントローラ(NIC)、仮想NIC、および仮想スイッチに対してSR-IOVのサポートが有効になっている。

  • NICの仮想機能(VF)が仮想マシンにアタッチされている。

この機能は現在、Microsoft Windows Server 2016以降で提供されています。

virtiofsを使用したファイル共有

virtioファイル・システムを使用すると、ホスト・システムとその仮想マシン間で効率的にファイルを共有できます。

コンテナ

コンテナ用の次の機能がテクノロジ・プレビューとして提供されています。

Podmanのsigstore署名

sigstore形式のコンテナ・イメージ署名がPodmanで認識されます。sigstore署名は、コンテナ・イメージを使用してコンテナ・レジストリに格納できるので、イメージ署名を格納するための別の署名サーバーを必要としません。

Podman用のQuadlet

Podman v4.4以降のQuadletを使用すると、コンテナの摘要からsystemdサービス・ファイルを自動的に生成できます。Quadlet形式の摘要は、systemdユニット・ファイルよりも書き込みや保守が容易です。詳細は、アップストリームのドキュメントを参照してください。

FulcioおよびRekorを使用したSigstore署名の作成

FulcioおよびRekorサーバーを使用すれば、秘密キーを手動で管理するのではなく、OpenID Connect (OIDC)サーバーの認証に基づく短期証明書を使用して署名を作成できます。この追加機能はクライアント側のサポートのみで、FulcioまたはRekorサーバーは含まれません。Fulcioを使用するには、policy.jsonファイルにfulcioセクションを追加します。

コンテナ・イメージに署名するには、podman push --sign-by-sigstore=file.ymlまたはskopeo copy --sign-by-sigstore=file.ymlコマンドを使用します。このfile.ymlはsigstore署名パラメータ・ファイルです。

署名を確認するには、policy.jsonファイルにfulcioセクションとrekorPublicKeyPathまたはrekorPublicKeyDataフィールドを追加します。詳細は、containers-policy.jsonマニュアル・ページを参照してください。