第30章 カーネル

HMM (heterogeneous memory management) 機能をテクノロジープレビューとして提供

Red Hat Enterprise Linux 7.3 では、HMM (heterogeneous memory management) 機能がテクノロジープレビューとして導入されました。この機能は、プロセスアドレス空間を独自のメモリー管理ユニット (MMU) にミラーする必要のあるデバイスのヘルパーレイヤーとして、カーネルに追加されています。これにより、CPU 以外のデバイスプロセッサーは、統一システムアドレス空間を使用してシステムメモリーを読み取ることができます。この機能を有効にするには、experimental_hmm=enable をカーネルコマンドラインに追加します。(BZ#1230959)

criu がバージョン 3.5 にリベース

Red Hat Enterprise Linux 7.2 は criu ツールをテクノロジープレビューとして導入しました。このツールは、Checkpoint/Restore in User-space (CRIU) を実装します。これを使用すると、実行中のアプリケーションをフリーズさせた後にファイルの集合としてこれを保存し、後にフリーズ状態から復元できます。
criu ツールは Protocol Buffers に依存します。これは、構造化データをシリアル化するための、言語とプラットフォームに中立的な拡張性のあるメカニズムです。依存パッケージとなる protobufprotobuf-c パッケージも、テクノロジープレビューとして Red Hat Enterprise Linux 7.2 に導入されています。
Red Hat Enterprise Linux 7.5 では、criu パッケージがアップストリームバージョン 3.5 にアップグレードされ、バグ修正および機能拡張が数多く追加されました。さらに、IBM z Systems および 64 ビット ARM アーキテクチャーに対するサポートも追加されました。(BZ#1400230、BZ#1464596)

kexec がテクノロジープレビューとして利用可能

kexec システムコールがテクノロジープレビューとして提供されています。このシステムコールを使用すると、現在実行中のカーネルから別のカーネルを読み込み起動することができます。したがって、このシステムコールはカーネル内のブートローダーとして機能します。kexec 起動時には、通常のシステム起動中に実行されるハードウェアの初期化が実施されないので、再起動にかかる時間が大幅に短縮されます。(BZ#1460849)

kexec fast reboot がテクノロジープレビューとして利用可能

今回の更新で kexec fast reboot 機能がテクノロジープレビューとして追加され、再起動が大幅に速くなっています。この機能を使用するには、kexec カーネルを手動で読み込み、オペレーティングシステムを再起動する必要があります。kexec fast reboot をデフォルトの再起動アクションに設定することはできません。
特別なケースとしては、kexec fast rebootAnaconda に使用する場合が挙げられます。この場合でも kexec fast reboot をデフォルトに設定することはできませんが、Anaconda でこれを使用した場合には、インストール完了後にユーザーがカーネルを anaconda オプションで起動すると、オペレーティングシステムは自動的に kexec fast reboot を使用します。kexec 再起動をスケジュールするには、カーネルコマンドラインで inst.kexec コマンドを使用するか、Kickstart ファイルに reboot --kexec の行を追加します。(BZ#1464377)

テクノロジープレビューとして、非特権ユーザーによる名前空間へのアクセスの有効化が可能

必要に応じて、テクノロジープレビューとして namespace.unpriv_enable カーネルコマンドラインオプションを設定できるようになりました。
デフォルトの設定は無効です。
1 に設定すると、非特権ユーザーが CLONE_NEWNS のフラグで clone() 関数にコールを発行しても、エラーは返されなくなり操作が可能です。
ただし、非特権ユーザーによる名前空間へのアクセスを有効にするには、一部のユーザー名前空間で CAP_SYS_ADMIN フラグを設定してマウント名前空間を作成する必要があります。(BZ#1350553)

qla2xxx ドライバーの SCSI-MQ 機能がテクノロジープレビューとして利用可能

Red Hat Enterprise Linux 7.4 で更新された qla2xxx& ドライバーでは、モジュールパラメーターを ql2xmqsupport=1 に設定して SCSI-MQ (マルチキュー) 機能を有効にすることができます。デフォルト値は 0 (無効) です。SCSI-MQ 機能は、qla2xxx ドライバーと共に使用する際にテクノロジープレビューとして利用可能です。
SCSI-MQ 機能を使用してファイバーチャネルアダプター上での非同期 IO のパフォーマンステストを実施したところ、特定の条件下では大幅なパフォーマンス低下が確認された点に注意してください。修正をテスト中ですが、Red Hat Enterprise Linux 7.4 リリースの時点ではまだ利用可能ではありませんでした。

NVMe over Fibre Channel がテクノロジープレビューとして利用可能に

NVMe over Fibre Channel トランスポートタイプがテクノロジープレビューとして利用可能になりました。NVMe over Fibre Channel は、以前 Red Hat Enterprise Linux に導入された Remote Direct Memory Access (RDMA) プロトコルおよび Nonvolatile Memory Express (NVMe) プロトコルのファブリックトランスポートタイプです。
lpfc ドライバーで NVMe over Fibre Channel を有効にするには、/etc/modprobe.d/lpfc.conf ファイルを編集して以下のオプションのいずれかまたは両方を追加します。
  • 操作の NVMe モードを有効にするには、lpfc_enable_fc4_type=3 オプションを追加します。
  • ターゲットモードを有効にするには、lpfc_enable_nvmet=<wwpn list> オプションを追加します。ここで、<wwpn list>0x の接頭辞を付けたワールドワイドポートネーム (WWPN) の値のコンマ区切りリストです。
NVMe ターゲットを設定するには、nvmetcli ユーティリティーを使用します。
NVMe over Fibre Channel により、既存のファイバーチャネルインフラストラクチャー上で、より高パフォーマンスで低レイテンシーな I/O プロトコルが得られます。このことは、ソリッドステートストレージアレイで特に重要になります。NVMe ストレージのパフォーマンスメリットを、別のプロトコル (SCSI) にカプセル化するのではなく、ファブリックトランスポートを通じて渡すことができるためです。
Red Hat Enterprise Linux 7.5 では、NVMe over Fibre Channel は lpfc ドライバーを使用する Broadcom 32 Gbit アダプターでのみ利用可能です。(BZ#1387768、BZ#1454386)

perf cqmresctrl に置き換え

Intel Cache Allocation Technology (CAT) が Red Hat Enterprise Linux 7.4 でテクノロジープレビューとして導入されました。ただし、perf インストラクチャーと Cache Quality of Service Monitoring (CQM) ハードウェアサポートの不整合により、perf cqm ツールが正常に機能しませんでした。したがって、perf cqm の使用時にさまざまな問題が生じていました。
主な問題は以下のとおりです。
  • perf cqmresctrl を使用して割り当てたタスクグループをサポートしない
  • リサイクルに関するさまざまな問題により、perf cqm が不規則で不正確なデータを提供する
  • 異なるタイプのイベント (例: タスク、全システム、および cgroup イベント) を同時に実行する場合、perf cqm のサポートが不十分である
  • cgroup イベントに対して perf cqm は 部分的なサポートしか提供しない
  • cgroup イベントが階層構造を持つ場合、または cgroup 内のタスクと cgroup を同時に監視する場合、 cgroup イベントに対する部分的なサポートが機能しない
  • タスクをライフスパンにわたって監視すると perf のオーバーヘッドが生じる
  • perf cqm はキャッシュ占有の集計値またはソケット全体のメモリー帯域幅を報告するが、多くのクラウドおよび VMM ベースのユースケースでは、個々のソケットごとの使用状況が求められる
今回の更新で perf cqmresctrl ファイルシステムをベースにしたアプローチに置き換えられ、上記の問題がすべて解消されました。(BZ#1457533、BZ#1288964)

このページには機械翻訳が使用されている場合があります (詳細はこちら)。