第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#1691319、BZ#1679893、BZ#1684045、BZ#1688478、BZ#1700450、BZ#1720145、BZ#1723888、BZ#1754977、BZ#1755996、BZ#1784360、BZ#1796310、BZ#1871680)
RHEL インストールプログラムの GUI の変更点
RHEL インストールプログラムには、インストール概要画面に以下のユーザー設定が追加されました。
- root パスワード
- ユーザーの作成
この変更により、インストールを開始する前に root パスワードを設定し、ユーザーアカウントを作成できるようになりました。以前は、インストールプロセス開始後に、root パスワードを設定してユーザーアカウントを作成していました。
root パスワードは、管理者 (スーパーユーザーまたは root としても知られている) アカウントにログインし、システム管理タスクに使用されます。コマンドラインからログインするには、ユーザー名を使用します。グラフィカル環境をインストールする場合、グラフィカルログインマネージャーは、フルネームを使用します。詳細は 標準的な RHEL インストールの実行 を参照してください。
(JIRA:RHELPLAN-40469)
Image Builder バックエンド osbuild-composer
が lorax-composer
に置き換え
osbuild-composer
バックエンドは、lorax-composer
を置き換えます。新しいサービスには、イメージビルド向けの REST API が含まれます。その結果、ユーザーはより信頼性の高いバックエンドと予測可能な出力イメージの利点を活用できます。
(BZ#1836211)
Image Builder の osbuild-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 Builder で Azure
および 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
オプションが存在することを確認してください。
dnf reposync
コマンドの新しい --norepopath
オプションが利用できるようになりました。
以前のバージョンでは、reposync
コマンドは、デフォルトでダウンロードした各リポジトリーに対して、--download-path
ディレクトリーにサブディレクトリーを作成していました。今回の更新で、--norepopath
オプションが追加され、reposync
はサブディレクトリーを作成しません。これにより、--download-path
で指定されたディレクトリーにリポジトリーが直接ダウンロードされます。このオプションは、YUM v3 にも存在します。
libdnf
プラグインを有効または無効にする機能
以前は、サブスクリプションチェックは libdnf
プラグインの RHEL バージョンにハードコードされていました。今回の更新で、microdnf
ユーティリティーが libdnf
プラグインを有効または無効にすることができ、DNF と同じようにサブスクリプションチェックを無効にできるようになりました。サブスクリプションの確認を無効にするには、--disableplugin=subscription-manager
コマンドを使用します。すべてのプラグインを無効にするには、--noplugins
コマンドを使用します。
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
コマンドの処理を向上 - ログページのデコードに関するさまざまな改善。
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 が導入されました。これにより、サブキーも使用できます。
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
をサポートするように拡張されました。
tcpdump
がバージョン 4.9.3 にリベース
tcpdump
ユーティリティーがバージョン 4.9.3 に更新され、CVE (Common Vulnerabilities and Exposures) を修正できるようになりました。
libpcap
がバージョン 1.9.1 にリベース
libpcap
パッケージがバージョン 1.9.1 に更新され、CVE (Common Vulnerabilities and Exposures) を修正できるようになりました。
iperf3
がクライアント側で sctp
オプションに対応
今回の機能拡張により、ユーザーはネットワークスループットをテストするクライアント側の TCP (Transmission Control Protocol) の代わりに SCTP (Stream Control Transmission Protocol) を使用できるようになりました。
iperf3
の以下のオプションが、テストのクライアント側で利用できるようになりました。
-
--sctp
-
--xbind
-
--nstreams
詳細は、man ページの iperf3
の Client Specific Options
を参照してください。
(BZ#1665142)
iperf3
が SSL
に対応
今回の機能強化により、ユーザーはクライアントとサーバー間の RSA 認証を使用して、サーバーへの接続を正当なクライアントのみに制限できるようになりました。
iperf3
の以下のオプションがサーバー側で利用できるようになりました。
-
--rsa-private-key-path
-
--authorized-users-path
iperf3
の以下のオプションが、通信のクライアント側で利用できるようになりました。
-
--username
-
--rsa-public-key-path
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
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
は、再起動間のキャッシュを回復できるようになりました。 - 実験的なメタコマンドが新たに追加されました。
- さまざまなパフォーマンス向上。
5.1.6. セキュリティー
Cyrus SASL
は、SASL/GSSAPI
プラグインおよび SASL/GSS-SPNEGO
プラグインを使用したチャンネルバインディングをサポートするようになりました。
今回の更新で、SASL/GSSAPI
プラグインおよび SASL/GSS-SPNEGO
プラグインを使用したチャンネルバインディングのサポートが追加されました。その結果、openldap
ライブラリーで使用すると、この機能は、Cyrus SASL
が LDAP 接続に強制チャンネルバインディングを持つ Microsoft Active Directory および Microsoft Windows システムとの互換性を維持およびアクセスできるようになります。
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 インターフェイスをサポートします。
- 完全なメッシュ暗号化ネットワークでクラッシュおよび再起動するノードの復旧が改善されました。
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
サーバー設定を削除しました。
gnutls
が 3.6.14 にリベース
gnutls
パッケージがアップストリームバージョン 3.6.14 にリベースされました。このバージョンでは、主なバグ修正および機能強化が数多く追加されました。
-
gnutls
は、無効な文字またはフォーマットを含むTime
フィールドのある証明書を拒否するようになりました。 -
gnutls
は、信頼できる CA 証明書で最小キーサイズをチェックするようになりました。 -
暗号化された秘密鍵を表示すると、
certtool
ユーティリティーにプレーンテキストの記述が含まれなくなりました。 -
gnutls
を使用するサーバーが OCSP ステープリングサポートを公開するようになりました。 -
gnutls
を使用するクライアントは、リクエストでのみ OCSP ステープルを送信するようになりました。
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 ビット以上のパラメーターのみを受け入れるようになりました。
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-setup
が crypto-policies-scripts
に移動
crypto-policies
パッケージに含まれていた update-crypto-policies
スクリプトおよび fips-mode-setup
スクリプトは、別の RPM サブパッケージ crypto-policies-scripts
に移動しました。パッケージは、通常のインストールの Recommends 依存関係を使用して自動的にインストールされます。これにより、ubi8/ubi-minimal
イメージが有効になり、Python 言語インタープリターが含まれなくなり、イメージサイズが削減されます。
opensc がバージョン 0.20.0 にリベース
opensc
パッケージがバージョン 0.20.0 にリベースされ、複数のバグやセキュリティー上の問題に対応します。以下は、主な変更点です。
- 今回の更新で、CVE-2019-6502、CVE-2019-15946、CVE-2019-15945、CVE-2019-19480、CVE-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 が、省略記号を使用してリーダー名を切り捨てるようになりました。
stunnel
がバージョン 5.56 にリベース
今回の更新で、stunnel
暗号化ラッパーがアップストリームバージョン 5.56 にリベースされ、新機能やバグ修正が複数追加されました。主な変更には以下のものがあります。
-
発行したセッションチケットの機密性および整合性保護を制御する新しい
ticketKeySecret
オプションおよびticketMacSecret
オプション。これらのオプションにより、クラスターの他のノードのセッションを再開できます。 -
OpenSSL 1.1.0 以降の elliptic 曲線のリストを制御する新しい
curves
オプション。 -
許可される TLS 1.3 暗号スイートのリストを制御する新しい
ciphersuites
スイートオプション。 -
OpenSSL 1.1.0 以降に
sslVersion
、sslVersionMin
、およびsslVersionMax
を追加。
libkcapi
がバージョン 1.2.0 にリベース
libkcapi
パッケージがアップストリームバージョン 1.2.0 にリベースされ、これには若干の変更が含まれています。
(BZ#1683123)
setools
が 4.3.0 にリベース
SELinux ポリシー解析を容易にするために設計されたツールの集合である setools
パッケージが、バージョン 4.3.0 にアップグレードされました。
この更新には、以下を含むバグ修正および機能拡張が含まれています。
-
Type Enforcement (TE) ルールの
sediff
メソッドが改訂され、メモリーおよびランタイムの問題が大幅に削減されました。 -
seinfo
、sediff
、およびapol
に、infiniband
コンテキストサポートが追加されました。 -
オンラインドキュメントを表示するために使用される Qt アシスタントツールの場所の
apol
設定が追加されました。 以下の
sediff
の問題が修正されました。- 要求されない場合に表示するプロパティーヘッダー。
-
type_transition
ファイルの名前比較。
-
マップソケットの
sendto
情報フローの方向のパーミッションが修正されました。 -
完全な Python コレクションを作成するために
TypeAttribute
クラスにメソッドを追加しました。 -
Genfscon
は、libsepol
から削除された固定値を使用するのではなく、クラスを検索します。
setools
パッケージには、以下のパッケージが必要です。
-
setools-console
-
setools-console-analyses
-
setools-gui
個々の CephFS ファイルおよびディレクトリーに SELinux ラベルを追加
CephFS (Ceph File System) は、ファイルの拡張属性に SELinux ラベルを保存するように最近有効化されています。以前のリリースでは、CephFS ボリュームのすべてのファイルに、共通のラベル system_u:object_r:cephfs_t:s0
のラベルが付けられました。今回の機能拡張により、個別のファイルのラベルを変更し、SELinux が移行ルールに基づいて新たに作成されたファイルのラベルを定義することができるようになりました。以前にラベル付けされていないファイルには、明示的に変更されるまで system_u:object_r:cephfs_t:s0
ラベルが設定されていることに注意してください。
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
プローブの無限再帰が修正されました。
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
ルールは正常に機能しません。
scap-security-guide
が HIPAA を実装するプロファイルを提供
scap-security-guide
パッケージの今回の更新で、Health Insurance Portability and Accountability Act (HIPAA) プロファイルが RHEL 8 セキュリティーコンプライアンスコンテンツに追加されました。このプロファイルは、The HIPAA Privacy Rule の Web サイトで説明されている推奨事項を実装します。
HIPAA Security Rule は、対象となるエンティティーによって作成、受信、使用、または維持される個人の電子個人健康情報を保護するための米国の国内基準を確立します。セキュリティールールには、適切な管理、物理、および技術の保護手段が必要です。これにより、電子的に保護された健全性情報の機密性、整合性、およびセキュリティーを確保できます。
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
ルールの修正が正しく失敗しなくなりました。
-
SCAP Workbench
が、カスタムプロファイルから結果ベースの修正を生成可能に
今回の更新で、SCAP Workbench
ツールを使用して、カスタマイズしたプロファイルから結果ベースの修復ロールを生成できるようになりました。
(BZ#1640715)
新しい Ansible ロール は、Clevis クライアントの自動デプロイメントを提供します。
rhel-system-roles
パッケージの今回の更新で、nbde_client
RHEL システムロールが導入されました。この Ansible ロールを使用すると、複数の Clevis クライアントを自動的にデプロイできます。
新しい Ansible ロールで、Tang サーバーを設定可能に
今回の機能拡張により、新しい nbde_server
システムロールを使用して、自動ディスク暗号化ソリューションの一部として、Tang サーバーをデプロイおよび管理できるようになりました。rhel-system-roles
パッケージに含まれる nbde_server
Ansible ロールでは、以下の機能がサポートされます。
- Tang 鍵のローテーション
- Tang 鍵のデプロイおよびバックアップ
詳細は Tang サーバー鍵のローテーション を参照してください。
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 のサポートを追加
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
オプションがあります。
fapolicyd
が、fapolicyd-selinux
に独自の SELinux ポリシーを提供
今回の機能拡張により、fapolicyd
フレームワークが独自の SELinux セキュリティーポリシーを提供するようになりました。デーモンは fapolicyd_t
ドメインで制限され、ポリシーは fapolicyd-selinux
サブパッケージを使用してインストールされます。
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
が含まれます。
USBGuard
は、企業デスクトップユーザーの改善を多数提供
USBGuard プロジェクトへの追加には、企業のデスクトップユーザーのユーザービリティーを向上させる機能拡張およびバグ修正が含まれます。重要な変更には以下が含まれます。
-
/etc/usbguard/rules.conf
ルールファイルを正常に維持するために、ユーザーはRuleFolder=/etc/usbguard/rules.d/
ディレクトリーに複数の設定ファイルを定義できます。デフォルトでは、RuleFolder は/etc/usbguard-daemon.conf
ファイルに指定されます。 -
usbguard-notifier
ツールは、GUI 通知を提供するようになりました。このツールは、デバイスがプラグインまたはプラグアウトされたとき、およびデバイスがユーザーによって許可、ブロック、または拒否されたかどうかをユーザーに通知します。 -
usbguard-daemon
は#
で始まる行を解析しなくなったため、設定ファイルにコメントを追加できるようになりました。
USBGuard が usbguard-selinux
に独自の SELinux ポリシーを提供するようになりました。
今回の機能拡張により、USBGuard フレームワークが独自の SELinux セキュリティーポリシーを提供するようになりました。デーモンは usbguard_t
ドメインで制限され、ポリシーは usbguard-selinux
サブパッケージからインストールされます。
libcap
がアンビエント機能に対応
この更新で、ユーザーはログイン時にアンビエント機能を付与できるようになり、適切に設定されたプロセスに root アクセス権を持たせる必要をなくすことができます。
(BZ#1487388)
libseccomp
ライブラリーがバージョン 2.4.3 にリベース
seccomp
システムコールのフィルタリングメカニズムへのインターフェイスを提供する libseccomp
ライブラリーが、バージョン 2.4.3 にアップグレードされました。
この更新では、バグ修正および機能強化が数多く追加されました。以下は、主な変更点です。
-
Linux v5.4-rc4 の
syscall
テーブルを更新しました。 -
存在しないシステムコールの
__NR_x
値を定義しなくなりました。 -
__SNR_x
が内部で使用されるようになりました。 -
__SNR_ppoll
のdefine
が追加されました。 - s390/s390x shm* システムコールの多重化の問題が修正されました。
-
libseccomp
ツールのコンパイルからstatic
フラグが削除されました。 -
関連するシステムコールへの
io-uring
サポートが追加されました。 -
v2.4.0 リリースに導入された Python モジュールの命名の問題を修正しました。このモジュールは、以前と同じ
seccomp
という名前になります。 -
scmp_bpf_sim
ツールのclang
によって識別されるメモリーリークの可能性が修正されました。
omamqp1
モジュールのサポート
今回の更新で、AMQP 1.0
プロトコルがバスの宛先へのメッセージの送信をサポートするようになりました。以前のリリースでは、OpenStack は AMQP1
プロトコルを通信標準として使用していました。このプロトコルは AMQP メッセージでメッセージをログに記録できるようになりました。今回の更新で、rsyslog-omamqp1
サブパッケージが導入され、omamqp1
出力モードが提供され、これはメッセージをログに記録し、バスの宛先に送信します。
OpenSCAP はリモートコンテンツを圧縮
今回の更新で、OpenSCAP がリモートコンテンツを転送するのに gzip
圧縮を使用します。リモートコンテンツの最も一般的なタイプはテキストベースの CVE フィードです。これは、時間の経過とともにサイズが増え、通常はすべてのスキャンに対してダウンロードする必要があります。gzip
圧縮は、圧縮されていないコンテンツに必要な帯域幅を 10% に減らします。その結果、スキャンされたシステムと、リモートコンテンツをホストするサーバーとの間のチェーン全体で帯域幅要件が減少します。
SCAP セキュリティーガイドで NIST-800-171 に一致するプロファイルが提供されるようになりました。
今回の更新で、scap-security-guide
パッケージが、NIST-800-171 標準に一致するプロファイルを提供するようになりました。このプロファイルを使用すると、非対応情報システムの CUI (Controlled Unclassified Information) のセキュリティー要件に従ってシステム設定を強化できます。これにより、NIST-800-171 標準に合わせてシステムを簡単に設定することができます。
5.1.7. ネットワーク
IPv4 接続追跡モジュールおよび IPv6 接続追跡モジュールは、nf_conntrack
モジュールにマージされています。
今回の機能拡張で、Netfilter 接続追跡モジュール nf_conntrack_ipv4
と nf_conntrack_ipv6
が nf_conntrack
カーネルモジュールにマージされます。この変更により、アドレスファミリー固有のモジュールを RHEL 8.3 で機能しないので、nf_conntrack
モジュールのみをブラックリストに登録して、IPv4 プロトコルと IPv6 プロトコルの両方の接続追跡サポートを無効にできます。
(BZ#1822085)
firewalld がバージョン 0.8.2 にリベース
firewalld
パッケージがアップストリームバージョン 0.8.2 にアップグレードし、以前のバージョンにバグ修正が数多く追加されました。詳細は、firewalld 0.8.2 Release Notes を参照してください。
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 がスレーブデバイスを作成し、アクティベートしなくなりました。
主な変更の詳細は、アップストリームのリリースノートを参照してください。
XDP に条件付きサポートを追加
Red Hat は、以下の条件がすべて適用されている場合に限り、eXpress Data Path (XDP) 機能をサポートします。
- AMD または Intel 64 ビットアーキテクチャーに XDP プログラムを読み込みます。
-
libxdp
ライブラリーを使用して、カーネルにプログラムを読み込みます。 -
XDP プログラムは、
XDP_ABORTED
、XDP_DROP
、またはXDP_PASS
のいずれかのリターンコードを使用します。 - XDP プログラムが XDP ハードウェアオフロードを使用しません
サポートされていない XDP 機能の詳細は、テクノロジープレビューとして利用できる XDP 機能の概要 を参照してください。
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
パラメーターに統合されました。
カーネルコマンドラインでネットワーク設定を設定する ipv6
、netmask
、gateway
、および 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 が同梱されています。
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
ソケット
テクノロジープレビューのコンポーネントに関する詳細情報は、テクノロジープレビュー を参照してください。
Cornelis Networks Omni-Path Architecture (OPA) ホストソフトウェア
Red Hat Enterprise Linux 8.3 は、Omni-Path Architecture (OPA) ホストソフトウェアに完全に対応しています。OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。
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
が完全対応
bpftrace
、bpf/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>
として数値形式で提供するようになりました。
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 2
、layer 3
、tunnels
、および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 ラベルのみをリスト表示していました。
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 で共有ブロックストレージを設定する方法については、Microsoft Azure への RHEL 8 のデプロイ および Amazon Web Services への RHEL 8 のデプロイ を参照してください。Alibaba Cloud で共有ブロックストレージを設定する方法は、Configuring Shared Block Storage for a Red Hat High Availability Cluster on Alibaba Cloud を参照してください。
ユーザー空間が最新の nfsdcld
デーモンに対応
ユーザー空間は、最新の nfsdcld
デーモンしかサポートするようになりました。これは、namespace 対応のクライアント追跡メソッドのみです。今回の機能拡張により、データの破損なしに、クライアントがコンテナー化された knfsd
デーモンから開放またはロックするようになります。
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 にアップグレードされ、多くのバグ修正が提供されています。
新しい priority-fencing-delay
クラスタープロパティー
Pacemaker は、新しい priority-fencing-delay
クラスタープロパティーをサポートするようになりました。これにより、スプリットブレインが発生した場合に、実行中のリソースが最も少ないノードがフェンシングされるように、2 ノードクラスターを設定できます。
priority-fencing-delay
プロパティーは期間に設定できます。このプロパティーのデフォルト値は 0 (無効) です。このプロパティーがゼロ以外の値に設定されている場合や、priority
メタ属性が 1 つ以上のリソースに対して設定されている場合は、スプリットブレインが発生すると、実行されているすべてのリソースの中で、最も優先順位が高い組み合わせのノードが存続する可能性が高くなります。
たとえば、 pcs resource defaults priority=1
と pcs 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 倍すると完全に安全となります)。
リソースおよび操作のデフォルトの複数のセットを管理する新しいコマンド
リソースおよび操作のデフォルトの複数のセットの作成、リスト表示、変更、および削除が可能になりました。デフォルト値のセットを作成する場合は、resource
および op
式が含まれるルールを指定できます。たとえば、たとえば、特定タイプのすべてのリソースにデフォルトのリソース値を設定できます。既存のデフォルト値をリスト表示するコマンドには、出力に複数のデフォルトセットが含まれるようになりました。
-
pcs resource [op] defaults set create
コマンドは、デフォルト値の新しいセットを作成します。このコマンドでルールを指定する場合は、and
、or
、および括弧を含む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 enable
、pcs resource disable
、pcs resource manage
、および pcs resource unmanage
コマンドは、引数としてタグ ID を受け入れます。
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
がゼロ以外の値に設定され、role
がMaster
に設定された状態で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
セクションで説明されている設定 の手順に従う必要があります。
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 に更新され、pip
はmanylinux2014 wheel
をインストールするようになりました。
python3
パッケージが提供する Python 3.6
インタープリターのパフォーマンスが大幅に改善しました。
ubi8/python-27
、ubi8/python-36
、および ubi8/python-38
コンテナーイメージが、カスタムパッケージインデックスまたは PyPI ミラーからの pipenv
ユーティリティーのインストールに対応するようになりました。以前のリリースでは、pipenv
はアップストリームの PyPI リポジトリーからのみダウンロードでき、アップストリームリポジトリーが利用できないと、インストールに失敗していました。
(BZ#1847416、BZ#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 スクリプト言語の使用 を参照してください。
新しいモジュールストリーム: 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_pass
、proxy_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
ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。
新しいモジュールストリーム: 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
コンテナーイメージとしても利用できます。
新しいモジュールストリーム: perl-libwww-perl:6.34
RHEL 8.3 では、新しい perl-libwww-perl:6.34
モジュールストリームが導入され、RHEL 8 で利用可能なすべてのバージョンの Perl
に perl-libwww-perl
パッケージが提供されています。RHEL 8.0 以降の、モジュールでない perl-libwww-perl
パッケージは、5.26 以外の Perl
ストリームで使用できません。新しいデフォルトの perl-libwww-perl:6.34
ストリームは廃止されました。
新しいモジュールストリーム: perl-IO-Socket-SSL:2.066
新しい perl-IO-Socket-SSL:2.066
モジュールストリームが利用できるようになりました。本モジュールでは、perl-IO-Socket-SSL
パッケージおよび perl-Net-SSLeay
パッケージを提供し、RHEL 8 で利用可能なすべての Perl
ストリームと互換性があります。
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
設定ディレクティブ - 多くのバグ修正。
httpd
の CustomLog
ディレクティブから journald
へのロギングのサポート
CustomLog
ディレクティブの新規オプションを使用して、Apache HTTP Server から journald
にアクセス (transfer) ログを出力できるようになりました。
サポートされる構文は以下のとおりです。
CustomLog journald:priority format|nickname
priority は、LogLevel
ディレクティブ で使用されるように debug
する優先度の高い文字列です。
たとえば、combined
ログ形式を使用して journald
にログインするには、以下を使用します。
CustomLog journald:info combined
このオプションを使用する場合は、フラットファイルに直接ロギングする場合よりもサーバーのパフォーマンスが低くなる可能性があることに注意してください。
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 のドキュメント を参照してください。
新しい 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 tree
がcargo
に組み込まれるようになりました。 - 浮動小数点値から整数にキャストすると、まとまったキャストが生成されます。以前は、ターゲット整数タイプの省略された浮動小数点値が範囲外であった場合、結果はコンパイラーで未定義の動作でした。有限でない浮動小数点の値も未定義になりました。今回の機能拡張により、有限値は整数の最小範囲または最大範囲に切り捨てられるようになりました。正の値と負の値はデフォルトで、それぞれ最大整数と最小整数値である 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 つのスクリプトで異なるバージョンの範囲をターゲットにできます。この機能は、elfutilsdebuginfod
サーバーと連携して機能します。 -
スクリプト関数はプローブ
$context
変数を使用してプローブされた場所内の変数にアクセスできます。これにより、SystemTap スクリプトは共通のロジックを使用してさまざまなプローブと連携できます。 -
try-catch ステートメントやエラープローブを含む
stapbpf
プログラムが改善され、BPF バックエンドで実行されているスクリプトで適切なエラー耐性を持たせるようになりました。
主な変更の詳細は、更新前に アップストリームのリリースノート を参照してください。
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
オプションでコードを再ビルドする必要があります。
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_data
、debuginfod_get_user_data
、debuginfod_get_url
、anddebuginfod_add_http_header
となります。file://
URL もサポートしています。
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
環境変数を設定できるようになりました。
strstr()
および strcasestr()
のパフォーマンスを改善
今回の更新で、サポートされる複数のアーキテクチャーで strstr()
関数および strcasestr()
関数のパフォーマンスが改善されました。その結果、文字列およびメモリー操作ルーチンを使用したすべてのアプリケーションのパフォーマンスを大幅に向上させるようになりました。
(BZ#1821531)
glibc
が、省略されたロケールアーカイブの読み込みを正しく処理
アップグレード時またはディスク障害の発生時に、システムロケールのアーカイブが切り捨てられていたり、システムロケールのアーカイブが切り捨てられると、アーカイブの読み込み時にプロセスが予期せず終了する可能性があります。今回の機能拡張により、ロケールアーカイブのロードに一貫性チェックが追加されます。その結果、プロセスはアーカイブ切り捨てを検出し、アーカイブされていないロケールまたはデフォルトの POSIX ロケールのいずれかにフォールバックできるようになりました。
(BZ#1784525)
GDB が debuginfod
に対応
今回の機能強化により、GNU Debugger (GDB) は、elfutils debuginfod
クライアントライブラリーを使用して、集中型サーバーからデバッグ情報パッケージをダウンロードできるようになりました。
pcp
がバージョン 5.1.1-3 にリベース
pcp
パッケージが、バージョン 5.1.1-3 にアップグレードされました。以下は、主な変更点です。
-
サービスユニットを更新し、すべての PCP サービスの
systemd
統合および信頼性が向上します。アーカイブログローテーションおよび時間圧縮が向上しました。pmproxy
プロトコルで検出に関するバグの修正。 -
pmrep
およびエクスポートツールのメトリックラベルレポートとともに、pcp-atop
、pcp-dstat
、pmrep
、および関連の監視ツールが改善されました。 -
bpftrace
、OpenMetrics
、MMV、Linux カーネルエージェントなどのコレクションエージェントが改善されました。Open vSwitch
およびRabbitMQ
サーバーの新しいメトリックコレクター。 -
スタンドアロンの
pmmgr
デーモンに代わる、新しいホスト検出pmfind systemd
サービス。
grafana
がバージョン 6.7.3 にリベース
grafana
パッケージがバージョン 6.7.3 にアップグレードされました。以下は、主な変更点です。
-
汎用
OAuth
ロールマッピングのサポート - 新規ログパネル
- テーブルパネルに複数行のテキスト表示
- 新しい通貨および energy ユニット
grafana-pcp
がバージョン 2.0.2 にリベース
grafana-pcp
パッケージがバージョン 2.0.2 にアップグレードされました。以下は、主な変更点です。
-
フレームグラフでグラフ付けされるマルチディメンションの
eBPF
マップをサポートします。 - クエリーエディターで自動補完キャッシュを削除し、PCP メトリックを動的に表示できるようにします。
新しい rhel8/pcp
コンテナーイメージ
Red Hat コンテナーレジストリーで rhel8/pcp
コンテナーイメージが利用できるようになりました。イメージには Performance Co-Pilot (PCP) ツールキットが含まれます。これには、pcp-zeroconf
パッケージおよび OpenMetrics
PMDA が事前にインストールされます。
(BZ#1497296)
新しい rhel8/grafana
コンテナーイメージ
rhel8/grafana
コンテナーイメージが、Red Hat コンテナーレジストリーで利用できるようになりました。Grafana は、メトリックダッシュボードを含むオープンソースユーティリティーで、Graphite
、Elasticsearch
、OpenTSDB
、 Prometheus
、InfluxDB
、および PCP
監視ツールのグラフエディターです。
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 バックアップによるデータ損失の準備 を参照してください。
新しいパスワード有効期限の通知ツール
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 準拠の実装を提供するようになりました。
公開鍵インフラストラクチャーの全体的な正常性を確認できるようになりました。
今回の更新で、公開鍵インフラストラクチャー (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 バージョンを使用します。たとえば、SHA256withRSA が SHA256withRSA/PSSになります。
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/
ディレクトリーにマウントされるプライベート名前空間に秘密鍵と証明書を抽出するようになりました。その結果、セキュリティーが強化されました。
ディスクの監視のしきい値に達すると、Directory Server がインスタンスの読み取り専用モードに切り替わるようになりました。
今回の更新で、nsslapd-disk-monitoring-readonly-on-threshold
パラメーターを cn=config
エントリーに追加されました。この設定を有効にすると、Directory Server は、ディスクの監視が有効で、空きディスク領域が nsslapd-disk-monitoring-threshold
に設定した値よりも小さい場合に、すべてのデータベースを読み取り専用に切り替えます。nsslapd-disk-monitoring-readonly-on-threshold
を on
に設定すると、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 暗号化タイプのサポートを有効にします。
smbd
、nmbd
、または winbind
サービスが起動すると、Samba は tdb
データベースファイルを自動的に更新します。Samba を起動する前にデータベースファイルがバックアップされます。Red Hat は、tdb
データベースファイルのダウングレードをサポートしていないことに留意してください。
主な変更の詳細は、更新前に アップストリームのリリースノート を参照してください。
cockpit-session-recording がバージョン 4 にリベース
cockpit-session-recording
モジュールがバージョン 4 にリベースされました。このバージョンでは、以前のバージョンに対する以下の主な変更点があります。
-
metainfo
ファイルの親 ID を更新しました。 - パッケージマニフェストを更新しました。
-
CentOS7 で正しいパスを解決するように
rpmmacro
を修正しました。 - バイトアレイでエンコードされたジャーナルデータを処理します。
- 非推奨の React ライフサイクル機能からコードを移動しました。
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 を使用するシステムを設定します。
-
RHEL 8.3 以降に同梱された
cyrus-sasl
パッケージ、openldap
パッケージ、およびkrb5-libs
パッケージの最新バージョンをインストールします。 -
/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 を参照してください。
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
authselect
に新しい minimal
プロファイル
authselect
ユーティリティーには minimal
プロファイルが新しくなりました。このプロファイルを使用すると、他の認証プロバイダーを使用する代わりに、ローカルユーザーおよびグループだけがシステムファイルから直接提供できます。したがって、SSSD
、winbind
パッケージ、および 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 モードに設定します。
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 は、ユーザーのエントリーの pwdReset
を true
に設定します。アプリケーションはこの属性を使用して、管理者がユーザーのパスワードをリセットしたかどうかを識別できます。
pwdReset
は運用属性であるため、ユーザーはこれを編集できないことに注意してください。
Directory Server が RESULT
エントリーで作業および操作時間のログを記録するようになりました。
今回の更新で、Directory Server は、/var/log/dirsrv/slapd-<instance_name>/access
ファイルの RESULT エントリーに追加の時間値をログ記録するようになりました。
-
wtime
の値は、操作が作業キューからワーカースレッドに移動するのにかかった時間を示します。 -
optime
の値は、ワーカースレッドが操作を開始した後に実際に操作が完了するのにかかった時間を示します。
新たに追加されたこの値で、Directory Server が読み込みやプロセス操作を処理する方法などの情報が追加で提供されます。
詳細は、Red Hat Directory Server の設定、コマンド、およびファイルリファレンスの アクセスログリファレンス を参照してください。
5.1.14. デスクトップ
単一アプリケーションセッションが利用できるように
kiosk モード とも呼ばれる 1 つのアプリケーションセッションで GNOME を起動できるようになりました。このセッションでは、GNOME は、設定したアプリケーションのフルスクリーンウィンドウのみを表示します。
単一アプリケーションセッションを有効にするには、以下を行います。
gnome-session-kiosk-session
パッケージをインストールします。# yum install gnome-session-kiosk-session
単一アプリケーションセッションを開くユーザーの
$HOME/.local/bin/redhat-kiosk
ファイルを作成して編集します。ファイルに、起動するアプリケーションの実行ファイル名を入力します。
たとえば、Text Editor アプリケーションを起動するには、以下を実行します。
#!/bin/sh gedit &
ファイルを実行可能にします。
$ chmod +x $HOME/.local/bin/redhat-kiosk
- 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 が改善されました。
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 コンソールでは、ユーザーがログ間で検索する方法に関する新しい方法をサポートする検索ボックスが導入されました。検索ボックスでは、ログメッセージの検索、サービスの指定、または特定のログフィールドによるエントリーの検索をサポートします。
概要ページでは、より多くの 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 を使用して、明示的なユーザーおよびグループに対するセッション録画を有効にする
RHEL Logging システムロールが Ansible で利用可能になりました。
Logging システムロールを使用すると、ローカルおよびリモートホストにさまざまなロギング設定を一貫してデプロイできます。RHEL ホストをサーバーとして設定して、多くのクライアントシステムからログを収集できます。
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
データソースを使用したこのデータのクエリー。
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 サービスおよび生産ツール用のリポジトリーの追加をサポート
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 で対応するようになりました。sgdt
、sidt
、sldt
、smsw
、str
などの特定の命令が、現在の 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-blk
の discard
コマンドおよび 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 セキュリティーラベルおよびパーミッションの一貫性を強化
今回の更新で、libvir
t サービスは、ファイルに関連する 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
ユーティリティーを使用してパーティションのサイズを変更できない場合があります。この問題は修正されています。
5.1.20. コンテナー
skopeo
コンテナーイメージが利用可能に
registry.redhat.io/rhel8/skopeo
コンテナーイメージは、skopeo
パッケージをコンテナー化した実装です。skopeo
ツールは、コンテナーイメージおよびイメージリポジトリーでさまざまな操作を実行するコマンドラインユーティリティーです。このコンテナーイメージを使用すると、レジストリー内のコンテナーイメージを検査し、レジストリーからコンテナーイメージを削除し、認証されていないあるコンテナーレジストリーから別のコンテナーレジストリーにコンテナーイメージをコピーすることができます。registry.redhat.io/rhel8/skopeo
コンテナーイメージをプルするには、アクティブな Red Hat Enterprise Linux サブスクリプションが必要です。
buildah
コンテナーイメージが利用可能に
registry.redhat.io/rhel8/buildah
コンテナーイメージは、buildah
パッケージをコンテナー化した実装です。buildah
ツールは、OCI コンテナーイメージの構築を容易にします。このコンテナーイメージを使用すると、システムに buildah
パッケージをインストールしなくても、コンテナーイメージをビルドできます。このユースケースでは、root 以外のユーザーとして rootless モードでこのイメージを実行することを説明しません。registry.redhat.io/rhel8/buildah
コンテナーイメージをプルするには、アクティブな Red Hat Enterprise Linux サブスクリプションが必要です。
Podman v2.0 RESTful API が利用可能に
varlink ライブラリーに基づいて古いリモート API に代わる、新しい REST ベースの Podman 2.0 API。新規 API はルートフル環境およびルートレス環境の両方で機能し、docker 互換レイヤーを提供します。
(JIRA:RHELPLAN-37517)
Podman のインストールには、 container-selinux
は必要ありません。
今回の機能拡張により、コンテナービルド時に container-selinux
パッケージのインストールはオプションになりました。その結果、Podman に他のパッケージの依存関係が少なくなる