第3章 カーネル
Red Hat Enterprise Linux 6.2 以前は、qla4xxx
アダプターファームウェアは iSCSI ターゲットへの検出とログインを管理していました。Red Hat Enterprise Linux 6.2 の新機能により、open-iscsi を使用して、qla4xxx
検出とログインプロセスを管理できます。これで、さらに一元的な管理プロセスが可能になります。
qla4xxx
iSCSI ファームウェアの設定は、以下のようにアクセスできます。
~]# iscsiadm -m fw
ql4xdisablesysfsboot=1
のパラメーターを以下のように設定することで無効にできます。
/etc/modprobe.d
ファイルのパラメーターを設定します。~]#
echo "options qla4xxx ql4xdisablesysfsboot=1" >> /etc/modprobe.d/qla4xxx.conf
qla4xxx
モジュールをリロードします。その方法には 2 つあります。次のコマンドセットを実行するか~]#
rmmod qla4xxx
~]#modprobe qla4xxx
qla4xxx
デバイスからブートしている場合は、システムをリブートします。
qla4xxx
デバイスからブートする場合、Red Hat Enterprise Linux 6.1 から Red Hat Enterprise Linux 6.2 へアップグレードすると、システムは新しいカーネルでブートできなくなります。これに関する既知の問題については、テクニカルノート を参照してください。
kdump (kexec ベースのクラッシュダンプの仕組み) は、次のような Red Hat Enterprise Linux 6 のファイルシステムでのコアダンプに対応するようになりました。
- Btrfs (このファイルシステムはテクノロジープレビューです)
- ext4
- XFS (XFS はレイヤー製品であり、kexec kdump を有効にするにはインストールする必要があります)
pkgtemp
モジュールは coretemp
モジュールにマージされたため、pkgtemp
モジュールは非推奨になりました。coretemp
モジュールは、以前にサポートしていたすべての機能に加えて、pkgtemp
モジュールによりサポートされていた機能にも対応するようになりました。
coretemp
はコアの温度ごとに提供し、pkgtemp
モジュールは CPU パッケージの温度を提供していただけでした。Red Hat Enterprise Linux 6.2 では coretemp
モジュールにより、コア (core)、非コア (uncore)、およびパッケージ (package) の温度を読み取ることが可能になりました。
Red Hat Enterprise Linux 6.2 では、SCSI midlayer はオプションの SCSI ドライバー queuecommand
機能のロックレスディスパッチをサポートしています。
scsi_host_template
構造にあるこれまで使われていないフラグを使用して、SCSI ホストバスロックが有効にされることなくドライバー queuecommand
がディスパッチされることを SCSI midlayer に示します。
queuecommand
ディスパッチ中に Scsi_Host
ロックは有効となります。scsi_host_alloc
の前に scsi_host_template
ロックレスビットを設定すると、Scsi_Host
ロックが有効にされることなくドライバー queuecommand
機能がディスパッチされます。そのような場合、必要となるロック保護の責任はドライバー queuecommand
コードパスに 引き下げ られます。
queuecommand
を使用するよう更新された SCSI Drivers は、以下のとおりです。
- iscsi_iser
- be2iscsi
- bnx2fc
- bnx2i
- cxgb3i
- cxgb4i
- fcoe (ソフトウェア fcoe)
- qla2xxx
- qla4xxx
Red Hat Enterprise Linux 6.2 には、テクノロジープレビュー として FCoE ターゲットモードに対するサポートが含まれています。このカーネル機能は、targetadmin を使って設定でき、fcoe-target-utils パッケージにより提供されます。FCoE は、DCB (データセンターブリッジング) をサポートするネットワーク上で使用されるよう設計されています。詳細については、dcbtool(8)
と targetadmin(8)
の man ページに記載されています。
重要
Red Hat Enterprise Linux 6.1 では、BZ#605786 のとおり crashkernel=auto
ブートパラメーターは非推奨でした。Red Hat Enterprise Linux 6.2 では、crashkernel=auto
に対するサポートはすべての Red Hat Enterprise Linux 6 システムで継続されます。
mdadm
および mdmon
ユーティリティは、Array Auto-Rebuild、RAID Level Migrations、RAID 5 サポート制限、SAS-SATA ドライブローミングをサポートするよう更新されました。
Red Hat Enterprise Linux 6.2 はフラッシュ要求のマージに対応して、フラッシュの実行が遅いデバイスをサポートします。
Red Hat Enterprise Linux 6.2 では UV2 Hub サポートを追加しました。UV2 は UVhub チップで、現在の UV1 hub チップに取って代わるものです。UV2 は現在開発中の HARP ハブチップを使用します。UV2 は新しい Intel ソケットに対応します。UV2 の新機能によりパフォーマンスが向上します。UV2 は SSI の 64 TB メモリーに対応するよう設計されています。加えて、ノードコントローラー MMR も UV システム向けに更新されました。
Red Hat Enterprise Linux 6.2 は、kdump が ACPI RSDP アドレスを渡すよう acpi_rsdp
ブートパラメーターを導入したため、kdump カーネルは EFI (拡張ファームウェアインターフェース) なしにブートできます。
以下の拡張機能が、QETH ネットワークデバイスドライバーに追加されました。
af_iucv
HiperSockets トランスポートに対するサポート- シグナルアダプターの強制表示のサポート
- ストレージブロックの非同期配信に対するサポート
if_ether
モジュールに新しいイーサネットプロトコル ID を追加
IBM zEnterprise 196 による、新しい CPACF (CP Assist for Cryptographic Function) アルゴリズムへのサポートが追加されました。アルゴリズムを加速する新しいハードウェアは以下のとおりです。
- AES の CTR モード
- DES および 3DES の CTR モード
- キーの長さが 128 ビットと 256 ビットである AES の XTS モード
- GCM モードの GHASH メッセージダイジェスト
Red Hat Enterprise Linux 6.2 は、pci=realloc
カーネルパラメーターによる条件付きのリソース再配分に対応します。この機能は、回帰することなく追加で PCI リソースを動的に再配分するための一時的な解決策を提供します。デフォルトでは動的な再配分は無効ですが、pci=realloc
カーネルコマンドラインパラメーターにより有効にできます。
デフォルトでは、動的な再配分は無効です。pci=realloc
カーネルコマンドラインパラメーターにより有効にできます。また、ブリッジリソースは PCI assign unassigned
コールの広範囲を提供できるよう更新されました。
Red Hat Enterprise Linux 6.2 は、カーネルの SMEP (Supervision Mode Execution Protection) を有効にします。SMEP は強制メカニズムを提供し、スーパーバイザーモードにある間にユーザーページから実行される予定がない要件をシステムが設定できるようにします。その後、この要件は CPU により強制されます。この機能により、システムコードの脆弱性に関係なく、CPU がスーパーバイザーモードにある間にユーザーモードページから実行されるすべての攻撃を防止することができます。
最新の Intel プラットフォーム用の強化された高速文字列 REP
MOVSB
/STORESB
の手順に対するサポートが追加されました。
USB 3.0 xHCI ホスト側のドライバーが更新され、分割ハブサポートが追加されました。USB 3.0 roothub と USB 2.0 roothub を登録することで xHCI ホストコントローラーが外部 USB 3.0 ハブとして機能できます。
ACPI、APEI、EINJ パラメーターのサポートはデフォルトでは無効です。
Red Hat Enterprise Linux 6.2 は、pstore — プラットフォーム依存の永続ストレージに対するファイルシステムインターフェースへのサポートを追加しました。
printk ベースの APEI (ACPI Platform Error Interface) ハードウェアエラー報告に対するサポートが追加されました。様々なソースからのエラーを統合して、システムコンソールに送る方法を提供します。
ioatdma
ドライバー (dma
エンジンドライバー) が、dma
エンジンを使用する Intel プロセッサに対応するよう更新されました。
Digi/IBM PCIe 2-port Async EIA-232 Adapter に対するサポートが、8250 PCI シリアルドライバーに追加されました。また、Digi/IBM PCIe 2-port Async EIA-232 Adapter の EEH (拡張エラー処理) サポートが、8250 PCI シリアルドライバーに追加されました。
ARI (Alternative Routing- ID Interpretation) サポート、PCIe v2 機能が Red Hat Enterprise Linux 6.2 に追加されました。
PCIe OBFF (Optimized Buffer Flush/Fill) 有効/無効サポートが、Intel の最新プラットフォーム向けに追加されました。OBFF は、割り込みとメモリーアクティビティ、それらの低下する可能性があるパワーの影響に関する情報をデバイスに提供して、最終的にはエネルギー効率を改善します。
Red Hat Enterprise Linux 6.2 では、カーネルは dmesg
バッファーからカーネルの oops/panic レポートを PowerPC アーキテクチャの NVRAM にキャプチャするため有効です。
MXM ドライバーは、NVIDIA プラットフォームでグラフィックススイッチングを処理する役割があり、Red Hat Enterprise Linux 6.2 にバックポートされました。
Red Hat Enterprise Linux 6.2 では、ページコアレッシングを導入しました。これは、IBM Power サーバーにある機能で、論理パーティション間で同一ページをコアレッシングできます。
L3 キャッシュパーティション分割に対するサポートが、最新の AMD family CPU に追加されました。
thinkpad_acpi
モジュールが更新され、新しい ThinkPad モデルが追加されました。
最新の Intel processor C-State サポートが intel_idle に追加されました。
Red Hat Enterprise Linux 6.2 は、AMD システムで IOMMU (I/O メモリー管理ユニット) に関する警告を表示します。
ブート時の dmesg
へのボード、システム、BIOS 情報のログが追加されました。
cputable
エントリがカーネルに追加され、最新 IBM PowerPC プロセッサファミリーに対応するようになりました。
VPHN (Virtual Processor Home Node) 機能が IBM System p で無効になりました。
以下のドライバーは、最新の Intel チップセットでサポートされています。
i2c-i801
SMBus ドライバーahci
AHCI モード SATAata_piix
IDE モード SATA ドライバー- TCO Watchdog ドライバー
- LPC Controller ドライバー
IBM PowerPC システムでは、sysctl または /proc/sys/kernel/exec-shield
パラメーターの exec-shield
値は強制でなくなりました。
64-bit PowerPC および 64-bit IBM POWER Series システムの kdump
をサポートするための確認と修正が追加で行われました。
UV MMTIMER モジュール (uv_mmtimer
) が SGI プラットフォームで有効になりました。uv_mmtimer
モジュールにより、ユーザーランドがすべてのハブ全体に同期された UV システムのリアルタイムクロックに直接アクセスできます。
IB700
モジュールへのサポートが Red Hat Enterprise Linux 6.2 に追加されました。
aer_mask_override
モジュールパラメーターが追加され、PCI デバイスに対する修正済みまたは未修正マスクをオーバーライドする方法を提供します。マスクは、ステータスに対応するビットが aer_inject()
機能に渡されるようにします。
USB 3.0 ホストコントローラーのサポートが、64-bit PowerPC および 64-bit IBM POWER Series システムに追加されました。
改善されたアップストリームの OOM (Out of Memory) killer の実装が、Red Hat Enterprise Linux 6.2 にバックポートされました。改良点は以下のとおりです。
- OOM killer は終了しようとしているプロセスの方を選択します。
- OOM kill プロセスは、選択されたプロセスの子も kill します。
- ヒューリスティックが追加され、
forkbomb
プロセスを kill します。
oom_score_adj
/proc
調整可能なパラメーターは、各プロセスの oom_score_adj
変数に保管されている値を追加し、/proc
で調整可能です。これにより、ユーザースペースで OOM killer がそれぞれのプロセスを選択する度合いを調整することができます。-1000
に設定すると OOM kill を全体的に無効にし、+1000
に設定するとこのプロセスを OOM のプライマリ kill ターゲットとしてマークすることになります。
Red Hat Enterprise Linux 6.2 には更新された zram
ドライバーが備わっています (汎用 RAM ベースの圧縮ブロックデバイスを作成)。
Red Hat Enterprise Linux 6.2 では、top ユーティリティが使用するマイクロ秒の粒度で CPU 時間を提供することによって、カーネルの taskstat ユーティリティ (ASET タスクステータスを表示) が強化されました。
Red Hat Enterprise Linux 6.2 は、バージョン 3.1 へのカーネルアップグレードと併せて perf ユーティリティをアップストリームバージョン 3.1 に更新しました。perf ユーティリティにより提供された新しくサポートされるカーネル機能については、BZ#725524 を参照してください。perf ユーティリティの更新版には、以下が含まれます。
- cgroup サポートを追加
/proc/sys/kernel/kptr_restrict
の処理の追加- キャッシュミス比率の表示の追加
- CPU イベントを表示するための
-d -d
および-d -d -d
オプションの追加 --sync/-S
オプションの追加PERF_TYPE_RAW
パラメーターに対するサポートの追加-f/--fields
オプションに関するドキュメントの追加- python binding サポートへの python-perf パッケージの追加
Red Hat Enterprise Linux 6.2 は最新 Intel プロセッサに対する OProfile サポートを追加します。
IRQ (割り込み要求) の数は すべての irq の合計 (sum of all irq) カウンターでカウントされており、/proc/stat
ファイルのルックアップコストを削減します。
Red Hat Enterprise Linux 6.2 では、スリープおよびプリエンプトパスの次の buddy ヒントについてスケジューラにヒントが提供されるようスケジューリングを改善しました。このヒント/拡張機能は、複数のタスクグループにある複数タスクのワークロードに役立ちます。
Red Hat Enterprise Linux 6.2 では、Transparent Hugepage がカーネルの数箇所でサポートされるようになりました。
- mremap、mincore、mprotect のシステムコール
/proc
の調整可能なパラメーターである、/proc/<pid>/smaps
と/proc/vmstat
Red Hat Enterprise Linux 6.2 は、FIPS-140 要件に適合するよう XTS (XEX ベースの Tweaked CodeBook) AES256 self-tests を追加しました。
以前は、SELinux netfilter フックがパケットをドロップすると NF_DROP
を返していました。Red Hat Enterprise Linux 6.2 では、netfilter フックのドロップは永続かつ致命的なエラーとして示され、一時的なものではありません。そうすることでエラーはスタックにまで戻され、一部ではアプリケーションは問題があった迅速な対話を可能にします。
Red Hat Enterprise Linux 6.2 では、再マウントのマウントオプション (mount -o remount
) は新しい LSM フックに渡されます。
Red Hat Enterprise Linux 6.0 および 6.1 では、物理アドレスモードで実行中の UEFI システムにデフォルト設定されていました。Red Hat Enterprise Linux 6.2 では、仮想アドレスモードで実行中の UEFI システムにデフォルト設定されています。以前の動作は、physefi
カーネルパラメーターを渡すことで取得できる場合があります。
Red Hat Enterprise Linux 6 では、SSH 経由でコアを kdump するためのデフォルトの方法 core_collector
が、scp
から makedumpfile
に変更しました。これは、ネットワークリンクでコピーする場合にコアファイルのサイズを縮小するのに役立ち、高速なコピーが可能になります。
/etc/kdump.conf
ファイルで以下を指定します。
core_collector /usr/bin/scp