Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第12章 カーネル

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

Red Hat Enterprise Linux 7.4 には、カーネルバージョン 3.10.0-693 が同梱されています。(BZ#1801759)

NVMe ドライバーがカーネルバージョン 4.10 にリベース

NVM-Express カーネルドライバーが、アップストリームカーネルバージョン 4.10 に更新され、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。最も注目すべき変更は、既存の RDMA NIC (Infiniband、RoCE、iWARP) および既存の NVMe SSD を使用する初期の NVMe-over-Fabrics トランスポート実装がドライバーに追加されましたが、DIF/DIX およびマルチパスへのサポートが含まれていない点です。(BZ#1383834)

crash がバージョン 7.1.9 にリベース

今回の更新で、crash パッケージがアップストリームバージョン 7.1.9 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。(BZ#1393534)

crash が IBM Power ISA 3.0 の vmcore ダンプを分析するようになりました。

crash ユーティリティーが、IBM Power ISA バージョン 3.0 アーキテクチャーに関連するカーネルページテーブルの変更に対応するように更新されました。その結果、crash ユーティリティーは、IBM Power ISA 3.0 システムのカーネルの vmcore ダンプを分析できるようになりました。(BZ#1368711)

IBM Power および IBM Power のリトルエンディアンバリアント向けに更新された crash

crash パッケージが、IBM Power Systems および IBM Power Systems のリトルエンディアンバリアンをサポートするように更新されました。このパッケージでは、コア分析スイートを利用できます。このツールは独立したもので、ライブシステムや、kexec-tools パッケージまたは Red Hat Enterprise Linux カーネルが作成したカーネルコアダンプを調べるために使用できます。(BZ#1384944)

memkind がバージョン 1.3.0 に更新されました。

memkind ライブラリーがバージョン 1.3.0 に更新され、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。
以下は、主な変更点です。
  • ロギングメカニズムが導入されました。
  • ハードウェアローカリティー(hwloc)が統合され、--with-hwloc オプションを使用してオンにできます。
  • libmemkind.so が公開しているシンボルは削除されました。たとえば、libnumajemalloc は公開されなくなりました。
  • autohbw ファイルは /memkind/autohbw/ ディレクトリーに移動し、コードがリファクタリングされ、テストが適切なシナリオに追加されました。
  • memkind に、セキュリティーを改善するフラグが追加されました。フラグは、--disable-secure 設定時間オプションを使用してオフにできます。
  • jemalloc の設定が変更され、未使用の機能をオフにするようになりました。
  • いくつかのシンボルが非推奨になりました。詳細は、非推奨の機能のセクションを参照してください。(BZ#1384549)

カーネルに追加された jitter エントロピー RNG

今回の更新で、Linux カーネルへの CPU タイミングの相違を介してエントロピーを収集する Jitter Entropy Random Number Generator (RNG) が追加されました。この RNG は、デフォルトで algif_rng インターフェイスから利用できます。生成された数字は、/dev/random ファイルを介してカーネルに戻すことができます。これにより、他の /dev/random ユーザーが利用できるようになります。その結果、オペレーティングシステムではより多くのエントロピーソースが利用できるようになりました。(BZ#1270982)

/dev/random が、urandom プールの初期化に関する通知と警告を表示するようになりました。

この更新により、ランダムドライバー (/dev/random) が変更され、非ブロッキングプール (/dev/urandom が使用) が初期化されたときに、メッセージが出力されるようになりました。(BZ#1298643)

fjes がバージョン 1.2 に更新されました。

fjes ドライバーがバージョン 1.2 に更新され、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。(BZ#1388716)

ユーザー名空間の完全なサポート

Red Hat Enterprise Linux 7.2 でテクノロジープレビューとして導入されたユーザーネームスペース (userns) が完全にサポートされるようになりました。この機能は、ホストとコンテナー間の分離を改善することにより、Linux コンテナーを実行しているサーバーに追加のセキュリティーを提供します。コンテナーの管理者は、ホスト上で管理操作を実行できなくなり、セキュリティーが向上します。
user.max_user_namespaces のデフォルト値は 0 です。この値をゼロ以外の値に設定すると、誤動作するアプリケーションを停止できます。user.max_usernamespaces は、15000 などの大きな値に設定することが推奨されます。これにより、通常の操作では値に再度アクセスする必要はありません。(BZ#1340238)

makedumpfile がバージョン 1.6.1 に更新される

makedumpfile パッケージは、kexec-tools 2.0.14 rpm の一部としてアップストリームバージョン 1.6.1 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。(BZ#1384945)

QAT が 最新のアップストリームバージョンに更新された

qat ドライバーが最新のアップストリームバージョンに更新され、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。
バグ修正および機能強化
  • Diffie-Hellman (DH) ソフトウェアのサポートが追加されました。
  • Elliptic Curve Diffie–Hellman (ECDH) ソフトウェアのサポートが追加されました。
  • 曲線 P-192 および P-256 の誤り訂正符号 (ECC) ソフトウェアのサポートが追加されました。(BZ#1382849)

intel-cmt-cat パッケージの追加

このパッケージで提供される pqos ユーティリティーを使用すると、管理者は L3 キャッシュを監視および操作して、ユーティリティーおよびパフォーマンスを向上させることができます。
ツールはカーネル API をバイパスし、ハードウェア上で直接動作します。これには、使用する前に CPU ピンがターゲットプロセスで使用されている必要があります。(BZ#1315489)

i40e が信頼できる VF と信頼できない VF をサポート

今回の更新で、信頼できる仮想機能と信頼できない仮想機能の両方のサポートが i40e NIC ドライバーに追加されました。(BZ#1384456)

OVS 802.1ad (QinQ) のカーネルサポート

今回の更新で、カーネル内の 802.1ad (QinQ) ネットワーク標準を有効にすることで、Open vSwitch (OVS) で 2 つの VLAN タグを使用できるようになりました。今回の更新で使用するユーザー空間は、openvswitch により提供されることに留意してください。(BZ#1155732)

共有メモリーと hugetlbfsのコピー後のライブマイグレーションサポート

今回の更新で、カーネルが強化され、コピー後のライブマイグレーションが可能になり、共有メモリーと hugetlbfs ファイルシステムがサポートされるようになりました。この機能を利用するには、以下のようにします。
  • ホストで 2MiB の Huge Page を設定する
  • 2MiB の Huge Page があるゲスト仮想マシンを作成する
  • ゲスト仮想マシンと stress-test アプリケーションを実行してメモリーをテストする
  • ポストコピーでゲスト仮想マシンをライブマイグレーションする(BZ#1373606)

新規パッケージ: dbxtool

dbxtool パッケージは、UEFI セキュアブート DBX 更新を適用するためのコマンドラインユーティリティーとワンショット systemd サービスを提供します。(BZ#1078990)

mlx5 が SRIOV で信頼される VF をサポート

この更新により、Single Root I/O Virtualization (SRIOV)で信頼される仮想機能(VF)のサポートが mlx5 ドライバーに追加されました。(BZ#1383280)

バックポートされた 4.9 カーネルからの rwsem パフォーマンス更新

今回の更新で、Linux カーネルバージョン 4.9 までのほとんどのアップストリーム R/W semaphores (rwsem)パフォーマンス関連の変更が、カーネルアプリケーションバイナリーインターフェイス(kABI)を維持している一方で、Linux カーネルにバックポートされました。
以下は、主な変更点です。
  • ライターに最適なスピニング。ロックの待ち時間を短縮し、ロックのパフォーマンスを向上させる。
  • 内部のスピンロックを保持しないロックなしのウェイターのウェイクアップ。(BZ#1416924)

Linux カーネルに追加された getrandom

今回の更新で、getrandom システムコールが Linux カーネルに追加されました。その結果、ユーザースペースは /dev/urandom で使用されるものと同じ非ブロッキングエントロピープールからランダム性を要求できるようになり、ユーザースペースは少なくとも 128 ビットのエントロピーがそのプールに蓄積されるまでブロックできます。(BZ#1432218)

新しいステータス行 Umask が /proc/<PID>/status に含まれます。

以前は、変更せずにプロセス umask を読み取ることはできませんでした。この変更を行わないと、特にメインプログラムがマルチスレッド化されている場合に、ライブラリーが umask を安全に読み取ることができません。proc ファイルシステム(procfs)が、/proc/<PID>/status ファイルの umask を公開する ようになりました。形式は Umask: OOOO です。OOOO はタスクの umask の 8 進数表現です。(BZ#1391413)

Intel® Omni-Path Architecture (OPA) ホストソフトウェア

Intel®Omni-Path Architecture (OPA) ホストソフトウェアは、Red Hat Enterprise Linux 7.3 以降、完全にサポートされています。Intel® OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。
Intel® Omni-Path Architecture のドキュメントを取得する方法については、https://access.redhat.com/articles/2039623 を参照してください。(BZ#1459948)

XTS-AES の鍵認証が FIPS 140-2 の要件を満たす

この更新により、Red Hat Enterprise Linux を FIPS モードで実行し、カーネルの XTS-AES キー検証を使用すると、AES キーが強制的に tweak キーと異なるものになります。これにより、FIPS 140-2 IG A.9 の要件が満たされていることが保証されます。また、ciphertext stealing (XTS) テストベクトルを使用した XEX ベースの調整コードブックモードはスキップするようにマークできるようになりました。(BZ#1314179)

IBM z Systems で mlx5 に対応

Mellanox mlx5 デバイスドライバーは、IBM z Systems 上の Linux でもサポートされ、イーサネット TCP/IP ネットワークに使用できるようになりました。(BZ#1394197)

perf ツールがプロセッサーのキャッシュライン競合検出に対応

perf ツールは、Shared Data Cache-to-Cache (C2C)分析用の c2c サブコマンドを提供するようになりました。これにより、キャッシュラインの競合を検証し、true 共有と false 共有の両方を検出できます。
競合は、対称型マルチプロセッシング (SMP) システムのプロセッサーコアが、他のプロセッサーによって使用されている同じキャッシュラインにあるデータオブジェクトを修正すると発生します。次に、このキャッシュラインを使用する他のすべてのプロセッサーは、コピーを無効にして更新されたものを要求する必要があります。これにより、パフォーマンスが低下する可能性があります。
新しい c2c サブコマンドは、競合が検出されたキャッシュ行、データの読み取りおよび書き込みのプロセス、競合の原因となる命令、および関連する Non-Uniform Memory Access (NUMA)ノードに関する詳細情報を提供します。(BZ#1391243)

lpfc ドライバーでの SCSI-MQ のサポート

Red Hat Enterprise Linux 7.4 で更新された lpfc ドライバーは、lpfc_use_blk_mq=1 モジュールパラメーターで SCSI-MQ (multiqueue)を使用 できるようになりました。デフォルト値は 0 (無効)です。
SCSI-MQ を使用してファイバーチャネルアダプター上での非同期 IO のパフォーマンステストを実施したところ、特定の条件下ではパフォーマンスが大幅に低下した点に注意してください。修正はテスト中で、Red Hat Enterprise Linux 7.4 の一般提供に間に合うように準備できませんでした。(BZ#1382101)