第36章 カーネル

一部の ext4 ファイルシステムのサイズ変更ができない

ext4 コード内のバグが原因で現在、1 キロバイトのブロックサイズで 32 メガバイト未満の ext4 ファイルシステムはサイズ変更を行えません。

iSER を有効にしている iSCSI ターゲットで接続ロスが繰り返される

iSER を有効にしている iSCSI ターゲットとしてサーバーを使用している場合、接続の損失が繰り返し発生するとターゲットが応答を停止する可能性があります。このためカーネルが反応しなくなります。この問題を回避する場合は iSER 接続の損失を最小限に抑えるか iSER iSCSI 以外のモードに戻します。

インストーラーが EDD システム上のイーサネット上ファイバーチャネル (FCoE) ディスクを検出しない

EDD システムでは、edd ドライバーがないことから、Anaconda は自動的に FCoE ディスクを検出しません。このため、これらのディスクはインストール中に使用できません。
この問題を回避するには、以下の手順を実行します。
* fcoe=edd:nodcb をインストール中にカーネルコマンドラインに追加すると、Anaconda が FCoE ディスクを検出するようになります。
* fcoe=edd:nodcb をレスキューイメージに追加し、システムをこれで起動します。
* 以下のコマンドを実行して、edd モジュールを initrd イメージに追加します。
#dracut --regenerate-all -f
#dracut --add-drivers edd /boot/initramfs-3.10.0-123.el7.x86_64.img
* システムをデフォルトのブートメニューエントリーで再起動します。

特定の状況下では、NUMA バランス機能が適切に作動しない

Red Hat Enterprise Linux 7 では以下の条件の場合、Linux カーネルの Non-Uniform Memory Access (NUMA) バランス機能が適切に作動しません。numa_balancing オプションが設定されると、一部のメモリーは制約ノードに移動する前に目的ノードではない任意のノードに移動する可能性があり、目的ノードのメモリーが特定の状況下で減少します。現在、既知の回避策はありません。

PSM と PSM2 の API の競合を避けるために PSM2 MTL が無効にされている

新たな libpsm2 パッケージは、Intel Omni-Path デバイスとの使用目的で PSM2 API を提供します。これは、Truescale との使用目的で infinipath-psm パッケージがインストールする Performance Scaled Messaging (PSM) API と重複します。API の重複は、両方のパッケージが提供するライブラリーにプロセスがリンクする際に、未定義の動作につながります。この問題は、有効にされた MCA モジュールセットに psm2 Matching Transport Layer (MTL) と、infinipath-psm パッケージの libpsm_infinipath.so.1 ライブラリーに直接または間接的に依存する 1 つ以上のモジュールが含まれる場合、Open MPI に影響が出ます。
PSM と PSM2 API の競合を避けるために、Open MPI の psm2 MTL は /etc/openmpi-*/openmpi-mca-params.conf 設定ファイルでデフォルトで無効になっています。これを有効にすると、psm および ofi の MTL を無効にし、さらに競合する usnic Byte Transfer Layer (BTL) を無効にする必要があります (設定ファイルのコメントに指示があります)。
libpsm2-compat-develinfinipath-psm-devel のパッケージ間にも競合があります。これは両方に PSM ヘッダーファイルが含まれるためです。このため、これらのパッケージを同時にインストールすることはできません。一方をインストールする場合は、他方をアンインストールしてください。

perf ユーティリティーのパフォーマンス問題

perf archive コマンドは perf.data ファイル内にあるビルド ID でオブジェクトファイルのアーカイブを作成しますが、IBM System z 上では時間がかかります。現時点ではこの問題の回避策はありません。他のアーキテクチャーではこの問題は見られません。

qlcnic がボンディングによるスレーブ化に失敗する

特定のボンディングモードがデバイス上の MAC アドレスを設定しますが、qlcnic ドライバーはこれを適切に認識しません。これにより、デバイスは元の MAC アドレスがボンディングから削除されると、これを復元できません。
回避策としては、qlcnic ドライバーのスレーブ化を解除し、オペレーティングシステムを再起動します。

64 ビットの ARM Applied Micro コンピューターでインストールに失敗する場合がある

Applied Micro の特定の 64 ビット ARM システムでは、Red Hat Enterprise Linux 7.2 のインストールが失敗して、以下のエラーメッセージが出ます。
Unable to handle kernel NULL pointer dereference at virtual address 0000033f
現時点では、この問題の回避策はありません。

VFIO デバイスの libvirt 管理がホストのクラッシュにつながる

VFIO ドライバーを使用してゲストに割り当てられる、ホスト PCI デバイスの libvirt 管理では、ホストカーネルドライバーと vfio-pci ドライバーが同時に同一の IOMMU グループにあるデバイスにボンディングされる場合があります。これは無効な状態で、ホストが予期せず終了する原因となります。
現時点の唯一の回避策は、同一の IOMMU グループに他のデバイスがある場合には、ゲストから VFIO デバイスのホットアンプラグを実行しないことです。

iSCSI および IPv6 を使用したインストールが 15 分間ハングする

IPv6 が有効になっていると、指定された iSCSI への接続試行後に Dracut が 15 分間タイムアウトします。最終的には Dracut は接続に成功し、予想通り続行しますが、この遅延を避けるには、インストーラーのコマンドラインで ip=eth0:auto6 を使用します。

i40e NIC のフリーズ

ファームウェアが古いと、i40e ドライバーを使用したネットワークカードが無作為検出モードに入った後、約 10 秒間使用できなくなります。この問題を回避するには、ファームウェアを更新します。

i40e が WARN_ON を発行

コードが rx_ring 構造体をクローンしているものの、新規メモリーを割り当てる前にポインターをゼロ化していないため、i40e ドライバーが WARN_ON マクロを発行します。この警告はシステムには無害であることに留意してください。

netprio_cgroups が起動時にマウントされない

現在は、systemd は /sys/fs/cgroup/ ディレクトリーを読み取り専用としてマウントするので、/sys/fs/cgroup/net_prio/ ディレクトリーのデフォルトのマウントが妨げられます。このため、netprio_cgroups モジュールが起動時にマウントされません。この問題を回避するには、mount -o remount コマンドに rw -t cgroup nodev /sys/fs/cgroups を続けます。これにより、モジュールベースの cgroups を手動でインストールできます。