Red Hat Training

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

第5章 カーネル

Red Hat Enterprise Linux 7 には kernel バージョン 3.10 が含まれており、多くの新機能を提供します。最も注目すべき機能を以下に示します。

動的カーネルパッチ

Red Hat Enterprise Linux 7 では、動的なカーネルパッチ適用ユーティリティーである kpatch がテクノロジープレビューとして導入されます。kpatch を使用すると、ユーザーは、再起動せずにカーネルに動的にパッチを適用するために使用できるバイナリーカーネルパッチのコレクションを管理できます。kpatch は、AMD64 および Intel 64 アーキテクチャーでのみ実行がサポートされていることに注意してください。

大規模なクラッシュカーネルサイズのサポート

Red Hat Enterprise Linux 7 は、大容量メモリー (最大 3TB) を備えたシステムで kdump クラッシュダンプメカニズムをサポートします。

複数の CPU を持つクラッシュカーネル

Red Hat Enterprise Linux 7 では、複数の CPU で crashkernel を起動できます。この機能はテクノロジープレビューとしてサポートされています。

スワップメモリー圧縮

Red Hat Enterprise Linux 7 では、新しい機能であるスワップメモリー圧縮が導入されています。スワップ圧縮は、frontswap の薄いバックエンドである zswap を介して実行されます。スワップメモリー圧縮テクノロジーを利用すると、I/O が大幅に削減され、パフォーマンスが向上します。

NUMA 対応のスケジューリングとメモリー割り当て

Red Hat Enterprise Linux 7 では、カーネルは、同じシステム内の NUMA ノード間でプロセスとメモリーを自動的に再配置し、不均一なメモリーアクセス (NUMA) を使用するシステムのパフォーマンスを向上させます。

APIC 仮想化

Advanced Programmable Interrupt Controller (APIC) レジスタの仮想化は、新しいプロセッサーのハードウェア機能を利用して仮想マシンモニター (VMM) の割り込み処理を改善することでサポートされます。

カーネルに組み込まれた vmcp

Red Hat Enterprise Linux 7 では、vmcp カーネルモジュールがカーネルに組み込まれています。これにより、vmcp デバイスノードが常に存在することが保証され、ユーザーは最初に vmcp カーネルモジュールをロードすることなく、IBM z/VM ハイパーバイザー制御プログラムコマンドを送信できます。

ハードウェアエラー報告メカニズム

以前は、さまざまなツールを使用してさまざまなソースからさまざまな方法でエラーを収集し、さまざまなツールを使用してエラーイベントを報告していました。しかし、ハードウェアエラー報告メカニズムには問題がありました。Red Hat Enterprise Linux 7 では、Hardware Event Report Mechanism (HERM) が導入されています。この新しいインフラストラクチャーは、デュアルインラインメモリーモジュール (DIMM) エラー報告のエラー検出および訂正 (EDAC) メカニズムをリファクタリングし、システムによって報告されたメモリーエラーを収集する新しい方法も提供します。エラーイベントは、連続したタイムラインと単一の場所でユーザー空間に報告されます。
Red Hat Enterprise Linux 7 の HERM には、以前 edac-utils パッケージに含まれていたツールに代わる新しいユーザー空間デーモン rasdaemon も導入されています。rasdaemon は、カーネルトレースインフラストラクチャーから発生するすべての信頼性、可用性、および保守性 (RAS) エラーイベントをキャッチして処理し、それらをログに記録します。Red Hat Enterprise Linux 7 の HERM は、エラーを報告するツールも提供し、バーストエラーやスパースエラーなどのさまざまなタイプのエラーを検出できます。

DynTick の完全なサポート

nohz_full ブートパラメーターは、CPU ごとの nr_running=1 設定が使用されている場合に、ティックを停止できる場合に、元のティックレスカーネル機能を追加のケースに拡張します。つまり、CPU の実行キューに単一の実行可能なタスクがある場合です。

カーネルモジュールのブラックリスト登録

Red Hat Enterprise Linux 7 に含まれる modprobe ユーティリティーを使用すると、ユーザーはインストール時にカーネルモジュールをブラックリストに登録できます。モジュールの自動ロードをグローバルに無効にするには、カーネルコマンドラインで次のオプションを使用します。
modprobe.blacklist=module
kpatch の詳細については、http://rhelblog.redhat.com/2014/02/26/kpatch/ を参照してください。

