Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8. カーネルに関する更新
8.1. 一般のカーネル機能サポート
- デバイスマッパーマルチパスの ALUA (Asymmetric Logical Unit Access、非対称論理ユニットアクセス) サポートが更新され、Clariion ストレージに対する明示的な ALUA サポートが追加されました。 以前のバージョンの Red Hat Enterprise Linux 5 には暗黙的 ALUA のサポートが追加されていました (例:オペレーティングシステムはパフォーマンスが最適化されたストレージデバイスパスや最適化されていないストレージデバイスを認識しません)。 オペレーティングシステムが最適化されていないパスに I/O を送り続けると、ストレージデバイスが透過的にそのパスを最適化し、パフォーマンスが向上されるため、アイドル状態のパスが最適化されません。Red Hat Enterprise Linux 5.4 では、Clariion ストレージに対する 明示的な ALUA サポートが導入されました (例: オペレーティングシステムがストレージデバイスと情報を交換し、パフォーマンスが最適化されたパスを選択できます)。(BZ#482737)
- アップストリームカーネルの raw デバイスへのサポートは以前廃止されましたが、カーネルへのサポートが復活しました。 そのため、Red Hat Enterprise Linux 5.4 でも raw デバイスへのサポートも復活しました。 また、initscripts パッケージが更新され、以前廃止された raw デバイスの機能が追加されました (BZ#472891)。
mmu-notifiers
なしで KVM guest-smp tlb がフラッシュすると、メモリが破損することがありました。 これは、他のvcpu
がゲストモードで書き込みを行っているのに KVM がカーネルの freelist にページを追加することがあったからです。 この更新により、カーネルへのmmu-notifier
サポートが追加されました。 また、既存ドライバによってmm_struct
が拡張され、 kABI チェックが失敗する原因となっていた以前のパッチに存在するバグが修正されました。 構造サイズが拡張されないよう、未使用のパディングに存在するインデックスを使用してバグが修正されました (Bugzilla #485718)。- これまで、ポインタや署名演算のオーバーフローのラップは Linux カーネルでは定義されていませんでした。そのため、 GCC (GNU C Compiler) がラップされていないことを前提とし、カーネルがオーバーフローのテストに必要な演算を最適化しようとすることがありました。 今回の更新では、ラップ動作を定義するため
-fwrapv
変数が GCCCFLAGS
追加されました (Bugzilla #491266)。 - 最近 TPC-C (Transaction Processing Council) のベンチマークによって、プロセスがハイエンドシステムの同じメモリを競合する問題が発見されました。 今回の更新には、直接 IO を使用し、パフォーマンスを大幅に向上する (最大9-10%)
fast-gup
パッチが含まれています。 今回の更新は十分テストされ、スケーラビリティを向上するため 5.4 カーネルで使用されます。 詳細は article を参照してください (Bugzilla #474913)。 - 新しい調整可能パラメータがカーネルに追加され、反復毎に
kupdate
がディスクに書き込める最大変更ページ数を管理者が変更できるようになりました。 新しい調整可能パラメータ/proc/sys/vm/max_writeback_pages
のデフォルトは、kupdate
の反復毎に最大 1024 ページが書き込める1024
または 4MB になります(Bugzilla #479079)。 - プロセス毎に IO の統計監視を補助するため、新しいオプション (
CONFIG_TASK_IO_ACCOUNTING=y
) がカーネルに追加されました。 このオプションは、実稼働環境でトラブルシューティングの補助を行います (Bugzilla #461636)。 - これまでのカーネルでは、バックアッププロセスによって DB2 サーバーの応答性が低下しました。 これは、マップされていないページキャッシュメモリの半分以上がダーティである場合、
/proc/sys/vm/dirty_ratio
によってプロセスがページキャッシュメモリに書き込みできないことが原因でした (dirty_ratio
が 100% に設定されている場合でも同様)。 今回のカーネルの更新により、この動作が修正されました。dirty_ratio
が 100% に設定されると、システムがページキャッシュへの書き込みを制限しないようになりました (Bugzilla #295291)。 - The
rd_blocksize
option found in the previous kernel's ramdisk driver was causing data corruption when using large ramdisks under a reasonable system load. This update removes the unnecessary option and resolves the data corruption issues. (Bugzilla #480663) getrusage
はプロセスのリソース使用率を確認するために使用されます。 問題の診断やリソースの使用についてデータを収集するのに便利です。getrusage
が問い合わせたプロセスが子プロセスのスレッドを生成した場合、getrusage
は親プロセスのみを確認し、子プロセスは問い合わせないため、正しくない結果が取得されました。 今回の更新ではrusadge_thread
が実装され、このような状況でも正確なリソース使用率が取得できるようになりました (Bugzilla #451063)。- ヘッダ
/usr/include/linux/futex.h
が C ソースコードファイルのコンパイルに干渉し、エラーが発生しました。 今回の更新では、問題のあったカーネルのみの定義が修正され、コンパイルのエラーが解決されました (Bugzilla #475790)。 - これまでのカーネルでは、パニックや oops の出力メッセージにカーネルバージョンが特定されていませんでした。 今回の更新では、oops とパニックの出力にカーネルバージョン情報が追加されるようになりました (Bugzilla #484403)。
- リリース 2.6.18 では、glibc パッケージのカーネルヘッダを提供するようカーネルが設定されていました。 このプロセスによって、複数ファイルのインクルードが不適切にマークされました。
serial_reg.h
ファイルが不適切にマークされ、kernel_headers
rpm に含まれませんでした。 これにより、他の rpm のビルドに問題が発生する原因となっていました。 今回の更新により、serial_reg.h
ファイルが追加され、この問題が修正されました (Bugzilla #463538)。 - HP Unified Parallel C (UPC) 製品のプロセスマネージャである
upcrund
が、サブスレッドによってフォークされた子プロセスに対してsetpgid()
を呼び出す際に、ESRCH の結果を返信し、異常が発生することがありました。 今回の更新によって、この問題を修正するパッチが追加されました (Bugzilla #472433)。 - 実行プロセスに関するバックトレース情報を表示する機能が
sysrq-t
に追加されました。この機能はハングしたシステムのデバッグに使用できます (Bugzilla #456588)。
8.1.1. デバッグ
Red Hat Enterprise Linux 5.4 にコアダンプの生成に関する機能が追加され、カーネルのデバッグが改善されました。 コアダンプ (メモリスナップショット) はシステムやカーネルクラッシュのデバッグを行うのに便利です。 今回の更新により、ヒュージページ (hugepage) を使用するシステムでコアダンプを実行できるようになりました (BZ#470411)。 また、
makedumpfile
コマンドを使用してコアダンプファイル (vmcore) よりカーネルパニックメッセージを抽出できるようになりました(BZ#485308)。
8.1.2. セキュリティ
- 今回の更新により、これまで任意の 32 文字だったカーネルキーフィールドの最大文字数が 255 文字になりました(Bugzilla #475145)。
- 今回のカーネルの更新により、NFSD (ネットワークファイルシステムデーモン、Network File System daemon) を使用してエクスポートされたファイルシステム上に root 以外のユーザーがデバイスノードを作成することができるセキュリティの問題が対処されました。 この更新により、
CAP_MKNOD
およびCAP_LINUX_IMMUTABLE
) の機能をファイルシステムマスクの FSUID が 0 であるユーザーに返されます (Bugzilla #497272 and Bugzilla #499076)。 - FIPS140 (米国連邦情報処理規格、Federal Information Processing Standardization 140) の認証要件に準拠するため、今回の更新には下記が含まれています。
ansi_cprng
(Bugzilla #497891)、ctr(aes)
モード (Bugzilla #497888)、 Hmac-sha512 (Bugzilla #499463)、rfc4309(ccm(aes))
. (Bugzilla #472386) の独自テスト。- ブート処理中に GRUB がチェックサムを実行する署名ファイルを作成するコード (Bugzilla #444632)。
- モジュール署名に対し、DSA キーを 512 ビットから 1024 ビットに変更するコード (Bugzilla #413241)。
8.2. 一般のプラットフォームサポート
スロットリング状態 (T-State) 通知のサポートがカーネルの ACPI (Advanced Configuration and Power Interface) 実装に追加されました。 T-State 通知の追加により、データセンターの電源管理に対する Intel® Intelligent Power Node Manager の使用が向上されます(BZ#487567)。
8.3. ドライバに関する更新
8.3.1. OFED (Open Fabrics Enterprise Distribution) ドライバ
OFED (OpenFabrics Alliance Enterprise Distribution) は、Infiniband や iWARP のハードウェア診断ユーティリティ、Infiniband ファブリック管理デーモン、Infiniband/iWARD カーネルモジュールローダー、RDMA (リモート直接メモリアクセス、Remote Direct Memory Access) 技術を使用するアプリケーションを書くためのライブラリや開発パッケージの集合です。Red Hat Enterprise Linux は、Infiniband/iWARP/RDMA ハードウェアサポートの完全スタックとして OFED ソフトウェアスタックを使用します。
Red Hat Enterprise Linux 5.4 では、OFED の以下の機能がアップストリームバージョン 1.4.1-rc3 に更新されました。
- RDMA (リモート直接メモリアクセス、Remote Direct Memory Access) ヘッダ(BZ#476301)
- RDS (Reliable Datagram Sockets) プロトコル (BZ#477065、BZ#506907)
- SDP (Sockets Direct Protocol) (BZ#476301)
- SRP (SCSI RDMA Protocol) (BZ#476301)
さらに、以下の OFED ドライバがアップストリームバージョン 1.4.1-rc3 に更新されました。
- Chelsio T3 ネットワークデバイスファミリの cxgb3 ドライバおよび iw_cxgb3 ドライバ (BZ#476301、 BZ#504906)
- mthca ベース InfiniBand HCA (ホストチャネルアダプタ、Host Channel Adapter) のドライバ (BZ#476301、 BZ#506097)
- qlgc_vnic ドライバ (BZ#476301)
注記
開発途上である OFED の技術を最大限に提供するため、Red Hat はアップストリームの OFED コードベースを綿密に追求しています。 そのため、Red Hat はマイナーリリースではアップストリームのプロジェクトに合わせて API/ABI の互換性のみを維持します。 これは、Red Hat Enterprise Linux の開発における通常の慣行とは異なる例外となります。
8.3.2. 一般のドライバに関する更新
- Intel 5400 クラスメモリコントローラの
i5400
ドライバが更新され、EDAC (Error Detection And Correction) のサポートが追加されました (BZ#462895)。 - iic-bus インターフェースの
i2c
ドライバが更新され、AMD SB800 製品ファミリへのサポートが追加されました。 i2c-piix4
ドライバが更新され、Broadcom HT1100 チップセットのサポートが追加されました (BZ#474240)。- hpilo ドライバが更新されました (BZ#488964)。
- Davicom イーサネットアダプタの
dm9601
が更新されました。
8.3.3. ネットワークドライバに関する更新
ipw3945
ワイヤレスラップトップネットワークドライバの維持管理を担当していたアップストリームの企業が維持管理を停止したため、Red Hat は責任を持ってipw3945
ドライバを完全サポートできなくなりました。ipw3945
ドライバを管理していた企業の指示に従い、Red Hat はipw3945
ドライバをiwl3945
ドライバに移行しました (当初、Red Hat Enterprise Linux 5.3 に導入)。iwl3945
ドライバは、3945 ハードウェアに関連するドライバの問題に対し継続して対応します。 3945 ハードウェアを持つシステムに Red Hat Enterprise Linux 5.4 をフレッシュインストールまたは完全インストールすると、 iwl3945 ドライバがインストールされます。移行を簡単にするため、Red Hat は今後もipw3945
ドライバを Hat Enterprise Linux 5.4 に提供しますが、iwl3945
ドライバへの移行を推奨します。 Red Hat Enterprise Linux 5.4 以前のバージョンで完全インストールされたシステムより更新をインストールする場合は、Red Hat ナレッジベース を参照してください。ipw3945
ドライバによる問題を報告すると、iwl3945
ドライバに移行して問題を解決するよう促されることがあります。 例えば、VPN コンセントレータに関連する既知の問題の場合、iwl3945
ドライバに移行することで問題が解消されます。注記
iwl3945 ドライバを使用するには、補助 RHN チャンネルよりiwl3945-firmware
パッケージをインストールする必要があります。 パッケージバージョン 15.28.2.8-2 以上 (iwl3945-firmware-15.28.2.8-2
以上) が必要となります。ipw3945
ドライバを使用すると、`ifconfig`
コマンドの出力でデバイス名が eth0 (または eth1) として表示されます。 iwl3945 ドライバの場合は wlan0 として表示されます。- the bonding driver has been updated to the latest upstream version. This update, however has introduced symbol/ipv6 module dependency capabilities. Therefore, if IPv6 has been previously disabled (by inserting the
install ipv6 /bin/false
line in the/etc/modprobe.conf
file) an upgrade to the bonding driver in 5.4 will result in the bonding kernel module failing to load. Theinstall ipv6 /bin/false
line needs to be replaced withoptions ipv6 "disable=1
for the module to load properly. - Intel® I/OAT (Intel® I/O Acceleration Technology) がバージョン 2.6.24 に更新されました (BZ#436048)。
- Intel® Gigabit イーサネットアダプタの
igb
ドライバがバージョン 1.3.16-k2 に更新されました。 この更新により、igb
ドライバの GRO サポートも有効になりました (BZ#484102、 BZ#474881、 BZ#499347)。 igbvf
ドライバが更新され、Intel 82576 Gigabit イーサネットコントローラに仮想関数のサポートが提供されるようになりました (BZ#480524)。- Intel 10 Gigabit PBetaCI Express ネットワークデバイスの
ixgbe
ドライバがバージョン 2.0.8-k2 に更新されました。 この更新により、ixgbe
ドライバの GRO サポートも有効になりました (BZ#472547、 BZ#499347)。 - Broadcom Tigon3 イーサネットデバイスの
tg3
ドライバがバージョン 3.96 に更新されました (BZ#481715、 BZ#469772)。 この更新により、5785F デバイスと 50610M デバイスのサポートが追加されました (BZ#506205)。 cnic
ドライバが追加され、bnx2
ネットワークデバイスに iSCSI (Internet Small Compuer System Interface) のサポートが提供されるようになりました (BZ#441979)。- Broadcom Everest ネットワークデバイスの
bnx2x
ドライバがバージョン 1.48.105 に更新されました (BZ#475481)。 - Chelsio T3 ネットワークデバイスファミリの cxgb3 ドライバが更新され、SCSI TOE (TCP Offload Engine) と GRO (Generic Receive Offload) のサポートが有効になりました (BZ#439518、 BZ#499347)。
- NVIDIA nForce デバイスの
forcedeth
イーサネットドライバがバージョン 0.62 に更新されました (BZ#479740)。 - Marvell Yukon 2 チップセットを使用するイーサネットコントローラの sky2 ドライバが更新されました (BZ#484712)。
- Cisco 10G イーサネットデバイスの enic ドライバがバージョン 1.0.0.933 に更新されました (BZ#484824)。
- Intel PRO/1000 イーサネットデバイスの e1000e ドライバがアップストリームバージョン 1.0.2-k2 に更新されました (BZ#480241)。
- Emulex Tiger Shark 統合ネットワークアダプタの be2net ドライバが技術プレビューとして追加されました。
8.3.4. ストレージドライバに関する更新
- The
bnx2
driver now supports iSCSI. Thebnx2i
driver will access thebnx2
driver through thecnic
module to provide iSCSI offload support. To managebnx2i
, use theiscsi-initiator-utils
package. For instructions onbnx2i
configuration, please refer to 『section 5.1.2』 of the/usr/share/docs/iscsi-initiator-utils-<version>/README
file. (BZ#441979 and BZ#441979)今リリースに含まれるbnx2i
バージョンは IPv6 をサポートしていません。 md
ドライバが更新され、ビットマップのマージ がサポートされるようになりました。 この機能によって、データの複製を行う際に完全再同期化が必要なくなります。 (BZ#481226)。- 今リリースの
scsi
レイヤには次の更新が含まれます。scsi
ドライバにアップストリームscsi_dh_alua
モジュールが追加されました。 これにより、今リリースでは明示的な ALUA (非対称論理ユニットアクセス、Asymmetric Logical Unit Access) サポートが追加されます。dm-multipath
を使用する際にscsi_dh_alua
モジュールを使用するには、multipah.conf
のhardware_handler
タイプにalua
を指定します (BZ#482737)。EMC Clariion デバイスでは、scsi_dh_alua
またはdm-emc
を単独で使用する場合のみサポートされます。scsi_dh_alua
とdm-emc
を両方使用した場合はサポートされません。rdac_dev_list
の構造にmd3000
エントリとmd3000i
エントリが追加されました。 これにより、ユーザーはiscsi_dh_rdac
モジュールによって提供される利点を活用できます。 (BZ#487293)。- ディスクのフォーマット中に iSCSI iBFT インストールがパニックを起こす原因となっていたバグが修正されました (BZ#436791)。
- アップストリームにおける修正の適応や、iSCSI TOE デバイスのサポートを提供するため、
cxgb3
ドライバが更新されました (BZ#439518)。今回のリリースに含まれるcxgb3i
バージョンは IPv6 をサポートしていません。 - 今回のリリースには新しい
mpt2sas
ドライバが含まれます。mpt2sas
ドライバは LSI Logic の SAS-2 アダプタファミリーをサポートします。 SAS-2 は最大データ転送率を 3Gb/s から 6Gb/s へ向上します。mpt2sas
ドライバはdrivers/scsi/mpt2sas
ディレクトリにありますが、従来のmpt
ドライバはdrivers/message/fusion
ディレクトリにあります (BZ#475665)。 aacraid
ドライバがバージョン 1.1.5-2461 に更新されました。 今回の更新は、キュースキャンやコントローラの起動問題などのバグに対して、アップストリームによる修正が適応されています (BZ#475559)。aic7xxx
ドライバの更新により、最大 I/O サイズが拡大されました。 これにより、サポート対象のデバイス (SCSIテープデバイスなど) が書き込みする際のバッファが大きくなりました。cciss
ドライバが更新され、メモリ BAR ディスカバリやrebuild_lun_table
、MSA2012 スキャンスレッドに影響するバグに対してアップストリームの修正が適応されました。 今回の更新により、cciss
の設定変更も適応されました。fnic
ドライバがバージョン 1.0.0.1039 に更新されました。 これにより、アップストリームによる複数のバグ修正が適応され、libfc
モジュールとfcoe
モジュールが更新されました。 また、ランタイム時にデバッグロギングを制御する新しいモジュールパラメータが追加されました (BZ#484438)。ipr
ドライバが MSI-X 割り込みをサポートするようになりました (BZ#475717)。lpfc
ドライバがバージョン 8.2.0.48に更新されました。 これにより、近日リリース予定の OEM プログラムに対するハードウェアサポートが有効になります。 今回の更新により、下記を含むバグ修正も適応されました (BZ#476738 and BZ#509010)。- 仮想化されたファイバーチャンネルスイッチがサポートされるようになりました。
- エラーアテンション割り込みをポーリングできるようになりました。
vport create
およびdelete loop
でのメモリーリークの原因となっていたバグが修正されました。
MPT fusion
ドライバがバージョン 3.04.07rh v2 に更新されました。 この更新により以下を含むバグ修正が適応されました (BZ#475455)。- PAE カーネルでシステムを起動できない原因となっていた
MPT fusion
ドライバのバグが修正されました。 - ドライバがアンロードする際、コントローラが
READY_STATE
に設定されるようになりました。 - デバイスをトランスポート層に追加する前に、
mptsas
ドライバがTUR
(Test Unit Ready) コマンドとReport LUN
コマンドを実行するようになりました。
突然mptctl_ioctl()
が大量の yet benign カーネルエラーメッセージを発行する原因となっていたパッチが戻されました。 今回のリリースでは、mptctl_ioctl()
はこのようなカーネルエラーメッセージを発行しなくなりました。megaraid_sas
ドライバがバージョン 4.08-RH1 に更新されました。 今回の更新により、以下を含むアップストリームによる向上機能や修正が適応されました (BZ#475574)。- ドライバにポーリングモードが追加されました。
- サポート対象のテープドライバに影響するバグが修正されました。 今回のリリースでは、テープドライバに対するコマンドの O/S レイヤタイムアウト値が、
pthru
タイムアウト値として設定されるようになりました。
mvsas
ドライバがバージョン 0.5.4 に更新されました。 今回の更新により、アップストリームによる修正や向上が適応され、Marvell RAID バスコントローラ MV64460、MV64461、MV64462 に対するサポートが追加されました (BZ#485126)。qla2xxx
ドライバがバージョン 8.03.00.10.05.04-k に更新され、FCoCEE (Fibre Channel over Convergence Enhanced Ethernet) アダプタがサポートされるようになりました。 今回のリリースでは、以下を含むアップストリームによるバグ修正もqla2xxx
に適応されました (BZ#471900, BZ#480204, BZ#495092, and BZ#495094)。OVERRUN
が 4GB アダプタや 8GB アダプタを処理する際に検出された不具合が修正されました。- すべての
vports
に非同期イベントが警告されるようになりました。 - QLogic 2472 カードでカーネルパニックが発生するバグが修正されました。
stop_firmware
コマンドの最初の試行がタイムアウトだった場合、リトライが実行されなくなりました。- 固定
optrom
サイズを基にセクタマスク値が決定されないようになりました。 - マルチパスデバイスでの I/O 処理中にパス障害が頻繁に発生するバグが修正されました (BZ#244967)。
- ドライバソースコードが kABI 対応になりました。
- メモリーの開放後に
dcbx
ポインタがNULL
に設定されるようになりました。
この他に、qla2xxx
ドライバに含まれるqla24xx
ファームウェアとqla25xx
ファームウェアがバージョン 4.04.09 に更新されました。qla4xxx
ドライバが更新され、ドライバの障害リカバリが改善されました。 今回の更新により、ホストアダプタで未処理のコマンドが検出されるとアダプタがリカバリできない原因となっていたドライバのバグが修正されました (BZ#497478)。