5.6.3. カーネル
i40iw モジュールがシステムの起動時に自動的に読み込まれない
多くの i40e NIC で iWarp に対応しておらず、i40iw モジュールがサスペンド/レジュームに完全に対応していないため、このモジュールがデフォルトで自動的に読み込まれず、サスペンド/レジューム正しく機能させることができません。この問題を回避するには、/lib/udev/rules.d/90-rdma-hw-modules.rules ファイルを手動で編集して、i40iw の自動読み込みを有効にします。
また、同じマシンにある i40e デバイスに、別の RDMA デバイスがインストールされている場合に、i40e 以外の RDMA デバイスで、i40iw モジュールを含む、有効なすべての RDMA スタックモジュールを読み込む rdma サービスが起動します。
(BZ#1623712)
システムにデバイスが多数接続されていると、システムが応答しなくなることがある
Red Hat Enterprise Linux 8 に多数のデバイスを設定すると、システムコンソールにコンソールメッセージが多数表示されます。たとえば、論理ユニット番号 (LUN) が多数あり、その各 LUN へのパスが複数あると、このような状況が発生します。カーネルが行っている他の作業に加えて、コンソールメッセージがあふれるとカーネルがハングするため、カーネルのウォッチドッグによりカーネルパニック発生する場合があります。
スキャンはブートサイクルの早い段階で行われるため、接続されているデバイスが多くなるとシステムが応答しなくなります。これは通常、起動時に発生します。
システム起動後のデバイススキャンイベント中に、マシンで kdump が有効になっていると、ハードロックアップにより vmcore イメージがキャプチャーされます。
この問題を回避するには、ウォッチドッグロックアップタイマーを増やします。これを行うには、カーネルのコマンドラインに watchdog_thresh=N オプションを追加します。N を、次の秒数に置き換えます。
-
デバイスが 1000 台未満の場合は、
30を使用してください。 -
デバイスが 1000 台以上の場合は、
60を使用してください。
ストレージの場合、デバイスの数はすべての LUN へのパスの数です。通常、これは /dev/sd* デバイスの数です。
回避策を適用した後、大量のデバイスを設定してもシステムが応答しなくなることはなくなりました。
(BZ#1598448)
KSM が、NUMA メモリーポリシーを無視することがある
merge_across_nodes=1 パラメーターで、カーネル共有メモリー (KSM) 機能を有効にすると、KSM は、mbind() 関数が設定したメモリーポリシーを無視し、一部のメモリーから、ポリシーに一致しない NUMA (Non-Uniform Memory Access) ノードにページをマージできない場合があります。
この問題を回避するには、KSM を無効にするか、QEMU で NUMA メモリーバインディングを使用する場合は merge_across_nodes パラメーターを 0 に設定します。これにより、KVM 仮想マシンに設定した NUMA メモリーポリシーが期待どおりに機能します。
(BZ#1153521)
qede ドライバーが NIC をハングし、その NIC を使用できなくなるようにする
バグにより、QLogic シリーズの 41000 および 45000 の NIC 用の qede ドライバーで、ファームウェアアップグレードおよびデバッグのデータ収集操作に失敗し、ホストの再起動 (PCI リセット) が NIC を再操作するまで NIC が使用できなくなるか、ハング状態になる可能性があります。
この問題は、以下のすべてのシナリオで検出されました。
- inbox ドライバーを使用して NIC のファームウェアをアップグレードした場合
-
ethtool -d ethxコマンドを実行してデバッグデータを収集した場合 -
ethtool -d ethxを追加してsosreportコマンドを実行した場合 - inbox ドライバーが、IO タイムアウト、Mail Box Command のタイムアウト、Hardware Attention などの自動デバッグデータ収集を開始した場合
Red Hat の今後のエラータは、この問題に対処するために Red Hat Bug Advisory (RHBA) 経由でリリースされます。この問題を回避するには、RHBA がリリースされるまで、https://access.redhat.com/support で、この問題に対するサポート対象の修正を要求するケースを作成します。
(BZ#1697310)
radix ツリーシンボルが kernel-abi-whitelists に追加
Red Hat Enterprise Linux 8 の kernel-abi-whitelists パッケージに、以下の radix ツリーシンボルが追加されました。
-
__radix_tree_insert -
__radix_tree_next_slot -
radix_tree_delete -
radix_tree_gang_lookup -
radix_tree_gang_lookup_tag -
radix_tree_next_chunk -
radix_tree_preload -
radix_tree_tag_set
上記のシンボルは本来存在しなければならないものではなく、RHEL8 ホワイトリストから削除されます。
(BZ#1695142)
podman が、RHEL 8 でコンテナーのチェックポイントに失敗する
Red Hat Enterprise Linux 8 では、CRIU (Checkpoint and Restore In Userspace) パッケージのバージョンが廃止されました。したがって、CRIU は、コンテナーのチェックポイントおよび復元機能に対応しておらず、podman ユーティリティーが、チェックポイントコンテナーに失敗します。podman container checkpoint コマンドを実行すると、エラーメッセージ checkpointing a container requires at least CRIU 31100 が表示されます。
(BZ#1689746)
dracut.conf で add_dracutmodules+=earlykdump オプションを使用すると、early-kdump および標準の kdump が失敗する
現在、early-kdump 用にインストールするカーネルバージョンと、initramfs 用に生成されるカーネルバージョンの間で不整合が発生します。これにより、early-kdump を有効にしてシステムを起動すると、early-kdump が失敗します。また、early-kdump が標準の kdump initramfs イメージに含まれていることを検出すると、強制的に終了します。また、early-kdump を、デフォルトの dracut モジュールとして追加すると、kdump initramfs を再構築しようとする際に、標準の kdump サービスが失敗します。これにより、early-kdump と標準の kdump の両方が失敗します。この問題を回避するには、dracut.conf ファイルに add_dracutmodules+=earlykdump または同等の設定を追加しないでください。これにより、デフォルトで early-kdump が dracut に含まれていないため、問題が発生しなくなります。ただし、early-kdump が必要な場合は、手動で作成する必要があります。
(BZ#1662911)
RHEL 8 で、デバッグカーネルがクラッシュキャプチャー環境で起動に失敗する
デバッグカーネルのメモリー要求の性質により、デバッグカーネルが使用中で、カーネルパニックが発生すると、問題が発生します。その結果、デバッグカーネルはキャプチャーカーネルとして起動できず、代わりにスタックトレースが生成されます。この問題を回避するには、クラッシュカーネルメモリーを適宜増やします。これにより、デバッグカーネルが、クラッシュキャプチャー環境で正常に起動します。
(BZ#1659609)
fadump を使用すると、ネットワークインターフェイスの名前が kdump-<interface-name> に変更されます。
ファームウェアアシストダンプ (fadump) を使用して vmcore をキャプチャーし、SSH または NFS プロトコルでリモートマシンに保存する場合は、<interface-name> がジェネリックであれば (*eth# や net#)、ネットワークインターフェイスは kdump- <interface-name> に名前が変更されます。この問題は、初期 RAM ディスク (initrd) の vmcore 取得スクリプトが、ネットワークインターフェイス名に接尾辞 kdump- を追加して、永続的な名前付けを保護するために発生します。同じ initrd が通常の起動にも使用されるため、実稼働環境のカーネルのインターフェイス名も変更されます。
(BZ#1745507)