第5章 RHEL 8.3.0 リリース

5.1. 新機能

ここでは、Red Hat Enterprise Linux 8.3 に追加された新機能および主要な機能拡張を説明します。

5.1.1. インストーラーおよびイメージの作成

Anaconda がバージョン 33.16 にリベース

今回のリリースで、Anaconda がバージョン 33.16 にリベースされました。このバージョンは、以前のバージョンに対する以下の主な機能強化を提供します。

  • インストールプログラムは、複数の行に静的 IPv6 アドレスを表示し、ウィンドウのサイズを変更しなくなりました。
  • インストールプログラムが、対応している NVDIMM デバイスセクターサイズを表示するようになりました。
  • IPv6 静的設定のあるインストール済みのシステムで、ホスト名が正しく設定されるようになりました。
  • ディスク暗号化パスフレーズで ASCII 以外の文字を使用できるようになりました。
  • インストールプログラムでは、/boot、/tmp、およびすべての /var および /usr マウントポイントに、/usr/local および /var/www 以外の新しいファイルシステムを作成する適切な推奨事項が表示されます。
  • インストールプログラムはキーボードレイアウトを正しくチェックし、キーボードのレイアウト (ALT+SHIFT) を使用して異なるレイアウトと言語間を切り換える場合に、キーボードレイアウト画面を変更しないようになりました。
  • 既存の RAID1 パーティションを使用するシステムでは、レスキューモードが失敗しなくなりました。
  • コンテナーの LUKS バージョンへの変更は、手動パーティション設定 画面で利用できるようになりました。
  • インストールプログラムでは、btrfs-progs パッケージなしでインストールが正常に終了します。
  • インストールプログラムでは、暗号化されたコンテナー用にデフォルトの LUKS2 バージョンが使用されるようになりました。
  • キックスタートファイルが、論理ボリュームグループ (VG) の物理ボリューム (PV) を ignoredisk リストに配置すると、インストールプログラムがクラッシュしなくなりました。
  • システムルートに新しいマウントパス /mnt/sysroot が追加されました。このパスは、ターゲットシステムの / をマウントするのに使用されます。通常、物理ルートとシステムの root は同じであるため、/mnt/sysroot/mnt/sysimage と同じファイルシステムに接続されます。唯一の例外は、デプロイメントに基づいてシステムの root が変更する rpm-ostree システムのみです。次に、/mnt/sysroot は、/mnt/sysimage のサブディレクトリーに割り当てられます。chroot には /mnt/sysroot を使用することが推奨されます。

