Red Hat Training

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

第44章 カーネル

HMM (heterogeneous memory management) 機能がテクノロジープレビューとして利用可能に

Red Hat Enterprise Linux 7.3 では、テクノロジープレビューとして heterogeneous memory management (HMM) 機能が導入されました。この機能は、プロセスアドレス空間を独自のメモリー管理ユニット (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 に依存することに注意してください。これは、構造化データをシリアル化するための、言語とプラットフォームに中立的な拡張性のあるメカニズムです。依存パッケージを提供する protobuf パッケージと protobuf-c パッケージも、Red Hat Enterprise Linux 7.2 にテクノロジープレビューとして導入されています。
Red Hat Enterprise Linux 7.5 では、criu パッケージがアップストリームバージョン 3.5 にアップグレードされ、多くのバグ修正と機能拡張が提供されています。さらに、IBM Z および 64 ビット ARM アーキテクチャーのサポートが追加されました。(BZ#1400230, BZ#1464596)

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

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

テクノロジープレビューとしての kexec fast reboot

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

名前空間への非特権アクセスは、テクノロジープレビューとして有効化できる

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

qla2xxx ドライバーでのテクノロジープレビューとしての SCSI-MQ

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

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

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

perf cqmresctrl に置き換え

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