dm-era ターゲット

Red Hat Enterprise Linux 7 では、テクノロジープレビューとして dm-era device-mapper ターゲットが導入されています。dm-era は、時代と呼ばれるユーザー定義の期間内にどのブロックが書き込まれたかを追跡します。各紀元ターゲットインスタンスは、現在の紀元を単調に増加する 32 ビットカウンターとして維持します。このターゲットにより、バックアップソフトウェアは、最後のバックアップ以降に変更されたブロックを追跡できます。また、キャッシュの内容を部分的に無効にして、ベンダースナップショットにロールバックした後にキャッシュの一貫性を復元することもできます。dm-era ターゲットは、主に dm-cache ターゲットとペアになることが想定されています。

同時フラッシュ MCL 更新

IBM System z アーキテクチャー上の Red Hat Enterprise Linux 7.0 では、テクノロジープレビューとしてマイクロコードレベルのアップグレード (MCL) が有効になっています。これらのアップグレードは、フラッシュストレージメディアへの I/O 操作に影響を与えることなく適用でき、変更されたフラッシュハードウェアサービスレベルをユーザーに通知します。

libhugetlbfs IBM System z のサポート

libhugetlbfs ライブラリーが IBM System z アーキテクチャーでサポートされるようになりました。このライブラリーにより、C および C++ プログラムでラージページを透過的に活用できます。アプリケーションとミドルウェアプログラムは、変更や再コンパイルを行わなくても、ラージページのパフォーマンス上の利点から利益を得ることができます。

AMD マイクロコードと AMD Opteron のサポート

AMD は、AMD プロセッサーファミリー 10h、11h、12h、14h、および 15h に属するプロセッサー用のマイクロコードパッチサポートを提供します。マイクロコードパッチには、プロセッサーエラッタの修正が含まれており、プロセッサーのマイクロコードパッチレベルが最新レベルであることを保証します。
1 つのコンテナーファイルには、AMD ファミリー 10h、11h、12h、14h プロセッサー用のすべてのマイクロコードパッチが含まれています。別のコンテナーファイルには、AMD ファミリー 15h プロセッサー用のパッチが含まれています。
マイクロコードパッチは増分ではないことに注意してください。したがって、AMD プロセッサーファミリー用の最新のコンテナーファイルがあることを確認するだけで済みます。Red Hat Enterprise Linux 7 を実行している AMD ベースのプラットフォーム用のこれらのマイクロコードパッチを入手するには:
  1. ファームウェアファイルを含むリポジトリーを複製します。
    ~]$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
  2. AMD マイクロコードファイルを /lib/firmware/ ディレクトリーに移動します。ルート として:
    ~]# cp -r linux-firmware/amd-ucode/ /lib/firmware/

/proc/meminfo に使用可能なメモリー

MemAvailable フィールドを提供するために、/proc/meminfo ファイルに新しいエントリーが導入されました。MemAvailable は、スワップせずに新しいアプリケーションを開始するために使用できるメモリー量の見積もりを提供します。ただし、Cache フィールドまたは Free フィールドによって提供されるデータとは異なり、MemAvailable はページキャッシュを考慮に入れます。

vSwitch カーネルモジュールを開く

Red Hat Enterprise Linux 7 には、Red Hat のレイヤード製品オファリングのイネーブラーとして Open vSwitch カーネルモジュールが含まれています。Open vSwitch は、付属のユーザースペースユーティリティーを含む製品と組み合わせてのみサポートされます。これらの必要なユーザースペースユーティリティーがないと、Open vSwitch は機能せず、使用可能にできないことに注意してください。詳細は、次のナレッジベースの記事を参照してください: https://access.redhat.com/knowledge/articles/270223

インテルイーサネットサーバーアダプター X710/XL710 のサポート

Red Hat Enterprise Linux 7 は i40e および i40evf カーネルドライバーを追加し、Intel X710 および XL710 ファミリーのイーサネットアダプターのサポートを有効にします。これらのドライバーは、テクノロジープレビューとしてのみ提供されます。