(BZ#1691319BZ#1679893、BZ#1684045、BZ#1688478、BZ#1700450、BZ#1720145、BZ#1723888、BZ#1754977BZ#1755996BZ#1784360、BZ#1796310、BZ#1871680)

RHEL インストールプログラムの GUI の変更点

RHEL インストールプログラムには、インストール概要画面に以下のユーザー設定が追加されました。

  • root パスワード
  • ユーザーの作成

この変更により、インストールを開始する前に root パスワードを設定し、ユーザーアカウントを作成できるようになりました。以前は、インストールプロセス開始後に、root パスワードを設定してユーザーアカウントを作成していました。

root パスワードは、管理者 (スーパーユーザーまたは root としても知られている) アカウントにログインし、システム管理タスクに使用されます。コマンドラインからログインするには、ユーザー名を使用します。グラフィカル環境をインストールする場合、グラフィカルログインマネージャーは、フルネームを使用します。詳細は 標準的な RHEL インストールの実行 を参照してください。

(JIRA:RHELPLAN-40469)

Image Builder バックエンド osbuild-composerlorax-composer に置き換え

osbuild-composer バックエンドは、lorax-composer を置き換えます。新しいサービスには、イメージビルド向けの REST API が含まれます。その結果、ユーザーはより信頼性の高いバックエンドと予測可能な出力イメージの利点を活用できます。

(BZ#1836211)

Image Builderosbuild-composer が、イメージタイプのセットに対応

osbuild-composer バックエンドの置換により、osbuild-composer で以下のイメージタイプがサポートされます。

  • TAR アーカイブ (.tar)
  • QEMU QCOW2 (.qcow2)
  • VMware Virtual Machine Disk (.vmdk)
  • Amazon Machine Image (.ami)
  • Azure Disk Image (.vhd)
  • OpenStack Image (.qcow2)

以下の出力は現在サポートされていません。

  • ext4-filesystem
  • partitioned-disk
  • Alibaba Cloud
  • Google GCE

(JIRA:RHELPLAN-42617)

Image Builder が、GUI でクラウドへのプッシュに対応しました。

今回の機能拡張により、イメージの作成時に、GUI Image BuilderAzure および AWS サービスクラウドにプッシュするオプションをユーザーが選択できるようになりました。その結果、ユーザーはアップロードとインスタンス化をより簡単に活用できます。

(JIRA:RHELPLAN-30878)

5.1.2. RHEL for Edge

RHEL for Edge イメージの概要

今回のリリースで、Edge サーバー用にカスタマイズした RHEL イメージを作成できるようになりました。

Image Builder を使用して RHEL for Edge イメージを作成し、RHEL インストーラーを使用して AMD および Intel 64 ビットシステムにデプロイできます。Image Builder は、RHEL for Edge イメージを rhel-edge-commit として .tar ファイルに生成します。

RHEL for Edge イメージは、Edge サーバーで RHEL をリモートにインストールするシステムパッケージを含む rpm-ostree イメージです。

システムパッケージには以下が含まれます。

  • ベース OS パッケージ
  • コンテナーエンジンとしての podman

イメージをカスタマイズして、要件に応じて OS コンテンツを設定できます。また、それらを物理マシンおよび仮想マシンにデプロイできます。

RHEL for Edge イメージを使用すると、以下を実行できます。

  • アトミックアップグレード。各更新の状態が分かっており、デバイスを再起動するまで変更が加えられません。
  • アップグレードに失敗した場合の回復性のために、Greenboot およびインテリジェントロールバックを使用したカスタムヘルスチェック。
  • コンテナー中心のワークフロー: アプリケーションの更新からコア OS の更新を分離し、異なるバージョンのアプリケーションをテストし、デプロイすることができます。
  • 低帯域幅環境向けに最適化された OTA ペイロード。
  • Greenboot を使用して回復性を確保するためのカスタムヘルスチェック。

RHEL for Edge イメージの作成、インストール、および管理に関する詳細は、RHEL for Edge イメージの作成、インストール、および管理 を参照してください。

(JIRA:RHELPLAN-56676)

5.1.3. ソフトウェア管理

best dnf 設定オプションのデフォルト値が True から False に変更されました。

今回の更新で、元の dnf 動作を維持するために、デフォルトの設定ファイルで、best な dnf 設定オプションの値が True に設定されました。その結果、デフォルトの設定ファイルを使用するユーザーには、動作は変更されません。

独自の設定ファイルを指定する場合は、元の動作を維持するために best=True オプションが存在することを確認してください。

(BZ#1832869)

dnf reposync コマンドの新しい --norepopath オプションが利用できるようになりました。

以前のバージョンでは、reposync コマンドは、デフォルトでダウンロードした各リポジトリーに対して、--download-path ディレクトリーにサブディレクトリーを作成していました。今回の更新で、--norepopath オプションが追加され、reposync はサブディレクトリーを作成しません。これにより、--download-path で指定されたディレクトリーにリポジトリーが直接ダウンロードされます。このオプションは、YUM v3 にも存在します。

(BZ#1842285)

libdnf プラグインを有効または無効にする機能

以前は、サブスクリプションチェックは libdnf プラグインの RHEL バージョンにハードコードされていました。今回の更新で、microdnf ユーティリティーが libdnf プラグインを有効または無効にすることができ、DNF と同じようにサブスクリプションチェックを無効にできるようになりました。サブスクリプションの確認を無効にするには、--disableplugin=subscription-manager コマンドを使用します。すべてのプラグインを無効にするには、--noplugins コマンドを使用します。

(BZ#1781126)

5.1.4. シェルおよびコマンドラインツール

ReaR が更新されました。

RHEL 8.3 では、ReaR (Relax-and-Recover) ユーティリティーに多くの更新が導入されました。以下は、主な変更点です。

  • 外部バックアップソフトウェアとして、サードパーティーの Rubrik Cloud Data Management (CDM) のサポートが追加されました。これを使用するには、設定ファイルの BACKUP オプションを CDM に設定します。
  • IBM POWER (リトルエンディア) アーキテクチャーに 4 GB を超えるファイルを使用したレスキューイメージの作成が有効になりました。
  • ReaR で作成したディスクレイアウトには、Rancher 2 Longhorn iSCSI デバイスおよびファイルシステムのエントリーが含まれなくなりました。

(BZ#1743303)

smartmontools がバージョン 7.1 にリベース

smartmontools パッケージがバージョン 7.1 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • ドライブデータベースに追加する HDD、SSD、および USB
  • 新しいオプション -j および --json を使用して JSON 出力モードを有効にします。
  • 一部の SAS SSD からの未完了の Log サブページの応答に対する回避策。
  • READ CAPACITY コマンドの処理を向上
  • ログページのデコードに関するさまざまな改善。

(BZ#1671154)

opencryptoki がバージョン 3.14.0 にリベースされました。

opencryptoki パッケージがバージョン 3.14.0 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • EP11 暗号化サービスの機能拡張:

    • Dilithium サポート
    • EdDSA (Edwards-curve digital signature algorithm) サポート
    • 非 SHA1 ハッシュおよびマスク生成関数 (MGF) を持つ RSA-OAEP (Rivest-Shamir-Adleman 最適な非対称暗号化パディング) のサポート
  • 強化されたプロセスおよびスレッドロッキング
  • Enhancedbtree およびオブジェクトロック
  • 新しい IBM Z ハードウェア z15 のサポート
  • 信頼できるプラットフォームモジュール (TPM)、IBM 暗号化アーキテクチャー (ICA)、および統合暗号化サービスファシリティー (ICSF) 向けの複数のトークンインスタンスのサポート
  • openCryptoki トークンリポジトリーのトークンキーをリスト表示する新しいツール p11sak を追加
  • トークンリポジトリーを FIPS 準拠の暗号化に移行するユーティリティーを追加
  • pkcsep11_migrate ツールを修正
  • ICSF ソフトウェアの若干の修正

(BZ#1780293)

gpgme がバージョン 1.13.1 にリベース

gpgme パッケージがアップストリームバージョン 1.13.1 にアップグレードされました。以下は、主な変更点です。

  • 新しいコンテキストフラグ no-symkey-cache (GnuPG 2.2.7 以降と併用すると効果がある)、request-origin (GnuPG 2.2.6 以降と併用すると効果がある)、auto-key-locate および trust-model が導入されました。
  • Web ブラウザーのネイティブメッセージングサーバーとしての新しいツール gpgme-json が追加されました。現時点では、公開鍵の暗号化および復号がサポートされています。
  • 非表示の受信者オプションを含むダイレクトキー仕様をサポートする新しい暗号化 API が導入されました。これにより、サブキーも使用できます。

(BZ#1829822)

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

powertop がバージョン 2.12 にリベースされました。

powertop パッケージがバージョン 2.12 にアップグレードされました。以前に利用可能なバージョン 2.11 に対する主な変更点は、以下のとおりです。

  • SATA リンク PM に DIPM (Device Interface Power Management) の使用。
  • Intel Comet Lake モバイルシステムおよびデスクトップシステム、Skylaid サーバー、および Atom ベースの Tremont アーキテクチャー (Jasper Lake) のサポート。

(BZ#1783110)

tuned がバージョン 2.14.0 にリベースされました。

tuned パッケージがアップストリームバージョン 2.14.0 にアップグレードされました。主な機能強化は、次のとおりです。

  • optimize-serial-console プロファイルが導入されました。
  • 読み込まれた post プロファイルのサポートが追加されました。
  • irqbalance 設定を処理する irqbalance プラグインが追加されました。
  • Marvell ThunderX および AMD ベースのプラットフォーム用のアーキテクチャー固有のチューニングが追加されました。
  • スケジューラープラグインは、CPU アフィニティー設定の cgroups-v1 をサポートするように拡張されました。

(BZ#1792264)

tcpdump がバージョン 4.9.3 にリベース

tcpdump ユーティリティーがバージョン 4.9.3 に更新され、CVE (Common Vulnerabilities and Exposures) を修正できるようになりました。

(BZ#1804063)

libpcap がバージョン 1.9.1 にリベース

libpcap パッケージがバージョン 1.9.1 に更新され、CVE (Common Vulnerabilities and Exposures) を修正できるようになりました。

(BZ#1806422)

iperf3 がクライアント側で sctp オプションに対応

今回の機能拡張により、ユーザーはネットワークスループットをテストするクライアント側の TCP (Transmission Control Protocol) の代わりに SCTP (Stream Control Transmission Protocol) を使用できるようになりました。

iperf3 の以下のオプションが、テストのクライアント側で利用できるようになりました。

  • --sctp
  • --xbind
  • --nstreams

詳細は、man ページの iperf3Client Specific Options を参照してください。

(BZ#1665142)

iperf3SSL に対応

今回の機能強化により、ユーザーはクライアントとサーバー間の RSA 認証を使用して、サーバーへの接続を正当なクライアントのみに制限できるようになりました。

iperf3 の以下のオプションがサーバー側で利用できるようになりました。

  • --rsa-private-key-path
  • --authorized-users-path

iperf3 の以下のオプションが、通信のクライアント側で利用できるようになりました。

  • --username
  • --rsa-public-key-path

(BZ#1700497)

bind が 9.11.20 にリベース

pcp パッケージがバージョン 9.11.20 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • 競合状態を修正することで、CPU コアが多数あるシステムの信頼性が向上します。
  • 詳細なエラーレポート: dig およびその他のツールが存在する場合は、拡張 DNS エラー (EDE) オプションを出力できるようになりました。
  • インバウンド DNS Zone Transfer Protocol (AXFR) 転送のメッセージ ID は、一致しない場合にチェックされ、ログに記録されます。

(BZ#1818785)

printk の値を減らして I/O をシリアルコンソールに減らす新しい optimize-serial-console TuneD プロファイル

今回の更新で、新しい optimize-serial-console TuneD プロファイルが利用できるようになりました。シナリオによっては、カーネルドライバーが大量の I/O 操作をシリアルコンソールに送信することができます。I/O がシリアルコンソールに書き込まれる間、そのような動作は一時的に応答しなくなることがあります。optimize-serial-console プロファイルでは、デフォルトの 7 4 1 7 から 4 4 1 7 への printk 値を減らすことで、この I/O を減らします。システムでこの変更を行う場合は、シリアルコンソールを使用すると、以下のようにシステムをインストルメント化できます。

# tuned-adm profile throughput-performance optimize-serial-console

その結果、ユーザーは再起動後も維持する printk の値が少なくなるため、システムがハングする可能性が低くなります。

この TuneD プロファイルは、デバッグ情報を削除して、シリアルコンソールに書き込まれた I/O の量を減らします。このデバッグ情報を収集する必要がある場合は、このプロファイルが有効になっておらず、printk の値が 7 4 1 7 に設定されていることを確認する必要があります。printk 実行の値を確認するには、次のコマンドを実行します。

# cat /proc/sys/kernel/printk

(BZ#1840689)

AMD ベースのプラットフォームに新しい TuneD プロファイルが追加

RHEL 8.3 では、AMD ベースのプラットフォームのチューニングを組み込むように throughput-performance TuneD プロファイルが更新されました。パラメーターを手動で変更する必要はありません。チューニングは AMD システムに自動的に適用されます。AMD Epyc Naples および Rome システムは、デフォルトの throughput-performance プロファイルで以下のパラメーターを変更します。

sched_migration_cost_ns=5000000 および kernel.numa_balancing=0

この機能拡張により、システムパフォーマンスが最大 5% 向上します。

(BZ#1746957)

Memcached がバージョン 1.5.22 にリベース

memcached パッケージがバージョン 1.5.22 にアップグレードされました。以前のバージョンに対する主な変更点は、以下のとおりです。

  • TLS が有効になっています。
  • -o inline_ascii_response オプションは削除されました。
  • -Y [authfile] オプションが ASCII プロトコルの認証モードとともに追加されました。
  • memcached は、再起動間のキャッシュを回復できるようになりました。
  • 実験的なメタコマンドが新たに追加されました。
  • さまざまなパフォーマンス向上。

(BZ#1809536)

5.1.6. セキュリティー

Cyrus SASL は、SASL/GSSAPI プラグインおよび SASL/GSS-SPNEGO プラグインを使用したチャンネルバインディングをサポートするようになりました。

今回の更新で、SASL/GSSAPI プラグインおよび SASL/GSS-SPNEGO プラグインを使用したチャンネルバインディングのサポートが追加されました。その結果、openldap ライブラリーで使用すると、この機能は、Cyrus SASL が LDAP 接続に強制チャンネルバインディングを持つ Microsoft Active Directory および Microsoft Windows システムとの互換性を維持およびアクセスできるようになります。

(BZ#1817054)

Libreswan を 3.32 にリベース

今回の更新で、Libreswan がアップストリームバージョン 3.32 にリベースされ、新機能およびバグ修正が複数追加されました。主な変更には以下のものがあります。

  • Libreswan では、別の FIPS 140-2 認定が不要になりました。
  • Libreswan は、RFC 8247 の暗号化推奨事項を実装し、SHA-1 および RSA-PKCS v1.5 から SHA-2 および RSA-PSS に、優先順位を変更するようになりました。
  • Libreswan は、ファイアウォールルールの書き込みを簡素化する XFRMi 仮想 ipsecXX インターフェイスをサポートします。
  • 完全なメッシュ暗号化ネットワークでクラッシュおよび再起動するノードの復旧が改善されました。

(BZ#1820206)

libssh ライブラリーがバージョン 0.9.4 にリベース

SSH プロトコルを実装する libssh ライブラリーがバージョン 0.9.4 にアップグレードされました。

この更新には、以下を含むバグ修正および機能拡張が含まれています。

  • PEM ファイルに Ed25519 キーのサポートが追加されました。
  • diffie-hellman-group14-sha256 キー交換アルゴリズムのサポートが追加されました。
  • libssh クライアント設定ファイルの Match キーワードに localuser のサポートが追加されました。
  • 一致 条件のキーワード引数は、大文字と小文字が区別されるようになりました (キーワードは大文字と小文字を区別しませんが、キーワードの引数は大文字と小文字を区別しません)。
  • CVE-2019-14889 および CVE-2020-1730 を修正しました。
  • 既知のホストファイルに指定されているパス文字列に不足しているディレクトリーを再帰的に作成するサポートが追加されました。
  • コメントと空白を含む PEM ファイルに OpenSSH キーのサポートが追加されました。
  • libssh サーバー設定に含まれる OpenSSH サーバー設定を削除しました。

(BZ#1804797)

gnutls が 3.6.14 にリベース

gnutls パッケージがアップストリームバージョン 3.6.14 にリベースされました。このバージョンでは、主なバグ修正および機能強化が数多く追加されました。

  • gnutls は、無効な文字またはフォーマットを含む Time フィールドのある証明書を拒否するようになりました。
  • gnutls は、信頼できる CA 証明書で最小キーサイズをチェックするようになりました。
  • 暗号化された秘密鍵を表示すると、certtool ユーティリティーにプレーンテキストの記述が含まれなくなりました。
  • gnutls を使用するサーバーが OCSP ステープリングサポートを公開するようになりました。
  • gnutls を使用するクライアントは、リクエストでのみ OCSP ステープルを送信するようになりました。

(BZ#1789392)

gnutls FIPS DH チェックが NIST SP 800-56A リビジョンに準拠3

gnutls パッケージの今回の更新で、NIST Special Publication 800-56A リビジョン 3、セクション 5.7.1.1 および 5.7.1.2 ステップ 2 で必要なチェックが提供されます。この変更は、今後の FIPS 140-2 認定に必要です。その結果、gnutls は、FIPS モードで動作する際に、Diffie-Hellman 鍵交換中に RFC 7919 および RFC 3526 から 2048 ビット以上のパラメーターのみを受け入れるようになりました。

(BZ#1849079)

gnutls が NIST SP 800-56A リビジョン 3 に従って検証を実行

gnutls パッケージの今回の更新で、NIST Special Publication 800-56A リビジョン 3、セクション 5.6.2.2.2 および 5.6.2.1.3、ステップ 2 で必要なチェックが追加されました。さらに、今後の FIPS 140-2 認定に gnutls を準備します。その結果、gnutls は、FIPS モードで動作する際に、Diffie-Hellman 鍵交換中に公開鍵の生成および受け取りについて追加の検証ステップを実行します。

(BZ#1855803)

update-crypto-policies および fips-mode-setupcrypto-policies-scripts に移動

crypto-policies パッケージに含まれていた update-crypto-policies スクリプトおよび fips-mode-setup スクリプトは、別の RPM サブパッケージ crypto-policies-scripts に移動しました。パッケージは、通常のインストールの Recommends 依存関係を使用して自動的にインストールされます。これにより、ubi8/ubi-minimal イメージが有効になり、Python 言語インタープリターが含まれなくなり、イメージサイズが削減されます。

(BZ#1832743)

opensc がバージョン 0.20.0 にリベース

opensc パッケージがバージョン 0.20.0 にリベースされ、複数のバグやセキュリティー上の問題に対応します。以下は、主な変更点です。

  • 今回の更新で、CVE-2019-6502CVE-2019-15946CVE-2019-15945CVE-2019-19480CVE-2019-19481、および CVE-2019-19479 のセキュリティー問題が修正されています。
  • OpenSC モジュールは、C_WrapKey 関数および C_UnwrapKey 関数に対応するようになりました。
  • これで、この機能を使用して、カードリーダーの挿入および取り外しを期待どおりに検出できるようになりました。
  • pkcs11-tool ユーティリティーが、CKA_ALLOWED_MECHANISMS 属性に対応するようになりました。
  • 今回の更新で、OsEID カードのデフォルトの検出が可能になりました。
  • OpenPGP Card v3 は、Elliptic Curve Cryptography (ECC) に対応するようになりました。
  • PKCS#11 URI が、省略記号を使用してリーダー名を切り捨てるようになりました。

(BZ#1810660)

stunnel がバージョン 5.56 にリベース

今回の更新で、stunnel 暗号化ラッパーがアップストリームバージョン 5.56 にリベースされ、新機能やバグ修正が複数追加されました。主な変更には以下のものがあります。

  • 発行したセッションチケットの機密性および整合性保護を制御する新しい ticketKeySecret オプションおよび ticketMacSecret オプション。これらのオプションにより、クラスターの他のノードのセッションを再開できます。
  • OpenSSL 1.1.0 以降の elliptic 曲線のリストを制御する新しい curves オプション。
  • 許可される TLS 1.3 暗号スイートのリストを制御する新しい ciphersuites スイートオプション。
  • OpenSSL 1.1.0 以降に sslVersionsslVersionMin、および sslVersionMax を追加。

(BZ#1808365)

libkcapi がバージョン 1.2.0 にリベース

libkcapi パッケージがアップストリームバージョン 1.2.0 にリベースされ、これには若干の変更が含まれています。

(BZ#1683123)

setools が 4.3.0 にリベース

SELinux ポリシー解析を容易にするために設計されたツールの集合である setools パッケージが、バージョン 4.3.0 にアップグレードされました。

この更新には、以下を含むバグ修正および機能拡張が含まれています。

  • Type Enforcement (TE) ルールの sediff メソッドが改訂され、メモリーおよびランタイムの問題が大幅に削減されました。
  • seinfosediff、および apol に、infiniband コンテキストサポートが追加されました。
  • オンラインドキュメントを表示するために使用される Qt アシスタントツールの場所の apol 設定が追加されました。
  • 以下の sediff の問題が修正されました。

    • 要求されない場合に表示するプロパティーヘッダー。
    • type_transition ファイルの名前比較。
  • マップソケットの sendto 情報フローの方向のパーミッションが修正されました。
  • 完全な Python コレクションを作成するために TypeAttribute クラスにメソッドを追加しました。
  • Genfscon は、libsepol から削除された固定値を使用するのではなく、クラスを検索します。

setools パッケージには、以下のパッケージが必要です。

  • setools-console
  • setools-console-analyses
  • setools-gui

(BZ#1820079)

個々の CephFS ファイルおよびディレクトリーに SELinux ラベルを追加

CephFS (Ceph File System) は、ファイルの拡張属性に SELinux ラベルを保存するように最近有効化されています。以前のリリースでは、CephFS ボリュームのすべてのファイルに、共通のラベル system_u:object_r:cephfs_t:s0 のラベルが付けられました。今回の機能拡張により、個別のファイルのラベルを変更し、SELinux が移行ルールに基づいて新たに作成されたファイルのラベルを定義することができるようになりました。以前にラベル付けされていないファイルには、明示的に変更されるまで system_u:object_r:cephfs_t:s0 ラベルが設定されていることに注意してください。

(BZ#1823764)

OpenSCAP がバージョン 1.3.3 にリベースされました。

openscap パッケージがアップストリームバージョン 1.3.3 にアップグレードされ、以前のバージョンに対するバグ修正および機能拡張が数多く追加されました。主な変更点:

  • コマンドラインインターフェイス (CLI) を使用してテーラリングファイルを生成できるようにする autotailor スクリプトが追加されました。
  • Extensible Configuration Checklist Description Format (XCCDF) TestResult の起動および終了のタイムスタンプにタイムゾーン部分が追加されました。
  • yamlfilecontent 独立したプローブがドラフト実装として追加されました。
  • XCCDF に urn:xccdf:fix:script:kubernetes 修正タイプが導入されました。
  • machineconfig 修正を生成する機能を追加します。
  • oscap-podman ツールがあいまいなスキャンターゲットを検出できるようになりました。
  • rpmverifyfile プローブが、/bin ディレクトリーからファイルを検証できるようになりました。
  • textfilecontent58 プローブで複雑な正規表現が実行する時のクラッシュが修正されました。
  • XCCDF レポートの評価特性が、system_info プローブからの OVAL エンティティーと一致するようになりました。
  • textfilecontent58 プローブのオフラインモードでのファイルパスパターンの一致が修正されました。
  • systemdunitdependency プローブの無限再帰が修正されました。

(BZ#1829761)

SCAP セキュリティーガイドで、CIS RHEL 8 Benchmark v1.0.0 に一致するプロファイルを提供

今回の更新により、scap-security-guide パッケージで CIS Red Hat Enterprise Linux 8 Benchmark v1.0.0 に一致するプロファイルが提供されるようになりました。このプロファイルを使用すると、Center for Internet Security (CIS) のガイドラインに従ってシステムの設定を強化できます。このため、CIS Ansible Playbook および CIS SCAP プロファイルを使用して、RHEL 8 システムの CIS への準拠を設定および自動化できます。

CIS プロファイルの rpm_verify_permissions ルールは正常に機能しません。

(BZ#1760734)

scap-security-guide が HIPAA を実装するプロファイルを提供

scap-security-guide パッケージの今回の更新で、Health Insurance Portability and Accountability Act (HIPAA) プロファイルが RHEL 8 セキュリティーコンプライアンスコンテンツに追加されました。このプロファイルは、The HIPAA Privacy Rule の Web サイトで説明されている推奨事項を実装します。

HIPAA Security Rule は、対象となるエンティティーによって作成、受信、使用、または維持される個人の電子個人健康情報を保護するための米国の国内基準を確立します。セキュリティールールには、適切な管理、物理、および技術の保護手段が必要です。これにより、電子的に保護された健全性情報の機密性、整合性、およびセキュリティーを確保できます。

(BZ#1832760)

scap-security-guide が 0.1.50 にリベース

scap-security-guide パッケージ (Linux システムのセキュリティーポリシーの最新セットを含む) が、バージョン 0.1.50 にアップグレードされました。

この更新には、バグ修正および機能強化が含まれています。主な変更点は、以下のとおりです。

  • Ansible のコンテンツが改善されました。多数のルールには、Ansible の初回修正が含まれていますが、バグ修正についてはその他のルールが更新されています。
  • RHEL7 システムのスキャン用に scap-security-guide コンテンツを修正し、改善します。これには、以下が含まれます。

    • scap-security-guide パッケージで、CIS RHEL 7 Benchmark v2.2.0 に一致するプロファイルを提供するようになりました。CIS プロファイルの rpm_verify_permissions ルールが正常に動作しないため、既知の問題である CIS プロファイルの rpm_verify_permissions が失敗する を参照してください。
    • SCAP セキュリティーガイドプロファイルは、開始すべきでないサービスを適切に無効およびマスクするようになりました。
    • scap-security-guide パッケージの audit_rules_privileged_commands ルールが特権コマンドに対して適切に機能するようになりました。
    • scap-security-guide パッケージの dconf_gnome_login_banner_text ルールの修正が正しく失敗しなくなりました。

(BZ#1815007)

SCAP Workbench が、カスタムプロファイルから結果ベースの修正を生成可能に

今回の更新で、SCAP Workbench ツールを使用して、カスタマイズしたプロファイルから結果ベースの修復ロールを生成できるようになりました。

(BZ#1640715)

新しい Ansible ロール は、Clevis クライアントの自動デプロイメントを提供します。

rhel-system-roles パッケージの今回の更新で、nbde_client RHEL システムロールが導入されました。この Ansible ロールを使用すると、複数の Clevis クライアントを自動的にデプロイできます。

(BZ#1716040)

新しい Ansible ロールで、Tang サーバーを設定可能に

今回の機能拡張により、新しい nbde_server システムロールを使用して、自動ディスク暗号化ソリューションの一部として、Tang サーバーをデプロイおよび管理できるようになりました。rhel-system-roles パッケージに含まれる nbde_server Ansible ロールでは、以下の機能がサポートされます。

  • Tang 鍵のローテーション
  • Tang 鍵のデプロイおよびバックアップ

詳細は Tang サーバー鍵のローテーション を参照してください。

(BZ#1716039)

clevis がバージョン 13 にリベース

clevis パッケージがバージョン 13 にリベースされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • clevis luks unlock は、非対話モードでキーファイルを使用してデバイスで使用できます。
  • clevis encrypt tpm2 は、入力が JSON 配列として指定される場合、pcr_ids フィールドを解析します。
  • man ページの clevis-luks-unbind(1) は、LUKS v1 のみを参照しなくなりました。
  • clevis luks bind は、指定したパスワードが正しくないと、非アクティブなスロットには書き込まれません。
  • clevis luks bind が、システムが英語以外のロケールを使用する間に機能するようになりました。
  • tpm2-tools 4.x のサポートを追加

(BZ#1818780)

clevis luks edit を使用して特定のピン設定を編集可能に

clevis パッケージの今回の更新で、特定のピン設定を編集できるように、新しい clevis luks edit サブコマンドが追加されました。たとえば、Tang サーバーの URL アドレスと、TPM2 設定で pcr_ids パラメーターを変更できるようになりました。新しい sss ピンを追加および削除し、sss ピンのしきい値を変更することもできます。

(BZ#1436735)

clevis luks bind -y で自動バインディングが可能に

今回の機能強化により、Clevis は -y パラメーターを使用した自動バインディングをサポートするようになりました。clevis luks bind コマンドで -y オプションを使用して、その後のプロンプトに yes と自動的に回答できるようになりました。たとえば、Tang ピンを使用する場合は、Tang 鍵を手動で信頼する必要がなくなりました。

(BZ#1819767)

fapolicyd がバージョン 1.0 にリベース

fapolicyd パッケージがバージョン 1.0 にリベースされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • 複数のスレッド同期の問題が解決されました。
  • データベースのサイズと読み込み時間を短縮し、パフォーマンスが向上しました。
  • 信頼バックエンドをカスタマイズするために、fapolicyd.conf ファイルの fapolicyd パッケージの新しい信頼オプションが追加されました。信頼できるファイル、バイナリー、およびスクリプトはすべて、新しい /etc/fapolicyd/fapolicyd.trust ファイルに追加できます。
  • CLI を使用して fapolicyd.trust ファイルを管理できます。
  • CLI を使用してデータベースをクリーンアップまたはダンプできます。
  • fapolicyd パッケージは、スクリプトのデコードをより適切に行うためにマジックデータベースを上書きします。CLI は、上書きに応じて、file コマンドに類似したファイルの MIME タイプを出力します。
  • /etc/fapolicyd/fapolicyd.rules ファイルは、値のグループを属性値としてサポートします。
  • fapolicyd デーモンには、audit/sylog イベントの形式を設定する syslog_format オプションがあります。

(BZ#1817413)

fapolicyd が、fapolicyd-selinux に独自の SELinux ポリシーを提供

今回の機能拡張により、fapolicyd フレームワークが独自の SELinux セキュリティーポリシーを提供するようになりました。デーモンは fapolicyd_t ドメインで制限され、ポリシーは fapolicyd-selinux サブパッケージを使用してインストールされます。

(BZ#1714529)

usbguard がバージョン 0.7.8 にリベース

usbguard パッケージがバージョン 0.7.8 にリベースされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • /etc/usbguard/usbguard-daemon.conf ファイルの HidePII=true|false パラメーターは、監査エントリーから個人的識別可能な情報を非表示にできるようになりました。
  • /etc/usbguard/usbguard-daemon.conf ファイルの AuthorizedDefault=keep|none|all|internal パラメーターにより、コントローラーデバイスの承認状態が事前定義される可能性があります。
  • 新しい with-connect-type ルール属性を使用すると、デバイスの接続タイプを区別できるようになりました。
  • -t オプションを使用して、一時ルールを追加できるようになりました。一時的なルールは、デーモンが再起動するまでメモリー内に留まります。
  • usbguard list-rules が、特定のプロパティーに従ってフィルターできるようになりました。
  • usbguard generate-policy が、特定のデバイスのポリシーを生成できるようになりました。
  • usbguard allow|block|reject コマンドはルール文字列を処理できるようになり、指定されたルール文字列に一致する各デバイスにターゲットが適用されます。
  • 新しいサブパッケージ usbguard-notifier および usbguard-selinux が含まれます。

(BZ#1738590)

USBGuard は、企業デスクトップユーザーの改善を多数提供

USBGuard プロジェクトへの追加には、企業のデスクトップユーザーのユーザービリティーを向上させる機能拡張およびバグ修正が含まれます。重要な変更には以下が含まれます。

  • /etc/usbguard/rules.conf ルールファイルを正常に維持するために、ユーザーは RuleFolder=/etc/usbguard/rules.d/ ディレクトリーに複数の設定ファイルを定義できます。デフォルトでは、RuleFolder/etc/usbguard-daemon.conf ファイルに指定されます。
  • usbguard-notifier ツールは、GUI 通知を提供するようになりました。このツールは、デバイスがプラグインまたはプラグアウトされたとき、およびデバイスがユーザーによって許可、ブロック、または拒否されたかどうかをユーザーに通知します。
  • usbguard-daemon# で始まる行を解析しなくなったため、設定ファイルにコメントを追加できるようになりました。

(BZ#1667395)

USBGuard が usbguard-selinux に独自の SELinux ポリシーを提供するようになりました。

今回の機能拡張により、USBGuard フレームワークが独自の SELinux セキュリティーポリシーを提供するようになりました。デーモンは usbguard_t ドメインで制限され、ポリシーは usbguard-selinux サブパッケージからインストールされます。

(BZ#1683567)

libcap がアンビエント機能に対応

この更新で、ユーザーはログイン時にアンビエント機能を付与できるようになり、適切に設定されたプロセスに root アクセス権を持たせる必要をなくすことができます。

(BZ#1487388)

libseccomp ライブラリーがバージョン 2.4.3 にリベース

seccomp システムコールのフィルタリングメカニズムへのインターフェイスを提供する libseccomp ライブラリーが、バージョン 2.4.3 にアップグレードされました。

この更新では、バグ修正および機能強化が数多く追加されました。以下は、主な変更点です。

  • Linux v5.4-rc4 の syscall テーブルを更新しました。
  • 存在しないシステムコールの __NR_x 値を定義しなくなりました。
  • __SNR_x が内部で使用されるようになりました。
  • __SNR_ppolldefine が追加されました。
  • s390/s390x shm* システムコールの多重化の問題が修正されました。
  • libseccomp ツールのコンパイルから static フラグが削除されました。
  • 関連するシステムコールへの io-uring サポートが追加されました。
  • v2.4.0 リリースに導入された Python モジュールの命名の問題を修正しました。このモジュールは、以前と同じ seccomp という名前になります。
  • scmp_bpf_sim ツールの clang によって識別されるメモリーリークの可能性が修正されました。

(BZ#1770693)

omamqp1 モジュールのサポート

今回の更新で、AMQP 1.0 プロトコルがバスの宛先へのメッセージの送信をサポートするようになりました。以前のリリースでは、OpenStack は AMQP1 プロトコルを通信標準として使用していました。このプロトコルは AMQP メッセージでメッセージをログに記録できるようになりました。今回の更新で、rsyslog-omamqp1 サブパッケージが導入され、omamqp1 出力モードが提供され、これはメッセージをログに記録し、バスの宛先に送信します。

(BZ#1713427)

OpenSCAP はリモートコンテンツを圧縮

今回の更新で、OpenSCAP がリモートコンテンツを転送するのに gzip 圧縮を使用します。リモートコンテンツの最も一般的なタイプはテキストベースの CVE フィードです。これは、時間の経過とともにサイズが増え、通常はすべてのスキャンに対してダウンロードする必要があります。gzip 圧縮は、圧縮されていないコンテンツに必要な帯域幅を 10% に減らします。その結果、スキャンされたシステムと、リモートコンテンツをホストするサーバーとの間のチェーン全体で帯域幅要件が減少します。

(BZ#1855708)

SCAP セキュリティーガイドで NIST-800-171 に一致するプロファイルが提供されるようになりました。

今回の更新で、scap-security-guide パッケージが、NIST-800-171 標準に一致するプロファイルを提供するようになりました。このプロファイルを使用すると、非対応情報システムの CUI (Controlled Unclassified Information) のセキュリティー要件に従ってシステム設定を強化できます。これにより、NIST-800-171 標準に合わせてシステムを簡単に設定することができます。

(BZ#1762962)

5.1.7. ネットワーク

IPv4 接続追跡モジュールおよび IPv6 接続追跡モジュールは、nf_conntrack モジュールにマージされています。

今回の機能拡張で、Netfilter 接続追跡モジュール nf_conntrack_ipv4nf_conntrack_ipv6nf_conntrack カーネルモジュールにマージされます。この変更により、アドレスファミリー固有のモジュールを RHEL 8.3 で機能しないので、nf_conntrack モジュールのみをブラックリストに登録して、IPv4 プロトコルと IPv6 プロトコルの両方の接続追跡サポートを無効にできます。

(BZ#1822085)

firewalld がバージョン 0.8.2 にリベース

firewalld パッケージがアップストリームバージョン 0.8.2 にアップグレードし、以前のバージョンにバグ修正が数多く追加されました。詳細は、firewalld 0.8.2 Release Notes を参照してください。

(BZ#1809636)

NetworkManager がバージョン 1.26.0 にリベース

NetworkManager パッケージがアップストリームバージョン 1.26.0 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。

  • NetworkManager は、デバイスの非アクティブ化時に、オートネゴシエーション、速度、およびデュプレックスの設定を元の値にリセットします。
  • 以前のアクティベーション試行がすべて失敗した場合、Wi-Fi プロファイルが自動的に接続されるようになりました。これは、ネットワークへの自動接続の最初の失敗が自動化をブロックしなくなったことを意味します。副次的効果として、以前にブロックされていた既存の Wi-Fi プロファイルが自動的に接続されました。
  • nm-settings-nmcli(5) および nm-settings-dbus(5) の man ページが追加されました。
  • 多数のブリッジパラメーターのサポートが追加されました。
  • VRF (Virtual Routing and Forwarding) インターフェイスのサポートが追加されました。詳細は、異なるインターフェイスで同じ IP アドレスを連続して再利用 を参照してください。
  • Wi-Fi ネットワークの Opportunistic Wireless Encryption (OWE) モードに対応するようになりました。
  • NetworkManager は、RFC 3021 に応じて、IPv4 ポイントツーポイントリンクの 31 ビットの接頭辞に対応するようになりました。
  • nmcli ユーティリティーは、nmcli connection modify <connection_name> remove <setting> コマンドを使用した設定の削除をサポートするようになりました。
  • マスターデバイスがない場合は、NetworkManager がスレーブデバイスを作成し、アクティベートしなくなりました。

主な変更の詳細は、アップストリームのリリースノートを参照してください。

(BZ#1814746)

XDP に条件付きサポートを追加

Red Hat は、以下の条件がすべて適用されている場合に限り、eXpress Data Path (XDP) 機能をサポートします。

  • AMD または Intel 64 ビットアーキテクチャーに XDP プログラムを読み込みます。
  • libxdp ライブラリーを使用して、カーネルにプログラムを読み込みます。
  • XDP プログラムは、XDP_ABORTEDXDP_DROP、または XDP_PASS のいずれかのリターンコードを使用します。
  • XDP プログラムが XDP ハードウェアオフロードを使用しません

サポートされていない XDP 機能の詳細は、テクノロジープレビューとして利用できる XDP 機能の概要 を参照してください。

(BZ#1889736)

xdp-tools が部分的にサポートされます。

XDP (kernel eXpress Data Path) 機能のユーザー空間サポートユーティリティーを含む xdp-tools パッケージが、AMD および Intel 64 ビットアーキテクチャーでサポートされるようになりました。これには、libxdp ライブラリー、XDP プログラムを読み込む xdp-loader ユーティリティー、パケットフィルタリングの xdp-filter サンプルプログラムが含まれます。XDP が有効になっているネットワークインターフェイスからパケットをキャプチャーするための xdpdump ユーティリティーは、引き続きテクノロジープレビューである点に注意してください。(BZ#1820670)

デフォルトでは、dracut ユーティリティーが初期 RAM ディスクで NetworkManager を使用するようになりました。

以前は、dracut ユーティリティーはシェルスクリプトを使用して初期 RAM ディスク (initrd) のネットワークを管理していました。場合によっては、問題が発生することがあります。たとえば、RAM ディスクのスクリプトが IP アドレスをすでに要求している場合でも、NetworkManager が別の DHCP 要求を送信すると、タイムアウトが発生する可能性があります。

今回の更新で、デフォルトで dracut が初期 RAM ディスクに NetworkManager を使用し、システムで問題が発生しなくなりました。以前の実装に切り替え、RAM ディスクイメージを再作成する場合には、以下のコマンドを使用します。

# echo 'add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/enable-network-legacy.conf

# dracut -vf --regenerate-all

(BZ#1626348)

カーネルコマンドラインのネットワーク設定が、ip パラメーターに統合されました。

カーネルコマンドラインでネットワーク設定を設定する ipv6netmaskgateway、および hostname パラメーターは、ip パラメーターに統合されました。ip パラメーターでは、以下のような異なる形式を使用できます。

ip=__IP_address__:__peer__:__gateway_IP_address__:__net_mask__:__host_name__:__interface_name__:__configuration_method__

個々のフィールドや、このパラメーターで使用できるその他の形式の詳細は、dracut.cmdline(7) の man ページの ip パラメーターの説明を参照してください。

RHEL 8 では、ipv6 パラメーター、netmask パラメーター、gateway パラメーター、および hostname パラメーターは利用できなくなりました。

(BZ#1905138)

5.1.8. カーネル

RHEL 8.3 のカーネルバージョン

Red Hat Enterprise Linux 8.3 には、カーネルバージョン 4.18.0-240 が同梱されています。

(BZ#1839151)

Extended Berkeley Packet Filter for RHEL 8.3

extended Berkeley Packet Filter (eBPF ) は、限られた一連の関数にアクセスできる制限付きサンドボックス環境において、カーネル領域でのコード実行を可能にするカーネル内の仮想マシンです。この仮想マシンは、特別なアセンブリーのようなコードを実行します。

eBPF バイトコードが最初にカーネルにロードされ、その後に検証が行われます。次に実行時のコンパイルでコードがネイティブマシンコードに変換され、その後、仮想マシンがコードを実行します。

Red Hat は、eBPF 仮想マシンを使用するコンポーネントを数多く提供しています。各コンポーネントの開発フェーズはさまざまです。そのため、現在すべてのコンポーネントが完全にサポートされている訳ではありません。RHEL 8.3 では、以下の eBPF コンポーネントがサポートされています。

  • eBPF を使用して Linux オペレーティングシステムの I/O 分析、ネットワーク、およびモニタリングを行う BPF コンパイラーコレクション (BCC) ツールパッケージ
  • BCC ライブラリー。これを使用すると、BCC ツールパッケージで提供されるツールと同様のツールを開発できます。
  • eBPF for Traffic Control (tc) 機能。これにより、カーネルネットワークデータパスでのプログラミング可能なパケット処理が可能になります。
  • カーネルネットワーキングスタックを処理する前に受信パケットへのアクセスを提供する eXpress Data Path (XDP) 機能は、特定の条件でサポートされます。詳細は、リリースノートの リリースノート セクションを参照してください。
  • libbpf パッケージ。bpftrace および bpf/xdp の開発のようなアプリケーションに関連する bpf に極めて重要です。詳細は、専用のリリースノート 完全サポートされている libbpf を参照してください。
  • XDP 機能のユーザー空間サポートユーティリティーを含む xdp-tools パッケージが、AMD および Intel 64 ビットアーキテクチャーでサポートされるようになりました。これには、XDP プログラムを読み込む libxdp ライブラリー、xdp-loader ユーティリティー、パケットフィルタリングの xdp-filter サンプルプログラムが含まれます。XDP が有効になっているネットワークインターフェイスからパケットをキャプチャーするための xdpdump ユーティリティーは、サポート対象外のテクノロジープレビューであることに注意してください。詳細は、リリースノートの ネットワーク セクションを参照してください。

特定のコンポーネントがサポート対象と示されていない限り、その他のすべての eBPF コンポーネントはテクノロジープレビューとして提供されます。

現在、以下の主要 eBPF コンポーネントは、テクノロジープレビューとして利用できます。

  • bpftrace トレース言語
  • eXpress Data Path (XDP) パスをユーザー空間に接続する AF_XDP ソケット

テクノロジープレビューのコンポーネントに関する詳細情報は、テクノロジープレビュー を参照してください。

(BZ#1780124)

Cornelis Networks Omni-Path Architecture (OPA) ホストソフトウェア

Red Hat Enterprise Linux 8.3 は、Omni-Path Architecture (OPA) ホストソフトウェアに完全に対応しています。OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。

(BZ#1893174)

TSX がデフォルトで無効になる

RHEL 8.3 以降、カーネルはデフォルトで Intel® Transactional Synchronization Extensions (TSX) 技術を無効にし、OS セキュリティーを強化するようになりました。この変更は、TSX の無効化に対応する CPU に適用されます。これには、第 2 世代の Intel® Xeon® Scalable Processor (以前は Intel® C620 Series Chipsets で Cascade Lake として知られる) が含まれます。

アプリケーションが TSX を使用しないユーザーの場合は、第 2 世代 Intel® Xeon® Scalable Processor で TSX Asynchronous Abort(TAA) の軽減策であるデフォルトのパフォーマンスペナルティーが削除されます。

この変更は、RHEL カーネルの動作をアップストリームに合わせて調整します。この場合、TSX は Linux 5.4 以降デフォルトでは無効になっています。

TSX を有効にするには、tsx=on パラメーターをカーネルコマンドラインに追加します。

(BZ#1828642)

RHEL 8.3 がページ所有者の追跡機能に対応

今回の更新により、ページの所有者追跡機能を使用して、ページ割り当てレベルでカーネルメモリー使用率を確認できるようになりました。

ページトラッカーを有効にするには、以下の手順を実行します。

# grubby --args="page_owner=on" --update-kernel=0
# reboot

その結果、ページの所有者トラッカーはカーネルメモリー消費を追跡します。これは、カーネルメモリーリークをデバッグし、大量のメモリーを使用するドライバーを検出するのに役立ちます。

(BZ#1825414)

AMD EPYC™ 7003 シリーズプロセッサーの EDAC に対応

今回の機能拡張により、AMD EPYC™ 7003 シリーズプロセッサー用の Error Detection And Correction (EDAC) デバイスのサポートが提供されます。以前は、AMD EPYC™ 7003 シリーズプロセッサーをベースとするシステムで、修正 (CE) および未修正 (UE) メモリーエラーが報告されていませんでした。今回の更新で、このエラーが EDAC を使用して報告されるようになりました。

(BZ#1735611)

flamegraph が perf ツールに対応

今回の更新で、perf コマンドラインツールが、システムのパフォーマンスのグラフィカル表現を作成するためのフレームグラフをサポートするようになりました。perf データは、同様のスタックのバックトレースが設定されたサンプルにグループ化されます。その結果、このデータは視覚的な表現に変換され、計算量の多いコード領域を簡単に識別できるようになります。perf ツールを使用してフレームグラフを生成するには、以下のコマンドを実行します。

$ perf script record flamegraph -F 99 -g -- stress --cpu 1 --vm-bytes 128M --timeout 10s
stress: info: [4461] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd
stress: info: [4461] successful run completed in 10s
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.060 MB perf.data (970 samples) ]
$ perf script report flamegraph
dumping data to flamegraph.html

注記: flamegraphs を生成するには、js-d3-flame-graph rpm をインストールします。

(BZ#1281843)

/dev/random および /dev/urandom が、Kernel Crypto API DRBG が条件付きで電源が入るように

FIPS モードでは、疑似乱数ジェネレーター /dev/random および /dev/urandom は、Kernel Crypto API Deterministic Random Generator (DRBG) によって電源が活用されます。FIPS モードのアプリケーションは、上記のデバイスを FIPS 準拠のノイズ源として使用するため、デバイスは FIPS で承認されるアルゴリズムを使用する必要があります。この目的を達成するために、必要なフックが /dev/random ドライバーに追加されました。その結果、このフックは FIPS モードで有効になり、/dev/random および /dev/urandom が Kernel Crypto API DRBG に接続します。

(BZ#1785660)

libbpf が完全対応

bpftracebpf/xdp 開発などの bpf 関連アプリケーションに不可欠な libbpf パッケージが完全にサポートされるようになりました。

これは、bpf-next Linux ツリー bpf-next/tools/lib/bpf ディレクトリーのミラーと、それがサポートするヘッダーファイルです。パッケージのバージョンは、Application Binary Interface (ABI) のバージョンを反映しています。

(BZ#1759154)

lshw ユーティリティーが追加の CPU 情報を提供

今回の機能拡張により、List Hardware ユーティリティー (lshw) により多くの CPU 情報が表示されます。CPU の version フィールドは、システムプロセッサーのファミリー、モデル、およびステッピングの詳細を version: <family>.<model>.<stepping> として数値形式で提供するようになりました。

(BZ#1794049)

kernel-rt ソースツリーが RHEL 8.3 ツリーに更新

kernel-rt ソースが更新され、最新の Red Hat Enterprise Linux カーネルソースツリーを使用するようになりました。リアルタイムパッチセットも、最新のアップストリームバージョン v5.6.14-rt7 に更新されました。これらの更新はいずれも、バグ修正および機能強化を多数提供します。

(BZ#1818138、BZ#1818142)

tpm2-tools がバージョン 4.1.1 にリベース

tpm2-tools パッケージがバージョン 4.1.1 にアップグレードされ、コマンドの追加、更新、および削除が数多く追加されました。詳細は、Updates to tpm2-tools package in RHEL8.3 を参照してください。

(BZ#1789682)

Mellanox ConnectX-6 Dx ネットワークアダプターが完全にサポートされるようになりました。

今回の機能拡張により、Mellanox ConnectX-6 Dx ネットワークアダプターの PCI ID が mlx5_core ドライバーに追加されました。このアダプターを使用するホストでは、RHEL は mlx5_core ドライバーを自動的に読み込みます。この機能は以前のリリースではテクノロジープレビュー機能として利用できていましたが、RHEL 8.3 で完全にサポートされるようになりました。

(BZ#1782831)

mlxsw ドライバーがバージョン 5.7 にリベース

mlxsw ドライバーは、アップストリームバージョン 5.7 にアップグレードされ、以下の新機能を追加します。

  • バッファーの占有データを提供する共有バッファーの占有機能。
  • layer 2layer 3tunnels、および access control list のドロップの監視を可能にするパケットドロップ機能。
  • パケットトラップポリシーのサポート。
  • Link Layer Discovery Protocol (LLDP) エージェントを使用したデフォルトのポート優先度設定のサポート。
  • ETS (Enhanced Transmission Selection) および Token Bucket Filter (TBF) キュー処理のサポート。
  • 初期のパケットドロップを防ぐために、Red Hat のキューイング規則の nodrop モードが有効になります。
  • トラフィッククラス SKB 編集アクション actionskbedit 優先順位昨日は、パケットメタデータの変更を有効にし、pedit Traffic Class Offloading (TOS) で補完します。

(BZ#1821646)

クラッシュカーネルが、kdump 用のメモリー予約を拡張

今回の機能拡張により、crashkernel=auto 引数は、4GB から 64GB のメモリー容量を持つマシンでより多くのメモリーを予約するようになりました。以前は、メモリーが限定されたため、クラッシュカーネルはカーネルスペースおよびユーザー空間のメモリーとしてクラッシュダンプをキャプチャーできませんでした。これにより、クラッシュカーネルが OOM (Out-of-memory) エラーが発生しました。この更新は、上記のシナリオで OOM エラーの発生を軽減し、kdump のメモリー容量を適宜拡張するのに役立ちます。

(BZ#1746644)

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

LVM が VDO ボリュームを管理可能に

LVM が、VDO (Virtual Data Optimizer) セグメントタイプをサポートするようになりました。これにより、LVM ユーティリティーを使用して、ネイティブの LVM 論理ボリュームとして VDO ボリュームを作成および管理できるようになりました。

VDO は、インラインブロックレベルの重複排除、圧縮、およびシンプロビジョニング機能を提供します。

詳細は RHEL での論理ボリュームの重複排除および圧縮 を参照してください。

(BZ#1598199)

SCSI スタックが、高パフォーマンスアダプターにより適切に動作するようになりました。

SCSI スタックのパフォーマンスが向上しました。その結果、次世代の高パフォーマンスホストバスアダプター (HBA) が、RHEL でより高い IOPS (I/Os 毎秒) 可能になりました。

(BZ#1761928)

megaraid_sas ドライバーが最新バージョンに更新されました。

megaraid_sas ドライバーがバージョン 07.713.01.00-rc1 に更新されました。この更新では、パフォーマンスの向上、サポートされている MegaRAID アダプターの安定性、およびリッチ機能セットに関連するバグ修正および機能強化が複数追加されました。

(BZ#1791041)

Stratis が、エラーのプール名をリスト表示

既存の Stratis プールが使用しているブロックデバイスに Stratis プールを作成しようとすると、stratis ユーティリティーが既存プールの名前を報告するようになりました。以前は、ユーティリティーはプールの UUID ラベルのみをリスト表示していました。

(BZ#1734496)

FPIN ELS フレーム通知のサポート

lpfc Fibre Channel (FC) ドライバーが、リンクの整合性に関する Fabric Performance Impact Notifications (FPIN) に対応するようになりました。これは、リンクレベルの問題を特定し、スイッチがより信頼できるパスを選択できるようになります。

(BZ#1796565)

LVM オンディスクのメタデータのデバッグを行うための新しいコマンド

lvm2 パッケージで利用できる pvck ユーティリティーは、物理ボリュームで LVM のディスク上のメタデータをデバッグまたはレスキューするための低レベルのコマンドを提供するようになりました。

  • メタデータを抽出するには、pvck --dump コマンドを使用します。
  • メタデータを修復するには、pvck --repair コマンドを使用します。

詳細は、man ページの pvck(8) を参照してください。

(BZ#1541165)

LVM RAID は、デバイスのデータの破損によるデータ損失を防ぐために DM 整合性に対応します。

LVM RAID 設定に Device Mapper (DM) の整合性を追加して、データ損失を防ぐことができます。整合性層は、デバイスのデータの破損を検出し、RAID レイヤーに、LVM RAID 全体で破損したデータを修正するよう警告します。

RAID は、デバイス障害によるデータ損失を防ぎますが、LVM RAID アレイに整合性を追加すると、デバイスのデータが破損するため、データ損失を防ぐことができます。新しい LVM RAID を作成する際に整合性層を追加するか、すでに存在する LVM RAID に追加できます。

(JIRA:RHELPLAN-39320)

Resilient Storage (GFS2) は、AWS、Azure、および Aliyun パブリッククラウドでサポートされます。

Resilient Storage (GFS2) は、それらのプラットフォームで共有ブロックデバイスのサポートの導入により、3 つの主要なパブリッククラウド、Amazon (AWS)、Microsoft (Azure)、および Alibaba (Aliyun) でサポートされるようになりました。これにより、GFS2 は、オンプレミスおよびパブリッククラウドの両方を使用するオプションが含まれる、実際のハイブリッドクラウドクラスターファイルシステムになりました。Microsoft Azure および AWS で共有ブロックストレージを設定する方法は、パブリッククラウドプラットフォームでの Red Hat Enterprise Linux 8 のデプロイ を参照してください。Alibaba Cloud で共有ブロックストレージを設定する方法は、Configuring Shared Block Storage for a Red Hat High Availability Cluster on Alibaba Cloud を参照してください。

(BZ#1900019)

ユーザー空間が最新の nfsdcld デーモンに対応

ユーザー空間は、最新の nfsdcld デーモンしかサポートするようになりました。これは、namespace 対応のクライアント追跡メソッドのみです。今回の機能拡張により、データの破損なしに、クライアントがコンテナー化された knfsd デーモンから開放またはロックするようになります。

(BZ#1817756)

nconnect が複数の同時接続に対応

今回の機能拡張により、nconnect 機能を使用して NFS サーバーへの同時接続を複数作成できるようになり、異なる負荷分散機能が可能になりました。nconnect=X NFS マウントオプションを使用して nconnect 機能を有効にします。ここで、X は、使用する同時接続の数です。現在の制限は 16 です。

(BZ#1683394, BZ#1761352)

クライアント情報追跡用の nfsdcld デーモンに対応

今回の機能強化により、nfsdcld デーモンが安定したストレージのクライアントベース情報を追跡するデフォルトのメソッドになりました。その結果、コンテナーで実行中の NFS v4 により、クライアントはサーバーの再起動後に開いたり、ロックの返還を要求できます。

(BZ#1817752)

5.1.10. 高可用性およびクラスター

pacemaker がバージョン 2.0.4 にリベース

Pacemaker クラスターリソースマネージャーがアップストリームのバージョン 2.0.4 にアップグレードされ、多くのバグ修正が提供されています。

(BZ#1828488)

新しい priority-fencing-delay クラスタープロパティー

Pacemaker は、新しい priority-fencing-delay クラスタープロパティーをサポートするようになりました。これにより、スプリットブレインが発生した場合に、実行中のリソースが最も少ないノードがフェンシングされるように、2 ノードクラスターを設定できます。

priority-fencing-delay プロパティーは期間に設定できます。このプロパティーのデフォルト値は 0 (無効) です。このプロパティーがゼロ以外の値に設定されている場合や、priority メタ属性が 1 つ以上のリソースに対して設定されている場合は、スプリットブレインが発生すると、実行されているすべてのリソースの中で、最も優先順位が高い組み合わせのノードが存続する可能性が高くなります。

たとえば、 pcs resource defaults priority=1pcs property set priority-fencing-delay=15s を設定し、他の優先度が設定されていない場合には、他のノードはフェンシングを開始するまで 15 秒間待機するため、最も多くのリソースを実行するノードが存続する可能性が高くなります。特定のリソースが他のリソースよりも重要である場合は、優先度を高く設定できます。

昇格可能なクローンに優先順位が設定されている場合は、そのクローンのマスターロールを実行しているノードの優先度が 1 ポイント追加されます。

priority-fencing-delay で設定した遅延は、フェンスデバイスプロパティー pcmk_delay_base および pcmk_delay_max の遅延に追加されます。この動作により、両方のノードの優先度が同等の場合、またはノードの損失以外の理由で両方のノードをフェンシングする必要がある場合 (例: on-fail=fencing がリソースモニター操作用に設定されている)、ある程度の遅延を許容します。組み合わせて使用する場合には、優先ノードが優先されるよう、priority-fencing-delay プロパティーを、pcmk_delay_base および pcmk_delay_max の最大遅延よりもはるかに大きい値に設定することを推奨します (値を 2 倍すると完全に安全となります)。

(BZ#1784601)

リソースおよび操作のデフォルトの複数のセットを管理する新しいコマンド

リソースおよび操作のデフォルトの複数のセットの作成、リスト表示、変更、および削除が可能になりました。デフォルト値のセットを作成する場合は、resource および op 式が含まれるルールを指定できます。たとえば、たとえば、特定タイプのすべてのリソースにデフォルトのリソース値を設定できます。既存のデフォルト値をリスト表示するコマンドには、出力に複数のデフォルトセットが含まれるようになりました。

  • pcs resource [op] defaults set create コマンドは、デフォルト値の新しいセットを作成します。このコマンドでルールを指定する場合は、andor、および括弧を含む resource および op 式のみが許可されます。
  • pcs resource [op] defaults set delete | remove コマンドは、デフォルト値を削除します。
  • pcs resource [op] defaults set update コマンドは、セットのデフォルト値を変更します。

(BZ#1817547)

クラスターリソースのタグ付けのサポート

pcs tag コマンドを使用して、Pacemaker クラスターにクラスターリソースをタグ付けできるようになりました。この機能により、1 つのコマンドで特定のリソースセットを管理できます。pcs tag コマンドを使用して、リソースタグを削除または変更したり、タグ設定を表示したりすることもできます。

pcs resource enablepcs resource disablepcs resource manage、および pcs resource unmanage コマンドは、引数としてタグ ID を受け入れます。

(BZ#1684676)

Pacemaker が、完全に停止するのではなく、昇格したリソースの降格により復元に対応しました。

Pacemaker クラスターに昇格可能なリソースを設定し、そのリソースに対してプロモートまたは監視アクションが失敗した場合や、リソースを実行しているパーティションがクォーラムを失った場合に、リソースが完全に停止されるようにできるようになりました。

この機能は、unpromoted モードでリソースが引き続き利用可能である場合に便利です。たとえば、データベースマスターのパーティションがクォーラムを失った場合、データベースリソースが Master ロールを失ったものの、読み取り専用モードで稼働させる方が望ましいといえます。したがって、読み取りが必要なアプリケーションのみが失われたクォーラムであっても動作し続けます。この機能は、正常な降格がリカバリーで十分で、完全な再起動よりも速くなる場合にも有用です。

この機能をサポートするために、以下を行います。

  • on-fail 操作の meta-attribute は、以下の例のように promote アクションとともに使用すると demote 値を受け入れるようになりました。

    pcs resource op add my-rsc promote on-fail="demote"
  • on-fail 操作の meta-attribute は、以下の例のように、両方の interval がゼロ以外の値に設定され、roleMaster に設定された状態で monitor アクションで使用した場合に demote 値を受け入れるようになりました。

    pcs resource op add my-rsc monitor interval="10s" on-fail="demote" role="Master"
  • no-quorum-policy クラスタープロパティーで demote の値が使用されるようになりました。クラスターパーティションがクォーラムを失うと、昇格したリソースが降格されますが、実行したままになり、他のリソースはすべて停止します。

操作に denmote メタ属性を指定しても、リソースの昇格は影響を受けません。影響を受けるノードのプロモーションスコアが引き続き最高となっている場合は、再度昇格するように選択されます。

(BZ#1837747、BZ#1843079)

Pacemaker との同期を改善するための新たな SBD_SYNC_RESOURCE_STARTUP SBD 設定パラメーター

SBD と Pacemaker の同期をより適切に制御するために、/etc/sysconfig/sbd ファイルが SBD_SYNC_RESOURCE_STARTUP パラメーターに対応するようになりました。RHEL 8.3 以降の Pacemaker パッケージおよび SBD パッケージがインストール済みで、SBD_SYNC_RESOURCE_STARTUP=true が設定されている場合、SBD はデーモンの状態についての情報を Pacemaker デーモンに問い合わせます。

この設定では、Pacemaker デーモンは、SBD がコンダクトされるまで待機してから、サブデーモンを起動し、最終終了します。その結果、SBD がそれとアクティブに通信できない場合に Pacemaker はリソースを実行しず、SBD への正常なシャットダウンを報告するまで Pacemaker は終了しません。これにより、Pacemaker が最後に切断される前にリソースが実行されなかった場合は、SBD が正常なシャットダウンの瞬間を検出できなかったときに、思いも寄らないことが起こる可能性は低くなります。このようなことが発生すると、不要な再起動がトリガーされます。定義されたハンドシェイクを使用して正常なシャットダウンを検出すると、メンテナンスモードでも機能します。実行中のリソースが残っていない状況に基づいて正常なシャットダウンを検出する以前の方法は、リソースの実行がシャットダウンで触れられないため、メンテナンスモードで無効化されていました。

また、この機能を有効にすると、SBD と Pacemaker の両方が起動しても SBD が pacemaker と通信できない場合に、スプリットブレインの状況が発生しないようにします。これは、SELinux ポリシーなどの理由で発生する可能性があります。この場合、Pacemaker では、SBD が機能していないと仮定します。この新機能を有効にすると、Pacemaker は SBD が接続するまで起動を完了しません。この新機能のもう 1 つの利点は、SBD を有効にすると、ハートビートを使用して Pacemaker を繰り返し通信し、いつでも Pacemaker が応答しなくなった場合にノードをパニックできることです。

注記

/etc/sysconfig/sbd ファイルを編集するか、PCS を介して SBD を設定している場合、RPM のアップグレードは新しい SBD_SYNC_RESOURCE_STARTUP パラメーターにプルされません。このような場合は、この機能を実装するには、/etc/sysconfig/sbd.rpmnew ファイルから手動で追加するか、sbd(8)man ページの Configuration via environment セクションで説明されている設定 の手順に従う必要があります。

(BZ#1718324BZ#1743726)

5.1.11. 動的プログラミング言語、Web サーバー、およびデータベースサーバー

新しいモジュールストリーム: ruby:2.7

RHEL 8.3 では、新しい ruby:2.7 モジュールストリームに Ruby 2.7.1 が導入されました。このバージョンでは、RHEL 8.1 で配布される Ruby 2.6 に対するパフォーマンスの向上、バグおよびセキュリティー修正、および新機能が数多く追加されました。

主な機能強化は、次のとおりです。

  • 新しい Compaction Garbage Collector (GC) が導入されました。この GC は、断片化されたメモリー領域をデフラグできます。
  • Racc (Ruby yet Another Compiler-Compiler) は、1 トークンの LALR(1) (Look-Ahead Left-to-Right) - パーサージェネレーターのコマンドラインインターフェイスを提供するようになりました。
  • バンドルされた REPL (Read–Eval–Print Loop) 環境であるインタラクティブな Ruby Shell (irb) が、マルチライン編集をサポートするようになりました。
  • 機能プログラミング言語で頻繁に使用されるパターンマッチングが実験的な機能として導入されています。
  • デフォルトのブロックパラメーターとしての番号付きパラメーターは、実験的な機能として導入されました。

以下のパフォーマンスの向上が実装されています。

  • ファイバーの作成を加速するために、ファイバーキャッシュ戦略が変更されました。
  • CGI.escapeHTML メソッドのパフォーマンスが改善されました。
  • Monitor クラスおよび MonitorMixin モジュールのパフォーマンスが改善されました。

また、キーワード引数および位置引数の自動変換が非推奨になりました。Ruby 3.0 では、位置引数とキーワード引数が区切られます。詳細は、アップストリームのドキュメント を参照してください。

実験的な機能に対して警告を非表示にするには、-W:no-experimental コマンドラインオプションを使用します。非推奨の警告を無効にするには、-W:no-deprecated コマンドラインオプションを使用するか、コードに Warning[:deprecated] = false を追加します。

ruby:2.7 モジュールストリームをインストールするには、以下を使用します。

# yum module install ruby:2.7

php:2.6 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

(BZ#1817135)

新しいモジュールストリーム: nodejs:14

新しいモジュールストリーム nodejs:14 が利用できるようになりました。RHEL 8.3 に含まれている Node.js 14 は、RHEL 8.1 で配布される Node.js 12 に新機能およびバグ修正が数多く追加されました。

以下は、主な変更点です。

  • V8 エンジンがバージョン 8.3 にアップグレードされました。
  • 実験的な新しい WebAssembly System Interface (WASI) が実装されました。
  • 実験的な新しい Async Local Storage API が導入されました。
  • 診断レポート機能が安定しました。
  • ストリーム API が強化されました。
  • 実験的なモジュールの警告が削除されました。

RHEA-2020:5101 アドバイザリーのリリースでは、RHEL 8 は Node.js 14.15.0 を提供します。これは、安定性が改善された最近の LTS (Long Term Support) です。

nodejs:14 モジュールストリームをインストールするには、以下を使用します。

# yum module install nodejs:14

nodejs:12 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

(BZ#1815402、BZ#1891809)

git がバージョン 2.27 にリベース

git パッケージがアップストリームバージョン 2.27 にアップグレードされました。以前に利用できたバージョン 2.18 への主な変更点は、以下のとおりです。

  • git checkout コマンドは、2 つの異なるコマンドに分割されました。

    • ブランチ管理用の git switch
    • ディレクトリーツリー内での変更を管理するための git restore
  • git rebase コマンドの動作は、以前の patch+apply ワークフローではなく、デフォルトで merge ワークフローに基づいています。以前の動作を保持するには、apply する rebase.backend 設定変数を設定します。
  • git difftool コマンドをリポジトリー以外でも使用できるようになりました。
  • より具体的なケースで user.{name,email} を上書きするように、新しい設定変数 {author,committer}.{name,email} が導入されました。
  • ユーザーがプロキシーとの通信に SSL を設定できるようにする新しいオプションが追加されました。
  • git fast-export および git fast-import ユーティリティーで、UTF-8 文字エンコーディングでのログメッセージによるコミットの処理が改善されました。
  • lfs 拡張が、新しい git-lfs パッケージとして追加されました。Git Large File Storage (LFS) は、大規模なファイルを Git 内のテキストポインターに置き換え、ファイルの内容をリモートサーバーに保存します。

(BZ#1825114、BZ#1783391)

Python の変更点

RHEL 8.3 では、python38:3.8 モジュールストリームに以下の変更が加えられています。

  • Python インタープリターがバージョン 3.8.3 に更新されました。これにより、バグ修正が提供されています。
  • python38-pip パッケージがバージョン 19.3.1 に更新され、pipmanylinux2014 wheel をインストールするようになりました。

python3 パッケージが提供する Python 3.6 インタープリターのパフォーマンスが大幅に改善しました。

ubi8/python-27ubi8/python-36、および ubi8/python-38 コンテナーイメージが、カスタムパッケージインデックスまたは PyPI ミラーからの pipenv ユーティリティーのインストールに対応するようになりました。以前のリリースでは、pipenv はアップストリームの PyPI リポジトリーからのみダウンロードでき、アップストリームリポジトリーが利用できないと、インストールに失敗していました。

(BZ#1847416BZ#1724996、BZ#1827623、BZ#1841001)

新しいモジュールストリーム: php:7.4

RHEL 8.3 では PHP 7.4 が導入され、バージョン 7.3 に対するバグ修正および機能拡張が数多く追加されました。

本リリースでは、新しい実験的な拡張である Foreign Function Interface (FFI) が導入されています。これにより、ネイティブ機能を呼び出し、ネイティブ変数へのアクセス、C ライブラリーで定義されたデータ構造の作成およびアクセスが可能になります。FFI 拡張は php-ffi パッケージで利用できます。

以下の拡張機能が削除されました。

  • wddx 拡張 (php-xml パッケージから削除)
  • php-recode パッケージから削除された recode 拡張機能。

php:7.4 モジュールストリームをインストールするには、以下を使用します。

# yum module install php:7.4

php:7.3 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

RHEL 8 での PHP の使用方法の詳細は、PHP スクリプト言語の使用 を参照してください。

(BZ#1797661)

新しいモジュールストリーム: nginx:1.18

nginx 1.18 Web およびプロキシーサーバーが利用できるようになりました。バージョン 1.16 に対するバグ修正、セキュリティー修正、および拡張機能が数多く追加されました。以下は、主な変更点です。

  • HTTP リクエストレートおよび接続制限に対する機能強化が実装されました。たとえば、limit_rate ディレクティブおよび limit_rate_after ディレクティブは、新しい $limit_req_status 変数および $limit_conn_status 変数を含む変数をサポートするようになりました。さらに、limit_conn_dry_run ディレクティブおよび limit_req_dry_run ディレクティブにドライランモードが追加されました。
  • 新しい auth_delay ディレクティブが追加されました。これにより、承認されていないリクエストの遅延処理が可能になります。
  • 以下のディレクティブは、grpc_passproxy_upload_rate、および proxy_download_rate の変数に対応するようになりました。
  • 追加の PROXY プロトコル変数 ($proxy_protocol_server_addr および $proxy_protocol_server_port) が追加されました。

nginx:1.18 ストリームをインストールするには、以下を実行します。

# yum module install nginx:1.18

nginx:1.16 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

(BZ#1826632)

新しいモジュールストリーム: perl:5.30

RHEL 8.3 では Perl 5.30 が導入され、以前にリリースされた Perl 5.26 にバグ修正および機能拡張が数多く追加されました。新しいバージョンは、特定の言語機能も非推奨または削除します。大きな影響を及ぼす主な変更点には、以下が含まれます。

  • Math::BigInt::CalcEmu モジュール、arybase モジュール、および B::Debug モジュールが削除された
  • ファイル記述子が close-on-exec フラグで開くようになった
  • 同じシンボルをファイルおよびディレクトリーリハンドルとして開くことはできなくなった
  • サブルーチンの属性は、サブルーチンの署名の前に置く必要がある
  • :locked 属性および :uniq 属性が削除された
  • フォーマットでのコンマなしの変数リストが許可されなくなった
  • 裸の << ヒアドキュメント演算子は使用できなくなった
  • エスケープされていない左中括弧 ({) 文字を正規表現パターンで使用することは非推奨になっていたが、使用できなくなった
  • AUTOLOAD() サブルーチンがメソッド以外の関数に継承できなくなった
  • sort プラグマが sort アルゴリズムを指定できなくなった
  • B::OP::terse() サブルーチンが B::Concise::b_terse() サブルーチンに置き換えられた
  • File::Glob::glob() 関数が File::Glob::bsd_glob() 関数に置き換えられた
  • dump() 関数が、CORE::dump() として完全修飾して呼び出さなけいといけなくなった
  • yada-yada 演算子 (…​) がステートメントで、式として使用できくなった
  • $[ 変数にゼロ以外の値を割り当てると、致命的なエラーが返されるようになった
  • $* および $# 変数が許可されなくった
  • 偽の条件ブランチで my() 関数を使用した変数の宣言が許可されなくなった
  • :utf8 バンドルの sysread() 関数および syswrite() 関数は、致命的なエラーを返すようになる
  • pack() 関数が不適切な形式の UTF-8 形式を返さなくなった
  • IV_MAX より値が大きい Unicode コードポイントが許可されなくなった
  • Unicode 12.1 に対応するようになった

以前の perl モジュールストリームからアップグレードするには、後続のストリームへの切り替え を参照してください。

Perl 5.30 は、s2i が有効な ubi8/perl-530 コンテナーイメージとしても利用できます。

(BZ#1713592BZ#1732828)

新しいモジュールストリーム: perl-libwww-perl:6.34

RHEL 8.3 では、新しい perl-libwww-perl:6.34 モジュールストリームが導入され、RHEL 8 で利用可能なすべてのバージョンの Perlperl-libwww-perl パッケージが提供されています。RHEL 8.0 以降の、モジュールでない perl-libwww-perl パッケージは、5.26 以外の Perl ストリームで使用できません。新しいデフォルトの perl-libwww-perl:6.34 ストリームは廃止されました。

(BZ#1781177)

新しいモジュールストリーム: perl-IO-Socket-SSL:2.066

新しい perl-IO-Socket-SSL:2.066 モジュールストリームが利用できるようになりました。本モジュールでは、perl-IO-Socket-SSL パッケージおよび perl-Net-SSLeay パッケージを提供し、RHEL 8 で利用可能なすべての Perl ストリームと互換性があります。

(BZ#1824222)

squid:4 モジュールストリームがバージョン 4.11 にリベース

squid:4 モジュールストリームが提供する Squid プロキシーサーバーが、バージョン 4.4 からバージョン 4.11 にアップグレードされました。本リリースでは、複数のバグ修正およびセキュリティー修正と、新しい設定オプションなどのさまざまな機能拡張が提供されます。

(BZ#1829467)

httpd:2.4 モジュールストリームの変更点

RHEL 8.3 では、httpd:2.4 モジュールストリームで利用可能な Apache HTTP Server に以下のような変更が追加されました。

  • mod_http2 モジュールがバージョン 1.15.7 にリベース
  • H2Upgrade ディレクティブおよび H2Push ディレクティブの設定変更
  • HTTP/2 ペイロードフレームのパディングを制御する新しい H2Padding 設定ディレクティブ
  • 多くのバグ修正。

(BZ#1814236)

httpdCustomLog ディレクティブから journald へのロギングのサポート

CustomLog ディレクティブの新規オプションを使用して、Apache HTTP Server から journald にアクセス (transfer) ログを出力できるようになりました。

サポートされる構文は以下のとおりです。

CustomLog journald:priority format|nickname

priority は、LogLevel ディレクティブ で使用されるように debug する優先度の高い文字列です。

たとえば、combined ログ形式を使用して journald にログインするには、以下を使用します。

CustomLog journald:info combined

このオプションを使用する場合は、フラットファイルに直接ロギングする場合よりもサーバーのパフォーマンスが低くなる可能性があることに注意してください。

(BZ#1209162)

5.1.12. コンパイラーおよび開発ツール

.NET 5 が RHEL で利用可能に

.NET 5 は、Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 8、および OpenShift Container Platform で利用できます。.NET 5 には、新しい言語バージョン (C# 9 および F# 5.0) が含まれます。ベースライブラリー、GC および JIT でパフォーマンスが大幅に改善されました。.NET 5 では 単一ファイルアプリケーション、.NET アプリケーションを 1 つの実行可能ファイルとして配布でき、すべての依存関係が含まれます。.NET 5 用の UBI8 イメージは Red Hat コンテナーレジストリーから利用でき、OpenShift で使用できます。

.NET 5 を使用するには、dotnet-sdk-5.0 パッケージをインストールします。

$ sudo dnf install -y dotnet-sdk-5.0

詳細は .NET 5 のドキュメント を参照してください。

(BZ#1944677)

新しい GCC Toolset 10

GCC Toolset 10 は最新バージョンの開発ツールを提供するコンパイラーツールセットです。このツールセットは、AppStream リポジトリーにおいて、Software Collection の形式で、Application Stream として利用できます。

GCC コンパイラーがバージョン 10.2.1 に更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。

以下のツールおよびバージョンは、GCC Toolset 10 で利用できます。

ツールバージョン

GCC

10.2.1

GDB

9.2

Valgrind

3.16.0

SystemTap

4.3

Dyninst

10.1.0

binutils

2.35

elfutils

0.180

dwz

0.12

make

4.2.1

strace

5.7

ltrace

0.7.91

annobin

9.29

GCC Toolset 10 をインストールするには、root で以下のコマンドを実行します。

# yum install gcc-toolset-10

GCC Toolset 10 のツールを実行するには、以下のコマンドを実行します。

$ scl enable gcc-toolset-10 tool

GCC Toolset バージョン 10 のツールバージョンが、このようなツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、次のコマンドを実行します。

$ scl enable gcc-toolset-10 bash

詳細は、Using GCC Toolset を参照してください。

GCC Toolset 10 コンポーネントが、以下のコンテナーイメージ 2 つで利用可能になりました。

  • GCC コンパイラー、GDB デバッガー、make 自動化ツールを含む rhel8/gcc-toolset-10-toolchain
  • SystemTap や Valgrind などのパフォーマンス監視ツールを含む rhel8/gcc-toolset-10-perftools

    コンテナーイメージをプルするには、root で以下のコマンドを実行します。

    # podman pull registry.redhat.io/<image_name>

    GCC Toolset 10 コンテナーイメージのみがサポートされるようになりました。以前のバージョンの GCC Toolset コンテナーイメージが非推奨になりました。

コンテナーイメージの詳細は、GCC Toolset コンテナーイメージの使用 を参照してください。

(BZ#1842656)

Rust Toolset がバージョン 1.45.2 にリベース

Rust Toolset が、バージョン 1.45.2 に更新されました。以下は、主な変更点です。

  • 依存関係を表示するサブコマンド cargo treecargo に組み込まれるようになりました。
  • 浮動小数点値から整数にキャストすると、まとまったキャストが生成されます。以前は、ターゲット整数タイプの省略された浮動小数点値が範囲外であった場合、結果はコンパイラーで未定義の動作でした。有限でない浮動小数点の値も未定義になりました。今回の機能拡張により、有限値は整数の最小範囲または最大範囲に切り捨てられるようになりました。正の値と負の値はデフォルトで、それぞれ最大整数と最小整数値である Not-a-Number(NaN) の値をゼロにまとめられます。
  • 式、パターン、ステートメントの関数のような手順マクロが拡張され、安定化されるようになりました。

使用方法の詳細は Rust Toolset の使用 を参照してください。

(BZ#1820593)

LLVM Toolset がバージョン 10.0.1 にリベース

LLVM Toolset がバージョン 10.0.1 にアップグレードされました。今回の更新で、clang-libs パッケージに個別のコンポーネントライブラリーが含まれなくなりました。その結果、アプリケーションにアプリケーションをリンクできなくなりました。clang ライブラリーにアプリケーションをリンクするには、libclang-cpp.so パッケージを使用します。

詳細は、LLVM Toolset の使用 を参照してください。

(BZ#1820587)

Go Toolset がバージョン 1.14.7 にリベース

Go Toolset がバージョン 1.14.7 の主な変更点にアップグレードされました。

  • Go モジュールシステムが完全にサポートされるようになりました。
  • SSL バージョン 3.0 (SSLv3) はサポートされなくなりました。Delve デバッガーの主な機能強化は、以下のとおりです。
  • raw メモリーを調べる新しいコマンド examinemem (または x)
  • プログラムの停止ごとに式の display 値を出力する新しいコマンド
  • デバッグしたプログラムの Teletypewriter (TTY) を指定するための新しい --tty フラグ
  • Arm64 の新しいコアダンプサポート
  • goroutine ラベルを出力する新しい機能
  • Debug Adapter Protocol (DAP) サーバーのリリース
  • dlv trace および trace REPL (read-eval-print-loop) コマンドからの出力が改善されました。

Go Toolset の詳細は、Using Go Toolset を参照してください。

Delve の詳細は、アップストリームの Delve documentation を参照してください。

(BZ#1820596)

SystemTap がバージョン 4.3 にリベース

SystemTap 計測ツールがバージョン 4.3 に更新され、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • ユーザー空間プローブは、readelf -n の 16 進数 buildid でターゲットに設定できます。この代替パス名を使用すると、一致するバイナリーを任意の名前でプローブできるため、1 つのスクリプトで異なるバージョンの範囲をターゲットにできます。この機能は、elfutils debuginfod サーバーと連携して機能します。
  • スクリプト関数はプローブ $context 変数を使用してプローブされた場所内の変数にアクセスできます。これにより、SystemTap スクリプトは共通のロジックを使用してさまざまなプローブと連携できます。
  • try-catch ステートメントやエラープローブを含む stapbpf プログラムが改善され、BPF バックエンドで実行されているスクリプトで適切なエラー耐性を持たせるようになりました。

主な変更の詳細は、更新前に アップストリームのリリースノート を参照してください。

(BZ#1804319)

Valgrind がバージョン 3.16.0 にリベース

Valgrind 実行コード分析ツールがバージョン 3.16.0 に更新されました。これにより、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。

  • 次のいずれかの方法により、Valgrind でプログラムを実行しながら、多くのコマンドラインオプションの値を動的に変更できるようになりました。vgdb 経由、Valgrind gdbserver に接続されている gbd 経由、またはプログラムクライアントリクエスト経由。動的に変更可能なオプションのリストを表示するには、valgrind --help-dyn-options コマンドを実行します。
  • Cachegrind (cg_annotate) および Callgrind (callgrind_annotate) ツールについては、--auto--show-percs オプションがデフォルトで yes になりました。
  • Memcheck ツールを使用すると、最適化されたコードの誤検出エラーが少なくなります。特に、Memcheck はコンパイラーが A && B チェックを B && A に変換した場合に適切に処理されるようになりました。B 未定義で、A が false でした。Memcheck は、部分的に定義された値の整数等号チェックと不等号チェックも処理します。
  • 実験的なスタックおよびグローバルアレイチェックツール (exp-sgcheck) が削除されました。スタックおよびグローバルアレイのオーバーランを検出する方法は、GCC の AddressSanitizer (ASAN) 機能を使用することです。これには、-fsanitize=address オプションでコードを再ビルドする必要があります。

(BZ#1804324)

elfutils がバージョン 0.180 にリベース

elftils パッケージがバージョン 0.180 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • GCC LTO (リンク時間最適化) で構築されたコードのデバッグ情報への対応が改善されました。eu-readelf および libdw ユーティリティーで .gnu.debuglto_ セクションの読み取りと処理が可能になり、コンパイルユニット (CU) 全体に定義される関数のファイル名を正しく解決できるようになりました。
  • eu-nm ユーティリティーは、V を弱いオブジェクト、C を共通のシンボルとして明示的に特定するようになりました。
  • debuginfod サーバーは .deb アーカイブをインデックス化できるようになりました。また、-Z EXT[=CMD] オプションを使用して他のパッケージアーカイブ形式を追加するための汎用拡張があります。たとえば、-Z '.tar.zst=zstdcat' は、zstdcat ユーティリティーを使用して、.tar.zst 拡張で終わるアーカイブをデプロイメントする必要があることを示しています。
  • debuginfo-client ツールには複数の新しいヘルパー関数があります。たとえば、debuginfod_set_user_datadebuginfod_get_user_datadebuginfod_get_urlanddebuginfod_add_http_header となります。file:// URL もサポートしています。

(BZ#1804321)

GDB が IBM z15 でのプロセスレコードおよび再生に対応

今回の機能強化により、GNU Debugger (GDB) は、IBM z15 プロセッサーのほとんどの新しい命令で、プロセスレコードおよび再生をサポートするようになりました (以前は arch13 と呼ばれます)。現在、以下の指示はサポートされていません。SORTL (sort list)、DFLTCC (deflate conversion call)、KDSA (コンピュートデジタル署名認証)。

(BZ#1659535)

Marvell ThunderX2 パフォーマンス監視イベントが papi で更新されました。

今回の機能拡張により、未コアイベントを含む ThunderX2 に固有のパフォーマンスイベントが多数更新されました。その結果、開発者は Marvell ThunderX2 システムでシステムパフォーマンスをより適切に調査できます。

(BZ#1726070)

glibc math ライブラリーが IBM Z に対して最適化

今回の機能拡張により、IBM Z マシンのパフォーマンスを向上するために、libm math 機能が最適化されました。以下は、主な変更点です。

  • 不要な浮動小数点コントロールレジスターセットおよび抽出を回避するように、丸めるモード処理を改善
  • z196 整数と浮動小数点間の変換の悪用

(BZ#1780204)

追加の libffi 固有の一時ディレクトリーが利用可能

以前は、強化されたシステムでは、システム全体の一時ディレクトリーには、libffi ライブラリーとの使用に適したパーミッションがない可能性があります。

今回の機能強化により、システム管理者は、write および exec マウントまたは selinux パーミッションの両方を持つ libffi 固有の一時ディレクトリーを参照するように LIBFFI_TMPDIR 環境変数を設定できるようになりました。

(BZ#1723951)

strstr() および strcasestr() のパフォーマンスを改善

今回の更新で、サポートされる複数のアーキテクチャーで strstr() 関数および strcasestr() 関数のパフォーマンスが改善されました。その結果、文字列およびメモリー操作ルーチンを使用したすべてのアプリケーションのパフォーマンスを大幅に向上させるようになりました。

(BZ#1821531)

glibc が、省略されたロケールアーカイブの読み込みを正しく処理

アップグレード時またはディスク障害の発生時に、システムロケールのアーカイブが切り捨てられていたり、システムロケールのアーカイブが切り捨てられると、アーカイブの読み込み時にプロセスが予期せず終了する可能性があります。今回の機能拡張により、ロケールアーカイブのロードに一貫性チェックが追加されます。その結果、プロセスはアーカイブ切り捨てを検出し、アーカイブされていないロケールまたはデフォルトの POSIX ロケールのいずれかにフォールバックできるようになりました。

(BZ#1784525)

GDB が debuginfod に対応

今回の機能強化により、GNU Debugger (GDB) は、elfutils debuginfod クライアントライブラリーを使用して、集中型サーバーからデバッグ情報パッケージをダウンロードできるようになりました。

(BZ#1838777)

pcp がバージョン 5.1.1-3 にリベース

pcp パッケージが、バージョン 5.1.1-3 にアップグレードされました。以下は、主な変更点です。

  • サービスユニットを更新し、すべての PCP サービスの systemd 統合および信頼性が向上します。アーカイブログローテーションおよび時間圧縮が向上しました。pmproxy プロトコルで検出に関するバグの修正。
  • pmrep およびエクスポートツールのメトリックラベルレポートとともに、pcp-atoppcp-dstatpmrep、および関連の監視ツールが改善されました。
  • bpftraceOpenMetrics、MMV、Linux カーネルエージェントなどのコレクションエージェントが改善されました。Open vSwitch および RabbitMQ サーバーの新しいメトリックコレクター。
  • スタンドアロンの pmmgr デーモンに代わる、新しいホスト検出 pmfind systemd サービス。

(BZ#1792971)

grafana がバージョン 6.7.3 にリベース

grafana パッケージがバージョン 6.7.3 にアップグレードされました。以下は、主な変更点です。

  • 汎用 OAuth ロールマッピングのサポート
  • 新規ログパネル
  • テーブルパネルに複数行のテキスト表示
  • 新しい通貨および energy ユニット

(BZ#1807323)

grafana-pcp がバージョン 2.0.2 にリベース

grafana-pcp パッケージがバージョン 2.0.2 にアップグレードされました。以下は、主な変更点です。

  • フレームグラフでグラフ付けされるマルチディメンションの eBPF マップをサポートします。
  • クエリーエディターで自動補完キャッシュを削除し、PCP メトリックを動的に表示できるようにします。

(BZ#1807099)

新しい rhel8/pcp コンテナーイメージ

Red Hat コンテナーレジストリーで rhel8/pcp コンテナーイメージが利用できるようになりました。イメージには Performance Co-Pilot (PCP) ツールキットが含まれます。これには、pcp-zeroconf パッケージおよび OpenMetrics PMDA が事前にインストールされます。

(BZ#1497296)

新しい rhel8/grafana コンテナーイメージ

rhel8/grafana コンテナーイメージが、Red Hat コンテナーレジストリーで利用できるようになりました。Grafana は、メトリックダッシュボードを含むオープンソースユーティリティーで、GraphiteElasticsearchOpenTSDBPrometheusInfluxDB、および PCP 監視ツールのグラフエディターです。

(BZ#1823834)

5.1.13. ID 管理

IdM のバックアップユーティリティーが、必要なレプリカロールを確認するようになりました。

ipa-backup ユーティリティーは、認証局 (CA)、Domain Name System (DNS)、Key Recovery Agent (KRA) などの IdM クラスターで使用されるすべてのサービスが、バックアップを実行しているレプリカにインストールされているかどうかを確認するようになりました。レプリカにこれらのサービスがすべてインストールされていない場合、そのホストで取得したバックアップはクラスターのフル復元には十分ではないため、ipa-backup ユーティリティーは警告を表示して終了します。

たとえば、IdM デプロイメントで統合認証局 (CA) を使用している場合、CA 以外のレプリカのバックアップは CA データを取得しません。Red Hat は、ipa-backup を実行するレプリカに、クラスターで使用される IdM サービス がすべてインストールされていることを確認することを推奨します。

詳細は、IdM バックアップによるデータ損失の準備 を参照してください。

(BZ#1810154)

新しいパスワード有効期限の通知ツール

ipa-client-epn パッケージが提供する Password Notification (EPN) は、パスワードの期限が切れる Identity Management (IdM) ユーザーのリストを構築するために使用できるスタンドアロンツールです。

IdM 管理者は、EPN を使用して以下を行うことができます。

  • JSON 形式で影響を受けるユーザーのリストを表示します。これはランタイム時に計算されます。
  • 特定の日または日付の範囲に送信される電子メール数を計算する。
  • パスワード期限切れのメール通知をユーザーに送信する。

Red Hat は、追加する ipa-epn.timer systemd タイマーを使用して、IdM クライアントまたはレプリカから 1 日 1 日 1 回起動することを推奨します。

(BZ#913799)

JSS が FIPS 準拠の SSLContext を提供するようになりました。

以前のリリースでは、Tomcat は Java Cryptography Architecture (JCA) SSLContext クラスの SSLEngine ディレクティブを使用していました。デフォルトの SunJSSE 実装は連邦情報処理標準 (FIPS) に準拠していないため、PKI は JSS 経由で FIPS 準拠の実装を提供するようになりました。

(BZ#1821851)

公開鍵インフラストラクチャーの全体的な正常性を確認できるようになりました。

今回の更新で、公開鍵インフラストラクチャー (PKI) Healthcheck ツールが、RHEL 8.1 で導入された Identity Management (IdM) Healthcheck ツールに PKI サブシステムの正常性を報告するようになりました。IdM Healthcheck を実行すると、PKI Healthcheck が呼び出され、これにより、PKI サブシステムの正常性レポートを収集して返します。

pki-healthcheck ツールは、デプロイ済みのあらゆる RHEL IdM サーバーまたはレプリカで利用可能です。pki-healthcheck が提供するすべてのチェックは、ipa-healthcheck ツールにも統合されます。ipa-healthcheck は、idm:DL1 モジュールストリームから個別にインストールできます。

pki-healthcheck は、スタンドアローンの Red Hat Certificate System (RHCS) インフラストラクチャーでも動作可能であることに留意してください。

(BZ#1770322)

RSA PSS のサポート

今回の機能強化により、PKI は RSA PSS (Probabilistic Signature Scheme) 署名アルゴリズムに対応するようになりました。

この機能を有効にするには、特定のサブシステムに対して pkispawn スクリプトファイルに以下の行を設定します (pki_use_pss_rsa_signing_algorithm=True)。

これにより、このサブシステムに対する既存のデフォルト署名アルゴリズム (CS.cfg 設定ファイルで指定) はすべて、対応する PSS バージョンを使用します。たとえば、SHA256withRSASHA256withRSA/PSSになります。

(BZ#1824948)

Directory Server は、サービスの起動時にプライベートキーと証明書をプライベート名前空間にエクスポートします。

Directory Server は、レプリカ合意などの発信接続に OpenLDAP ライブラリーを使用します。これらのライブラリーはネットワークセキュリティーサービス (NSS) データベースに直接アクセスできないため、Directory Server は、TLS 暗号化サポートのあるインスタンスで秘密鍵と証明書を抽出し、OpenLDAP ライブラリーが暗号化された接続を確立できるようにします。以前は、Directory Server は、cn=config エントリー (デフォルト: /etc/dirsrv/slapd-<instance_name>/) の nsslapd-certdir パラメーターで設定したディレクトリーに、秘密鍵と証明書をデプロイメントしました。これにより、Directory Server は、このディレクトリーに Server-Cert-Key.pem および Server-Cert.pem を保存します。今回の機能強化により、Directory Server が、systemd/tmp/ ディレクトリーにマウントされるプライベート名前空間に秘密鍵と証明書を抽出するようになりました。その結果、セキュリティーが強化されました。

(BZ#1638875)

ディスクの監視のしきい値に達すると、Directory Server がインスタンスの読み取り専用モードに切り替わるようになりました。

今回の更新で、nsslapd-disk-monitoring-readonly-on-threshold パラメーターを cn=config エントリーに追加されました。この設定を有効にすると、Directory Server は、ディスクの監視が有効で、空きディスク領域が nsslapd-disk-monitoring-threshold に設定した値よりも小さい場合に、すべてのデータベースを読み取り専用に切り替えます。nsslapd-disk-monitoring-readonly-on-thresholdon に設定すると、Directory Server がインスタンスを正常にシャットダウンするまでデータベースを変更することはできません。これにより、データの破損を防ぐことができます。

(BZ#1728943)

samba がバージョン 4.12.3 にリベース

samba パッケージがアップストリームバージョン 4.12.3 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。

  • 組み込み暗号機能は、GnuTLS 機能に置き換えられました。これにより、サーバーメッセージブロックバージョン 3 (SMB3) のパフォーマンスが改善され、コピー速度が大幅に改善されます。
  • ランタイムの最小サポートが Python 3.5 になりました。
  • 以前の書き込みキャッシュの概念が原因で、write cache size パラメーターが削除され、メモリー制約のあるシステムのパフォーマンスが低下します。
  • DES 暗号化タイプによる Kerberos チケットを使用した接続の認証のサポートが削除されました。
  • vfs_netatalk 仮想ファイルシステム (VFS) モジュールが削除されました。
  • ldap ssl ads パラメーターは非推奨としてマークされ、今後の Samba バージョンで削除されます。または、LDAP トラフィックを暗号化する方法および詳細は、samba: removal of "ldap ssl ads" smb.conf option ソリューションを参照してください。
  • デフォルトでは、RHEL 8.3 の Samba は非推奨の RC4 暗号スイートに対応しなくなりました。Kerberos 認証に RC4 を必要とする AD で Samba をドメインメンバーとして実行する場合は、update-crypto-policies --set DEFAULT:AD-SUPPORT コマンドを使用して RC4 暗号化タイプのサポートを有効にします。

smbdnmbd、または winbind サービスが起動すると、Samba は tdb データベースファイルを自動的に更新します。Samba を起動する前にデータベースファイルがバックアップされます。Red Hat は、tdb データベースファイルのダウングレードをサポートしていないことに留意してください。

主な変更の詳細は、更新前に アップストリームのリリースノート を参照してください。

(BZ#1817557)

cockpit-session-recording がバージョン 4 にリベース

cockpit-session-recording モジュールがバージョン 4 にリベースされました。このバージョンでは、以前のバージョンに対する以下の主な変更点があります。

  • metainfo ファイルの親 ID を更新しました。
  • パッケージマニフェストを更新しました。
  • CentOS7 で正しいパスを解決するように rpmmacro を修正しました。
  • バイトアレイでエンコードされたジャーナルデータを処理します。
  • 非推奨の React ライフサイクル機能からコードを移動しました。

(BZ#1826516)

krb5 がバージョン 1.18.2 にリベース

krb5 パッケージがアップストリームバージョン 1.18.2 にアップグレードされました。主なバグ修正と機能強化は、以下のとおりです。

  • シングルおよびトリプル DES 暗号化タイプが削除されました。
  • Active Directory のサポート対象バージョンに必要がなく、ドラフト 9 の PKINIT が削除されました。
  • NegoEx メカニズムプラグインがサポートされるようになりました。
  • ホスト名正規化のフォールバックがサポートされるようになりました (dns_canonicalize_hostname = fallback)。

(BZ#1802334)

IdM が新しい Ansible 管理モジュールに対応するようになりました。

今回の更新で、Ansible Playbook を使用して一般的な Identity Management (IdM) タスクを自動化する複数の ansible-freeipa モジュールが導入されました。

  • config モジュールにより、IdM 内でグローバル設定パラメーターを設定できます。
  • dnsconfig モジュールを使用すると、グローバル DNS 設定を変更できます。
  • dnsforwardzone モジュールを使用すると、IdM から DNS フォワーダーを追加または削除できます。
  • dnsrecord を使用すると、DNS レコードを管理できます。アップストリームの ipa_dnsrecord とは対照的に、1 つの実行での複数のレコード管理が可能になり、より多くのレコードタイプをサポートします。
  • dnszone モジュールにより、DNS サーバーでゾーンを設定できます。
  • service モジュールにより、サービスの有無について確認することができます。
  • vault モジュールを使用すると、vault と vault のメンバーが存在することを確認できます。

ipagroup モジュールおよび ipahostgroup モジュールは、ユーザーとホストグループのメンバーシップマネージャーを組み込むように拡張されています。グループメンバーシップマネージャーは、グループにメンバーを追加したり、グループからメンバーを削除できるユーザーまたはグループです。詳細は、それぞれの /usr/share/doc/ansible-freeipa/README-* ファイルの Variables セクションを参照してください。

(JIRA:RHELPLAN-49954)

IdM が、証明書管理用の新しい Ansible システムロールに対応

Identity Management (IdM) は、証明書管理タスクを自動化するために新しい Ansible システムロールをサポートします。新しいロールには以下の利点があります。

  • このロールは、証明書の発行および更新を自動化するのに役立ちます。
  • ロールは、ipa 認証局が証明書を発行するように設定できます。このようにして、既存の IdM インフラストラクチャーを使用して、証明書トラストチェーンを管理できます。
  • このロールでは、サービスの停止や開始など、証明書の発行前および発行後に実行するコマンドを指定できます。

(JIRA:RHELPLAN-50002)

Identity Management が FIPS に対応

今回の機能拡張により、Identity Management (IdM) の認証メカニズムを使用して、連邦情報処理標準 (FIPS) によって承認された暗号化タイプを使用できるようになりました。IdM と Active Directory との間のフォレスト間の信頼は、FIPS に準拠していないことに注意してください。

FIPS が必要なにもかかわらず、AD 信頼を必要としないお客様は、FIPS モードで IdM をインストールできるようになりました。

(JIRA:RHELPLAN-43531)

idm:DL1 の OpenDNSSEC がバージョン 2.1 にリベース

idm:DL1 モジュールストリームの OpenDNSSEC コンポーネントが、現在の長期アップストリームサポートバージョンの 2.1 バージョンシリーズにアップグレードされました。opendnssec は、DNSSEC (Domain Name System Security Extensions) の導入を促進するオープンソースプロジェクトで、インターネットセキュリティーをさらに強化します。opendnssec 2.1 では、以前のバージョンに対するバグ修正および機能拡張が数多く追加されました。詳細は、アップストリームのリリースノート https://www.opendnssec.org/archive/releases/ を参照してください。

(JIRA:RHELPLAN-48838)

IdM が、新しいシステム全体の暗号化ポリシーで非推奨の RC4 暗号スイートに対応

今回の更新で、Identity Management (IdM) で Rivest Cipher 4 (RC4) 暗号スイートを有効にする新しい AD-SUPPORT 暗号化サブポリシーが導入されました。

IdM-Active Directory (AD) フォレスト間の信頼のコンテキストで管理者は、AD が Advanced Encryption Standard (AES) を使用するように設定されていない場合に、新しい AD-SUPPORT サブポリシーをアクティブにできます。具体的には、以下の条件のいずれかが当てはまる場合は、Red Hat では新しいサブポリシーを有効にすることを推奨します。

  • AD のユーザーまたはサービスアカウントには RC4 暗号化キーがあり、AES 暗号化キーがありません。
  • 個々の Active Directory ドメイン間の信頼リンクには RC4 暗号化鍵があり、AES 暗号化キーがありません。

DEFAULT 暗号化ポリシーに加えて AD-SUPPORT サブポリシーを有効にするには、以下を入力します。

 # update-crypto-policies --set DEFAULT:AD-SUPPORT

または、強力な AES 暗号化タイプをサポートするように AD フォレスト内の AD ドメイン間で信頼をアップグレードするには、Microsoft の記事を参照してください: AD DS: セキュリティー: 信頼されたドメインのリソースにアクセスしているときの KerberosUnsupported etype エラー

(BZ#1851139)

新しい Microsoft LDAP チャンネルバインディングおよび LDAP 署名要件への調整

最近の Microsoft の更新では、Active Directory (AD) が、LDAP チャネルバインディングおよび LDAP 署名のデフォルトの Windows 設定を使用しないクライアントにフラグを付けます。これにより、AD との直接統合または間接統合に System Security Services Daemon (SSSD) を使用する RHEL システムは、Generic Security Services Application Program Interface (GSSAPI) を使用する Simple Authentication and Security Layer (SASL) 操作が正常に実行されると、AD でエラーイベント ID をトリガーする可能性があります。

これらの通知を回避するには、GSSAPI の代わりに Simple および Protected GSSAPI Negotiation Mechanism (GSS-SPNEGO) SASL メカニズムを使用するようにクライアントアプリケーションを設定します。SSSD を設定するには、ldap_sasl_mech オプションを GSS-SPNEGO に設定します。

さらに、チャネルバインディングが AD 側で適用されている場合、以下のように SSL/TLS で SASL を使用するシステムを設定します。

  1. RHEL 8.3 以降に同梱された cyrus-sasl パッケージ、openldap パッケージ、および krb5-libs パッケージの最新バージョンをインストールします。
  2. /etc/openldap/ldap.conf ファイルで、SASL_CBINDING オプションを tls-endpoint に設定して正しいチャネルバインディングタイプを指定します。

詳細は、Is of Microsoft Security Advisory ADV190023 | LDAP Channel Binding and LDAP Signing on RHEL and AD integration を参照してください。

(BZ#1873567)

SSSD、adcli、および realmd が、新しいシステム全体の暗号化ポリシーで非推奨の RC4 暗号スイートに対応するようになりました。

今回の更新で、以下のユーティリティーの Rivest Cipher 4 (RC4) 暗号スイートを有効にする新しい AD-SUPPORT 暗号化サブポリシーが導入されました。

  • System Security Services Daemon (SSSD)
  • adcli
  • realmd

管理者は、以下のシナリオで Active Directory (AD) が Advanced Encryption Standard (AES) を使用するように設定されていない場合に、新しい AD-SUPPORT サブポリシーをアクティブにすることができます。

  • SSSD は、AD に直接接続された RHEL システムで使用されます。
  • adcli は、AD ドメインに参加したり、ホストキーなどのホスト属性を更新するために使用されます。
  • realmd は、AD ドメインに参加させるために使用されます。

Red Hat は、以下の条件のいずれかが当てはまる場合は、新しいサブポリシーを有効にすることを推奨します。

  • AD のユーザーまたはサービスアカウントには RC4 暗号化キーがあり、AES 暗号化キーがありません。
  • 個々の Active Directory ドメイン間の信頼リンクには RC4 暗号化鍵があり、AES 暗号化キーがありません。

DEFAULT 暗号化ポリシーに加えて AD-SUPPORT サブポリシーを有効にするには、以下を入力します。

 # update-crypto-policies --set DEFAULT:AD-SUPPORT

(BZ#1866695)

authselect に新しい minimal プロファイル

authselect ユーティリティーには minimal プロファイルが新しくなりました。このプロファイルを使用すると、他の認証プロバイダーを使用する代わりに、ローカルユーザーおよびグループだけがシステムファイルから直接提供できます。したがって、SSSDwinbind パッケージ、および fprintd パッケージを安全に削除し、ディスクおよびメモリー領域の保存に最小限のインストールを必要とするシステムでこのプロファイルを使用できます。

(BZ#1654018)

SSSD が、パスワードをローテーションする際に Samba の secrets.tdb ファイルを更新するようになりました。

sssd.conf ファイルの新しい ad_update_samba_machine_account_password オプションが RHEL で利用できるようになりました。Samba の使用時にマシンのドメインパスワードをローテーションする際に、SSSD を使用して Samba の secrets.tdb ファイルを自動的に更新できます。

ただし、SELinux が Enforcing モードの場合、SSSD は secrets.tdb ファイルの更新に失敗します。そのため、Samba は新しいパスワードにアクセスできません。この問題を回避するには、SELinux を Permissive モードに設定します。

(BZ#1793727)

SSSD がデフォルトで AD GPO を強制するようになりました。

SSSD オプション ad_gpo_access_control のデフォルト設定が Enforcing になりました。RHEL 8 では、SSSD は、デフォルトで Active Directory Group Policy Objects (GPO) に基づいてアクセス制御ルールを強制します。

Red Hat は、RHEL 7 から RHEL 8 にアップグレードする前に、Active Directory で GPO が正しく設定されていることを確認することを推奨します。GPO を強制しない場合は、/etc/sssd/sssd.conf ファイルの ad_gpo_access_control オプションの値を permissive に変更します。

(JIRA:RHELPLAN-51289)

Directory Server が pwdReset 操作属性をサポート

今回の機能拡張で、Directory Server に pwdReset 操作属性のサポートが追加されました。管理者がユーザーのパスワードを変更すると、Directory Server は、ユーザーのエントリーの pwdResettrue に設定します。アプリケーションはこの属性を使用して、管理者がユーザーのパスワードをリセットしたかどうかを識別できます。

pwdReset は運用属性であるため、ユーザーはこれを編集できないことに注意してください。

(BZ#1775285)

Directory Server が RESULT エントリーで作業および操作時間のログを記録するようになりました。

今回の更新で、Directory Server は、/var/log/dirsrv/slapd-<instance_name>/access ファイルの RESULT エントリーに追加の時間値をログ記録するようになりました。

  • wtime の値は、操作が作業キューからワーカースレッドに移動するのにかかった時間を示します。
  • optime の値は、ワーカースレッドが操作を開始した後に実際に操作が完了するのにかかった時間を示します。

新たに追加されたこの値で、Directory Server が読み込みやプロセス操作を処理する方法などの情報が追加で提供されます。

詳細は、Red Hat Directory Server の設定、コマンド、およびファイルリファレンスの アクセスログリファレンス を参照してください。

(BZ#1850275)

5.1.14. デスクトップ

単一アプリケーションセッションが利用できるように

kiosk モード とも呼ばれる 1 つのアプリケーションセッションで GNOME を起動できるようになりました。このセッションでは、GNOME は、設定したアプリケーションのフルスクリーンウィンドウのみを表示します。

単一アプリケーションセッションを有効にするには、以下を行います。

  1. gnome-session-kiosk-session パッケージをインストールします。

    # yum install gnome-session-kiosk-session
  2. 単一アプリケーションセッションを開くユーザーの $HOME/.local/bin/redhat-kiosk ファイルを作成して編集します。

    ファイルに、起動するアプリケーションの実行ファイル名を入力します。

    たとえば、Text Editor アプリケーションを起動するには、以下を実行します。

    #!/bin/sh
    
    gedit &
  3. ファイルを実行可能にします。

    $ chmod +x $HOME/.local/bin/redhat-kiosk
  4. GNOME ログイン画面で、歯車ボタンメニューから Kiosk セッションを選択し、シングルアプリケーションユーザーとしてログインします。

(BZ#1739556)

TigerVNC がバージョン 1.10.1 にリベース

tigervnc スイートがバージョン 1.10.1. にリベースされました。この更新には、修正および改善点が多数含まれています。以下に例を示します。

  • TigerVNC は、systemd サービスマネージャーを使用した仮想ネットワークコンピューティング (VNC) サーバーの起動のみをサポートするようになりました。
  • ネイティブビューアーの WinVNC、および Xvnc/libvnc.so で完全な Unicode に対応するようになりました。
  • ネイティブクライアントは、サーバー証明書を検証する際にシステムトラストストアを認識するようになりました。
  • Java Web サーバーが削除されました。
  • X0vncserver は、ローカル接続のみを許可するよう設定できるようになりました。
  • X0vncserver は、ディスプレイの一部だけが共有されている場合に限り修正を受け取れています。
  • ポーリングは WinVNC でデフォルトになりました。
  • VMware の VNC サーバーとの互換性が改善しました。
  • macOS での一部の入力メソッドとの互換性が改善されました。
  • JPEG artefacts の自動 repair が改善されました。

(BZ#1806992)

5.1.15. グラフィックインフラストラクチャー

新しいグラフィックカードのサポートが追加されました。

以下のグラフィックカードが完全にサポートされるようになりました。

  • 以下のモデルを含む AMD Navi 14 ファミリー

    • Radeon RX 5300
    • Radeon RX 5300 XT
    • Radeon RX 5500
    • Radeon RX 5500 XT
  • 以下のモデルを含む AMD Renoir APU ファミリー

    • Ryzen 3 4300U
    • Ryzen 5 4500U、4600U、および 4600H
    • Ryzen 7 4700U、4800U、および 4800H
  • 以下のモデルを含む AMD Dali APU ファミリー:

    • Athlon Silver 3050U
    • Athlon Gold 3150U
    • Ryzen 3 3250U

さらに、以下のグラフィックドライバーが更新されました。

  • Matrox mgag200 ドライバー

(JIRA:RHELPLAN-55009)

ハードウェアアクセラレーション (Nvidia Volta および Turing)

nouveau グラフィックドライバーが、Nvidia Volta および Turing GPU ファミリーのハードウェアアクセラレーションをサポートするようになりました。その結果、3D グラフィックスを使用するデスクトップおよびアプリケーションが GPU で効率的にレンダリングされるようになりました。また、これにより他のタスクの CPU が解放され、システム全体の応答性が向上します。

(JIRA:RHELPLAN-57564)

XWayland でのディスプレイテアリングの減少

XWayland ディスプレイバックエンドは、XPresent 拡張を有効にします。XPresent を使用すると、アプリケーションはウィンドウコンテンツを効率的に更新できるため、表示表示が削減されます。

この機能は、3D エディターなど、フルスクリーンの OpenGL アプリケーションのユーザーインターフェイスのレンダリングを大幅に改善します。

(JIRA:RHELPLAN-57567)

Intel Tiger Lake GPU に対応

今回の更新で、GPU の Intel Tiger Lake ファミリーがサポートされるようになりました。これには、CPU モデルで見つかった Intel UHD Graphics および Intel Xe GPU が含まれます (https://ark.intel.com/content/www/us/en/ark/products/codename/88759/tiger-lake.html)。

Tiger Lake GPU サポートを有効にするために、i915.alpha_support=1 または i915.force_probe=* カーネルオプションを設定する必要がなくなりました。

この機能拡張は、RHSA-2021:0558 非同期アドバイザリーの一部としてリリースされています。

(BZ#1882620)

5.1.16. Web コンソール

Web コンソールセッション内からの権限の設定

Web コンソールには、ユーザーセッション内から管理アクセスと制限付きアクセスを切り替えるオプションがあります。Web コンソールセッションの Administrative access または Limited access をクリックして、モードを切り替えることができます。

(JIRA:RHELPLAN-42395)

ログ検索の改善

今回の更新により、Web コンソールでは、ユーザーがログ間で検索する方法に関する新しい方法をサポートする検索ボックスが導入されました。検索ボックスでは、ログメッセージの検索、サービスの指定、または特定のログフィールドによるエントリーの検索をサポートします。

(BZ#1710731)

概要ページでは、より多くの Insights レポートが表示されます。

今回の更新により、マシンが Red Hat Insights に接続されると、Web コンソールの Overview ページの Health カードに、ヒットの数とその優先度に関する詳細情報が表示されるようになりました。

(JIRA:RHELPLAN-42396)

5.1.17. Red Hat Enterprise Linux システムロール

RHEL システムロールに追加された ターミナルログロール

今回の機能拡張により、rhel-system-roles パッケージに同梱された RHEL システムロールに新しいターミナルログ (TLOG) ロールが追加されました。ユーザーは、tlog ロールを使用して、Ansible を使用してセッションの録画を設定し、設定できるようになりました。

現在、tlog ロールは次のタスクに対応します。

  • systemd ジャーナルに記録データのログを記録するように tlog を設定する
  • SSSD を使用して、明示的なユーザーおよびグループに対するセッション録画を有効にする

(BZ#1822158)

RHEL Logging システムロールが Ansible で利用可能になりました。

Logging システムロールを使用すると、ローカルおよびリモートホストにさまざまなロギング設定を一貫してデプロイできます。RHEL ホストをサーバーとして設定して、多くのクライアントシステムからログを収集できます。

(BZ#1677739)

rhel-system-roles-sap に完全対応

以前はテクノロジープレビューとして利用できた rhel-system-roles-sap パッケージが完全にサポートされるようになりました。SAP 向けの Red Hat Enterprise Linux (RHEL) システムロールを提供します。これを使用して、RHEL システムの設定を自動化して SAP ワークロードを実行できます。これらのロールは、関連する SAP ノート記載のベストプラクティスに基づいて最適な設定を自動的に適用することで、SAP ワークロードを実行するようにシステムを設定する時間を大幅に短縮できます。アクセスは、RHEL for SAP Solutions 製品に限定されます。サブスクリプションに関するサポートが必要な場合は、Red Hat カスタマーサポートまでご連絡ください。

rhel-system-roles-sap パッケージの以下の新しいロールが完全にサポートされています。

  • sap-preconfigure
  • sap-netweaver-preconfigure
  • sap-hana-preconfigure

詳細は、Red Hat Enterprise Linux System Roles for SAP を参照してください。

(BZ#1660832)

Ansible で RHEL システムロール metrics が利用可能

metric の RHEL システムロールを使用すると、ローカルおよびリモートホスト用に設定できます。

  • pcp アプリケーションによるパフォーマンス分析サービス
  • grafana サーバーを使用したこのデータの視覚化
  • これらのサービスを手動で設定せずに、redis データソースを使用したこのデータのクエリー。

(BZ#1890499)

rhel-system-roles-sap がアップグレード

rhel-system-roles-sap パッケージがアップストリームバージョン 2.0.0 にアップグレードし、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • ホスト名の設定とチェックを改善
  • uuidd ステータスの検出および処理を改善
  • --check(-c) オプションのサポートを追加
  • nofile 制限を 32800 から 65536 へ増加
  • nfs-utils ファイルを sap_preconfigure_packages* に追加します。
  • firewalld を無効にします。この変更により、firewalld は、インストールされている場合に限り無効にします。
  • RHEL 8.0 および RHEL 8.1 の setup パッケージの最小バージョンを追加します。
  • tmpfiles.d/sap.conf ファイル処理を改善
  • 単一のステップの実行または SAP ノートのチェックをサポートします。
  • 必要な compat-sap-c++ パッケージの追加
  • パッケージ最小インストール処理の改善
  • RHEL システムロールの適用後に再起動が必要であるかどうかを検出する
  • SElinux 状態の設定をサポートします。デフォルトの状態は、"disabled" です。
  • 同じ IP アドレスを持つ複数の行がある場合に失敗しなくなりました。
  • sap_ip を含む行が複数ある場合に /etc/hosts が変更されなくなりました。
  • RHEL 7.7 での HANA のサポート
  • ppc64le プラットフォームの SAP HANA に必要な IBM サービスおよび生産ツール用のリポジトリーの追加をサポート

(BZ#1844190)

RHEL システムロール storage がファイルシステム管理に対応

今回の機能強化により、管理者は、storage RHEL システムロールを使用して以下を実行できるようになりました。

  • ext4 ファイルシステムのサイズ変更
  • LVM ファイルのサイズ変更
  • swap パーティションを作成します (存在する場合)。デフォルトのパラメーターを使用するブロックデバイスに swap パーティションを変更します。

(BZ#1959289)

5.1.18. 仮想化

互換性のない TSC 設定を持つホストへの仮想マシンの移行が速くなりました。

以前のリリースでは、TSC (Time Stamp Counter) 設定がないホストに仮想マシンを移行すると、プロセスでレイテンシーが発生していました。今回の更新により、移行の試行により、移行プロセスが開始する前にエラーが生成されるようになりました。

(JIRA:RHELPLAN-45950)

第 2 世代 AMD EPYC プロセッサーの仮想化サポート

今回の更新で、RHEL 8 の仮想化で、第 2 世代 AMD EPYC プロセッサー (EPYC Rome としても知られる) のサポートが追加されました。これにより、RHEL 8 でホストされる仮想マシンは EPYC-Rome CPU モデルを使用し、プロセッサーが提供する新機能を使用できるようになりました。

(JIRA:RHELPLAN-45959)

新しいコマンド: virsh iothreadset

今回の更新で、virsh iothreadset コマンドが追加されました。これは、動的な IOThread ポーリングを設定するのに使用できます。これにより、IOThread の CPU 消費よりも、レイテンシーが低くなるため、I/O 集約型のワークロードで仮想マシンを設定できるようになります。特定のオプションは、man ページの virsh を参照してください。

(JIRA:RHELPLAN-45958)

第 10 世代 Intel Core プロセッサーでは、UMIP が KVM で対応

今回の更新で、第 10 世代 Intel Core プロセッサー (Ice Lake Server とも呼ばれる) で実行されるホストの、User-mode Instruction Prevention (UMIP) 機能が、KVM で対応するようになりました。sgdtsidtsldtsmswstr などの特定の命令が、現在の Privilege Level (CPL) が 0 よりも大きい場合に、UMIP 機能は一般的な保護例外を発行します。その結果、UMIP は、承認されていないアプリケーションが、特権昇格攻撃を開始するために使用できる特定のシステム全体の設定にアクセスできないことで、システムセキュリティーを確保します。

(JIRA:RHELPLAN-45957)

libvirt ライブラリーがメモリー帯域幅の割り当てに対応

libvirt が、メモリー帯域幅の割り当て (MBA) に対応するようになりました。MBA の場合、<cputune> セクションの <memorytune> 要素を使用して、vCPU スレッドのホストメモリー帯域幅の一部を割り当てることができます。

MBA は、Intel Xeon v4 プロセッサーにある既存の Cache QoS Enforcement (CQE) 機能 (Broadwell サーバーとも呼ばれる) の拡張機能です。CPU アフィニティーに関連付けられたタスクの場合、MBA が使用するメカニズムは CQE と同じになります。

(JIRA:RHELPLAN-45956)

RHEL 6 仮想マシンが Q35 マシンタイプに対応

ゲスト OS として RHEL 6 を使用する RHEL 8 でホストされる仮想マシン (VM) が、より現代的な PCI Express ベースのマシンタイプである Q35 を使用できるようになりました。これにより、仮想デバイスの機能とパフォーマンスに様々な改善が行われ、最新の広範囲なデバイスで RHEL 6 VM への互換性が保証されます。

(JIRA:RHELPLAN-45952)

ログに記録されたすべての QEMU イベントにタイムスタンプが付けられました。これにより、/var/log/libvirt/qemu/ ディレクトリーに保存されているログを使用して、仮想マシンをより簡単にトラブルシューティングできます。

QEMU ログに spice-server イベントのタイムスタンプが含まれる

今回の更新で、タイムスタンプが `spice-server` のイベントログに追加されます。そのため、ログに記録されたすべての QEMU イベントにはタイムスタンプが含まれるようになりました。これにより、/var/log/libvirt/qemu/ ディレクトリーに保存されているログを使用して、仮想マシンをより簡単にトラブルシューティングできます。

(JIRA:RHELPLAN-45945)

bochs-display デバイスへの対応

RHEL 8.3 以降では、Bochs 表示デバイスが導入され、現在使用されている stdvga デバイスよりも安全です。bochs-display と互換性があるすべての仮想マシンはデフォルトでこれを使用することに注意してください。これには、主に UEFI インターフェイスを使用する仮想マシンが含まれます。

(JIRA:RHELPLAN-45939)

仮想マシンの MDS 保護の最適化

今回の更新で、RHEL 8 ホストは、Microarchitectural Data Sampling (MDS) に対して脆弱であるかどうかを仮想マシン (VM) に通知します。脆弱ではない仮想マシンは MDS に対する計測値を使用しません。これにより、パフォーマンスが向上します。

(JIRA:RHELPLAN-45937)

RBD での QCOW2 ディスクイメージの作成がサポートされるようになりました。

今回の更新により、RADOS Block Device (RBD) ストレージに QCOW2 ディスクイメージを作成できるようになりました。その結果、仮想マシンは、QCOW2 イメージでストレージバックエンドに RBD サーバーを使用することができます。

ただし、RBD ストレージ上の QCOW2 ディスクイメージの書き込みパフォーマンスは、現在予定よりも低いことに注意してください。

(JIRA:RHELPLAN-45936)

サポートされる VFIO デバイスの最大数が 64 に増加

今回の更新で、VFIO を使用する 64 PCI デバイスを RHEL 8 ホストの 1 台の仮想マシンに割り当てることができるようになりました。これは、RHEL 8.2 以前の 32 から増えています。

(JIRA:RHELPLAN-45930)

QEMU/KVM で discard コマンドと write-zeroes コマンドに対応

今回の更新で、virtio-blkdiscard コマンドおよび write-zeroes コマンドが QEMU/KVM でサポートされるようになりました。したがって、仮想マシンは virtio-blk デバイスを使用して SSD の未使用のセクターを破棄し、割りがついているときにセクターをゼロで埋めます。これは、SSD のパフォーマンスを向上させる場合や、ドライブが安全に消去されていることを確認するために使用できます。

(JIRA:RHELPLAN-45926)

RHEL 8 が IBM POWER 9 XIVE に対応

今回の更新で、IBM POWER9 の External Interrupt Virtualization Engine (XIVE) 機能のサポートが RHEL 8 に導入されています。これにより、IBM POWER 9 システムの RHEL 8 ハイパーバイザーで実行している仮想マシンは、XIVE を使用して、I/O 集約型仮想マシンのパフォーマンスを向上できます。

(JIRA:RHELPLAN-45922)

仮想マシンの Control Group v2 に対応

今回の更新で、libvirt スイートがコントロールグループ v2 をサポートするようになりました。これにより、RHEL 8 でホストされる仮想マシンは、コントロールグループ v2 のリソース制御機能を利用できます。

(JIRA:RHELPLAN-45920)

準仮想化 IPI が Windows 仮想マシンで対応

今回の更新で、Windows 仮想マシン (VM) のサポートされるハイパーバイザー Enlightenment に hv_ipi フラグが追加されました。これにより、ハイパーコールを介してプロセッサー間割り込み (IPI) を送信できます。これにより、Windows OS を実行している仮想マシンでは、IPI を高速に実行することができます。

(JIRA:RHELPLAN-45918)

ディスクキャッシュが有効な仮想マシンの移行が可能になりました

今回の更新で、RHEL 8 KVM ハイパーバイザーが、ディスクキャッシュのライブマイグレーションと互換性があります。その結果、ディスクキャッシュが有効にされている仮想マシンのライブマイグレーションが可能になりました。

(JIRA:RHELPLAN-45916)

非特権セッションの仮想マシンで macvtap インターフェイスを使用できるようになりました。

特権プロセスで事前に作成した macvtap インターフェイスを仮想マシンで使用することができます。特に、libvirtd の非特権 user セッションで起動した仮想マシンが、macvtap インターフェイスを使用できるようにします。

そのためには、まず特権環境で macvtap インターフェイスを作成し、非特権セッションで libvirtd を実行するユーザーに所有されるように設定します。これは、Web コンソールなどの管理アプリケーションを使用するか、root としてコマンドラインユーティリティーを使用して実行できます。以下に例を示します。

# ip link add link en2 name mymacvtap0 address 52:54:00:11:11:11 type macvtap mode bridge
# chown myuser /dev/tap$(cat /sys/class/net/mymacvtap0/ifindex)
# ip link set mymacvtap0 up

その後、仮想マシンの <interface> 設定のサブ要素 <target > を変更し、新たに作成された macvtap インターフェイスを参照します。

  <interface type='ethernet'>
     <model type='virtio'/>
     <mac address='52:54:00:11:11:11'/>
     <target dev='mymacvtap0' managed='no'/>
   </interface>

この設定では、libvirtd がユーザー myuser として実行すると、仮想マシンは起動時に既存の macvtap インターフェイスを使用します。

(JIRA:RHELPLAN-45915)

仮想マシンは、第 10 世代 Intel Core プロセッサーの機能を使用できるようになりました。

Icelake-Server および Icelake-Client CPU モデル名が仮想マシンで利用可能になりました。第 10 世代 Intel Core プロセッサーを持つホストで、Icelake-Server または Icelake-Client を仮想マシンの XML 設定の CPU タイプとして使用すると、これらの CPU の新機能が仮想マシンに公開されます。

(JIRA:RHELPLAN-45911)

QEMU が LUKS 暗号化に対応

今回の更新で、LUKS (Linux Unified Key Setup) 暗号化を使用して仮想ディスクを作成できるようになりました。仮想マシンの XML 設定に <encryption> フィールドを追加して、ストレージボリュームの作成時にディスクを暗号化できます。また、XML 設定ファイルにディスクのドメイン定義に <encryption> フィールドを追加して、LUKS 暗号化仮想ディスクを完全に仮想マシンに透過的にすることもできます。

(JIRA:RHELPLAN-45910)

nbdkit のログの改善

nbdkit サービスロギングが冗長化されるように変更されました。その結果、nbdkit は重要なメッセージのみをログに記録し、virt-v2v 変換中に作成されたログは短くなり、解析が容易になりました。

(JIRA:RHELPLAN-45909)

仮想マシンの SELinux セキュリティーラベルおよびパーミッションの一貫性を強化

今回の更新で、libvirt サービスは、ファイルに関連する SELinux セキュリティーラベルとパーミッションを記録し、ファイルの変更後にラベルを復元できるようになりました。したがって、たとえば libguestfs ユーティリティーを使用して、特定のユーザーが所有している仮想マシン (VM) のディスクイメージを変更しても、イメージの所有者が root に変更されなくなりました。

この機能は、NFS などの拡張ファイル属性に対応していないファイルシステムでは機能しないことに注意してください。

(JIRA:RHELPLAN-45908)

QEMU が XTS 暗号のグ gcrypt ライブラリーを使用するようになりました。

今回の更新で、QEMU エミュレーターが、gcrypt ライブラリーが提供する XTS 暗号モード実装を使用するように変更になりました。これにより、ホストストレージが QEMU のネイティブ luks 暗号化ドライバーを使用する仮想マシンの I/O パフォーマンスが改善されます。

(JIRA:RHELPLAN-45904)

Windows Virtio ドライバーが Windows の更新を使用して更新可能に

今回の更新で、QEMU の起動時に、新しい仕様 SMBIOS 文字列がデフォルトで開始されるようになりました。SMBIOS フィールドで提供されるパラメーターにより、仮想マシンで実行している仮想ハードウェアの ID を生成できます。これにより、Windows Update は仮想ハードウェアと RHEL ハイパーバイザーマシンタイプを特定し、Windows 10+、Windows Server 2016、および Windows Server 2019+ を実行している仮想マシンで Virtio ドライバーを更新できます。

(JIRA:RHELPLAN-45901)

新しいコマンド: virsh guestinfo

virsh guestinfo コマンドが RHEL 8.3 に導入されました。これにより、仮想マシンに関する以下のタイプの情報を報告できます。

  • ゲスト OS およびファイルシステム情報
  • アクティブなユーザー
  • 使用されるタイムゾーン

virsh guestinfo を実行する前に、qemu-guest-agent パッケージがインストールされていることを確認します。また、以下のように、仮想マシンの XML 設定で guest_agent チャンネルを有効にする必要があります。

<channel type='unix'>
   <target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>

(JIRA:RHELPLAN-45900)

BFLOAT16 入力の VNNI が KVM で対応する

今回の更新で、BFLOAT16 入力に対応する Vector Neural Network Instructions (VNNI) は、AVX512_BF16 命令とも呼ばれる、KVM が 3rd Gen Intel Xeon スケーラブルプロセッサー (Cooper Lake とも呼ばれる) で実行されるホストの KVM でサポートされるようになりました。その結果、ゲストソフトウェアは、仮想 CPU 設定で有効にすることで、仮想マシン内の AVX512_BF16 命令を使用できるようになりました。

(JIRA:RHELPLAN-45899)

新しいコマンド: virsh pool-capabilities

RHEL 8.3 には、virsh pool-capabilities コマンドオプションが追加されました。このコマンドは、ホスト上のストレージプールおよび各プール内のストレージボリュームの作成に使用できる情報を表示します。これには以下が含まれます。

  • ストレージプールの種類
  • ストレージプールのソース形式
  • ターゲットストレージボリュームの形式タイプ

(JIRA:RHELPLAN-45884)

Intel Xeon Platinum 9200 シリーズプロセッサーを持つ仮想マシンで CPUID.1F のサポート

今回の更新で、RHEL 8 でホストされる仮想マシンは、拡張 Topology Enumeration リーフ機能 (CPUID.1F) を使用して、複数のロールの仮想 CPU トポロジーで設定できるようになりました。この機能は、以前は Cascade Lake として知られる Intel Xeon Platinum 9200 シリーズプロセッサーでサポートされます。これにより、Intel Xeon Platinum 9200 シリーズプロセッサーを使用するホストで、ホストの物理 CPU トポロジーをミラーリングする vCPU トポロジーを作成できるようになりました。

(JIRA:RHELPLAN-37573、JIRA:RHELPLAN-45934)

仮想マシンが第 3 世代 Intel Xeon Scalable プロセッサーの機能を使用可能に

Cooperlake CPU モデル名が仮想マシン (VM) で利用可能になりました。Cooperlake を仮想マシンの XML 設定の CPU タイプとして使用すると、ホストがこの CPU を使用する場合は、仮想マシンに公開される 3 世代 Intel Xeon Scalable Processor の新機能が作成されます。

(JIRA:RHELPLAN-37570)

KVM で Intel Optane 永続メモリーに対応

今回の更新で、RHEL 8 でホストされる仮想マシンは、Intel Crystal Ridge として知られる Intel Optane 永続メモリー技術の利点を活用できるようになりました。Intel Optane 永続メモリーストレージデバイスは、データセンタークラスの永続メモリー技術を提供し、トランザクションのスループットを大幅に向上させます。

(JIRA:RHELPLAN-14068)

仮想マシンで Intel プロセッサートレースを使用可能に

今回の更新で、RHEL 8 でホストされる仮想マシン (VM) が Intel プロセッサートレース (PT) 機能を使用できるようになりました。ホストが Intel PT をサポートする CPU を使用する場合は、特殊な Intel ソフトウェアを使用して、仮想マシンの CPU のパフォーマンスに関するさまざまなメトリックスを収集できます。また、仮想マシンの XML 設定で intel-pt 機能も有効にする必要があります。

(JIRA:RHELPLAN-7788)

DASD デバイスが IBM Z の仮想マシンに割り当てられる

DASD (ダイレクトアクセスストレージデバイス) は、特定のストレージ機能を提供します。この vfio-ccw 機能を使用すると、DASD を仲介デバイスとして IBM Z ホストの仮想マシンに割り当てることができます。たとえば、仮想マシンは z/OS データセットにアクセスするか、割り当てられた DASD を z/OS マシンと共有できます。

(JIRA:RHELPLAN-40234)

IBM Z でサポートされる IBM Secure Execution

IBM Z ハードウェアを使用して RHEL 8 ホストを実行する場合は、仮想マシンの IBM Secure Execution を設定して、仮想マシンのセキュリティーを強化できます。IBM Secure Execution (Protected Virtualization とも呼ばれる) は、ホストシステムが仮想マシンの状態とメモリーのコンテンツにアクセスできないようにします。

その結果、ホストが危険にさらされても、ゲストオペレーティングシステムを攻撃するベクトルとして使用できません。さらに、セキュア実行を使用して、信頼できないホストが仮想マシンから機密情報を取得しないようにすることもできます。

(JIRA:RHELPLAN-14754)

5.1.19. クラウド環境の RHEL

cloud-utils-growpart が 0.31 にリベース

cloud-utils-growpart パッケージがバージョン 0.31 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • GPT ディスクが 2TB を超えるのを妨げるバグが修正されました。
  • growpart 操作は、開始セクターとサイズが同じ場合に失敗しなくなりました。
  • 以前は sgdisk ユーティリティーを使用してパーティションのサイズを変更できない場合があります。この問題は修正されています。

(BZ#1846246)

5.1.20. コンテナー

skopeo コンテナーイメージが利用可能に

registry.redhat.io/rhel8/skopeo コンテナーイメージは、skopeo パッケージをコンテナー化した実装です。skopeo ツールは、コンテナーイメージおよびイメージリポジトリーでさまざまな操作を実行するコマンドラインユーティリティーです。このコンテナーイメージを使用すると、レジストリー内のコンテナーイメージを検査し、レジストリーからコンテナーイメージを削除し、認証されていないあるコンテナーレジストリーから別のコンテナーレジストリーにコンテナーイメージをコピーすることができます。registry.redhat.io/rhel8/skopeo コンテナーイメージをプルするには、アクティブな Red Hat Enterprise Linux サブスクリプションが必要です。

(BZ#1627900)

buildah コンテナーイメージが利用可能に

registry.redhat.io/rhel8/buildah コンテナーイメージは、buildah パッケージをコンテナー化した実装です。buildah ツールは、OCI コンテナーイメージの構築を容易にします。このコンテナーイメージを使用すると、システムに buildah パッケージをインストールしなくても、コンテナーイメージをビルドできます。このユースケースでは、root 以外のユーザーとして rootless モードでこのイメージを実行することを説明しません。registry.redhat.io/rhel8/buildah コンテナーイメージをプルするには、アクティブな Red Hat Enterprise Linux サブスクリプションが必要です。

(BZ#1627898)

Podman v2.0 RESTful API が利用可能に

varlink ライブラリーに基づいて古いリモート API に代わる、新しい REST ベースの Podman 2.0 API。新規 API はルートフル環境およびルートレス環境の両方で機能し、docker 互換レイヤーを提供します。

(JIRA:RHELPLAN-37517)

Podman のインストールには、 container-selinux は必要ありません。

今回の機能拡張により、コンテナービルド時に container-selinux パッケージのインストールはオプションになりました。その結果、Podman に他のパッケージの依存関係が少なくなる

(BZ#1806044)