3 既知の問題
この章では、Unbreakable Enterprise Kernelリリース6の既知の問題について説明します。
使用不可または利用不可のArm機能
次の機能は動作しない、テストされていない、または64ビットのArm (aarch64)プラットフォームで機能を使用できない、または使用できない原因となる問題を抱えています:
-
InfiniBand
InfiniBandハードウェアは現在、UEK R6を使用するArmアーキテクチャではサポートされていません。
-
FibreChannel
FibreChannelハードウェアは現在、UEK R6を使用したArmアーキテクチャではサポートされていません。
-
RDMA
RDMAおよびそのサブ機能は、Armアーキテクチャではサポートされていません。
-
Secure Bootおよびロックダウン
Secure Boot機能およびカーネル・ロック・ダウン機能は、Armアーキテクチャでサポートされていないか、または使用できません。
シリアル・ポート・ボー・レートが低すぎる場合は、シリアル・ポート・コンソールがクラッシュする可能性があります
ILOMコンソール・インタフェースの場合のように、物理シリアル・コンソールを使用してシステム出力をモニターするシステムでは、出力レベルが高いほど、カーネルの停止タイマー・イベントなど、プロセスがCPUスケジューラの時間を取得できないことを示すシステム動作が異常に発生する可能性があります。 これは通常、シリアル・コンソールの速度の設定が低すぎて、6以上のログ・レベルがシステムに構成されている場合に発生します。 この問題が発生する可能性を減らすには、ログ・レベルを減らすか、最大可能なbaudレート115200のコンソールを構成します。
UEK R6U1以降では、ボー・レートの設定が低すぎる場合は、dmesg出力に警告が表示されます:
dmesg | grep -A4 -i baud
[ 369.777802] Serial console is set to the default of 9600 baud. This can [ 369.778852] result in stalls or lockups in error conditions requiring a [ 369.779892] large number of console system messages. Please increase the [ 369.780889] rate to the highest your system will allow (for instance, 115200 [ 369.781918] or 57600). See Oracle KM Note 2648582.1 for more information.
実行中のOracle Linux 7またはOracle Linux 8システムの現行コンソールの速度は、次のコマンドを実行して構成済シリアル・ポートに設定できます:
stty -F /dev/ttyS0 speed 115200
システムのブート時に使用されるシリアル・コンソール速度を変更するには、GRUB構成を編集する必要があります。 テキスト・エディタで/etc/sysconfig/grubを編集し、console= ttyS0、115200をGRUB_CMDLINE_LINUXで始まる行に追加します。次に例を示します:
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/linux1-swap rd.lvm.lv=linux1/root \ rd.lvm.lv=linux1/swap rhgb quiet console=ttyS0,115200"
前述の例では、シリアル・コンソールはttyS0であると想定されています。代替シリアル・ポートを使用している場合は、これを変更する必要がある場合があります。
レガシーBIOSを使用している場合は、次のブートで使用されるように、変更内容でgrub構成を更新するには、次のように実行します:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
または、Unified Extensible Firmware Interface (UEFI)を使用してブートする場合は、次のコマンドを実行します:
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Oracle Serverハードウェア、またはシリアル・コンソールへのILOMインタフェースを提供するシステムを使用している場合は、ILOMのシリアル・コンソール構成を更新して、ホスト・オペレーティング・システム内で設定した速度に一致させるようにしてください。 ILOM CLIでシリアル・ポートを設定するには、次を実行します:
sudo set /SP/serial/host pendingspeed=115200 commitpending=true
ILOMの現在のコンソール・ポート速度を確認するには、CLIを使用して次を実行します:
sudo show /SP/serial/host
ILOM構成の詳細は、https://docs.oracle.com/cd/E19203-01/820-1188-12/core_ilom_managing.htmlを参照してください。
(バグID 30487830、30439170)
SELinux表示される権限ウォッチ・メッセージ
UEK R6をSELinuxの許容モードまたは強制モードで起動すると、次のようなメッセージが生成されます:
SELinux: Permission watch in class filesystem not defined in policy. SELinux: Permission watch in class file not defined in policy. SELinux: Permission watch_mount in class file not defined in policy. SELinux: Permission watch_sb in class file not defined in policy. SELinux: the above unknown classes and permissions will be allowed
これらのメッセージは、これらのクラスに対してSELinuxポリシー内に現在定義が存在しないため表示されます。 メッセージの最終行まで、クラスおよび権限はデフォルトで許可されているため、メッセージを無視しても問題ありません。
(バグID 30687021、30687021)
MLSポリシーを使用した強制モードのSELinuxはサポートされていません
SELinuxがMultilevel Security (MLS)ポリシーを使用するように構成されていて、それが強制モードになっている場合は、ファイルシステムのマウントを試みるときにアクセス権エラーや、オペレーティング・システムのブート時にSystemdが凍結する可能性など、オペレーティング・システムの通常の機能が妨げられることがあります。
MLSポリシーで強制モードのSELinuxはサポートされていません。 ターゲット・ポリシーを使用すると、強制モードでSELinuxを引き続き使用できます。
(バグID 30797389、30609238)
広々としたxs_tcp_setup_socket: NFSの使用時にメッセージを接続
NFSを使用すると、ソケット接続エラーに関するメッセージが不正確に表示される可能性があります。 次のようなメッセージが表示される場合があります:
xs_tcp_setup_socket: connect returned unhandled error -107
基礎となる接続の問題が解決され、失敗した接続は自動的に再度開かれます。 機能的に関連する影響がない場合、このエラー・メッセージは無視されることがあります。 このメッセージは、接続上の問題が明らかになった結果としても表示される場合があります。
(バグID 30339848)
Oracle Linux 8で使用すると、mstlinkコマンドはコア・ダンプでクラッシュ
Unbreakable Enterprise Kernelリリース6を実行しているOracle Linux 8システムで実行すると、mstlinkコマンドがクラッシュします。 次の出力は一般的です:
sudo mstlink -d 13:00.1
/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; std::vector< Tp, _Alloc>::reference = unsigned int& std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. Aborted (core dumped)
この問題は、アップストリームに導入され、Oracle Linux 8に存在するシステム全体に影響します。 mstflintパッケージ内のアップストリーム・ツール(mstlinkを含む)は、これらのハードニング変更に対して適切に対応していません。 代替ツールを使用して、ip link, ethtool, ifstatやibv_devinfoなどのリンク情報を収集および構成できます。
(バグID 30993407)
IOMMUカーネル・オプションはデフォルトで有効になっています
UEK R5U1以降、IOMMU機能はx86_64カーネルでデフォルトで有効になっています。 この変更により、単一ルート入出力仮想化(SR-IOV)およびその他の仮想化拡張が容易になりますが、IOMMUが有効になっているときに検出を完了できない特定のハードウェアでブート障害の問題が発生することも知られています。 この機能のステータスは、iommu=onとしてレポートする/proc/cmdには表示されなくなりました。つまり、ブートの失敗が発生した場合は、カーネルcmdlineオプションとして明示的に無効にする必要があります。 代替の回避策として、ベンダーの指示に従って、システムROM内のIOMMUまたはIntel-Vtdを無効にできます。
これらのブート障害の問題は、特定のBroadcomネットワーク・デバイス(HP Gen8サーバーなど)に対応して検出されました。 詳細は、https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04565693を参照してください。
bnxt_re: プローブ・エラー: Broadcom NetXtreme-C/E bnxt_enドライバで特定のハードウェアにインストールしたあと、「RoCE is not supported on this device」と報告される
NetXtreme-C/E bnxt_enドライバを含む一部のハードウェアでは、新規インストール直後に、次のようなメッセージがシステム・ログ(var/log/messages)で確認できます:
grep bnxt /var/log/messages
Apr 26 12:00:30 ca-ostest644 kernel: Broadcom NetXtreme-C/E driver bnxt_en v1.10.1 Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0 (unnamed net_device) (uninitialized): Firmware does not support TC flower offload. Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0 eth1: Broadcom BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01210000, node addr 00:10:e0:d8:33:09 Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0: 63.008 Gb/s available PCIe bandwidth (8 GT/s x8 link) Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.1 (unnamed net_device) (uninitialized): Firmware does not support TC flower offload. Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.1 eth2: Broadcom BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01200000, node addr 00:10:e0:d8:33:0a . . .
dmesgコマンドは、次のようなメッセージをレポートします:
dmesg | grep bnxt
[ 2.703443] Broadcom NetXtreme-C/E driver bnxt_en v1.10.1 [ 2.720552] bnxt_en 0000:18:00.0 (unnamed net_device) (uninitialized): Firmware does not support TC flower offload. [ 2.961037] bnxt_en 0000:18:00.0 eth1: Broadcom BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01210000, node addr 00:10:e0:d8:33:09 [ 2.961044] bnxt_en 0000:18:00.0: 63.008 Gb/s available PCIe bandwidth (8 GT/s x8 link) [ 2.986775] bnxt_en 0000:18:00.1 (unnamed net_device) (uninitialized): Firmware does not support TC flower offload. [ 2.996323] bnxt_en 0000:18:00.1 eth2: Broadcom BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01200000, node addr 00:10:e0:d8:33:0a [ 2.996331] bnxt_en 0000:18:00.1: 63.008 Gb/s available PCIe bandwidth (8 GT/s x8 link) [ 3.011390] bnxt_en 0000:18:00.0 eno2np0: renamed from eth1 [ 3.260089] bnxt_en 0000:18:00.1 eno3np1: renamed from eth2 [ 9.038400] bnxt_re: Broadcom NetXtreme-C/E RoCE Driver [ 9.038472] bnxt_en 0000:18:00.0: bnxt_re: probe error: RoCE is not
一部のOracleサーバーのbnxt_enカード・ファームウェアでRDMAサポートが無効になっているため、これらのエラー・メッセージが報告されます。ただし、この問題はすべてのBroadcom NetXtreme-C/Eカードに影響しないことに注意してください。
この問題を回避するには、インストール前にカード・ファームウェアでRDMAサポートを有効にする必要があります。
(バグID 32819934)
IPv6の使用時にルート・キャッシュがいっぱいであることを示すメッセージが発行されました
システムによっては、IPv6の使用時に、ルート・キャッシュがいっぱいであることを示すエラー・メッセージが表示されます。 次の例のようなエラーが返される場合があります:
[ 5523.456447] Route cache is full: consider increasing sysctl net.ipv[4|6].route.max_size.
これらのエラーの原因や/proc/sys/net/ipv6/route/max_sizeのサイズを増やすことは不明ですが、テスト・システムでは、次のコマンドを実行したあとに問題をレプリケートできませんでした:
sudo sysctl net.ipv6.route.max_size=32768
問題が現在調査中であるため、この値を増やすことが可能な回避策です。
(バグID 30976607)
RoCEを使用すると、IPv6フェイルバックが失敗
rdmaipドライバは、IPv6アドレス変更通知をRDSに送信しません。これにより、RoCEの使用時にIPv6フェイルオーバーが遅延したり妨げたりする可能性があります。 これは、アクティブなボンディングが有効な場合にIPv6でのみ発生します。 IPv4フェイルオーバーは、引き続き正常に動作します。
問題がトリガーされると、カーネル・ログに次のメッセージが表示される場合があります:
kernel: rdmaip: could not add 2001:db8:0:f101::50%4/64 to ens2f0 (port 1)
kernel: IPv6: ens2f0: IPv6 duplicate address 2001:db8:0:f101::50 used by
50:6b:4b:cb:ef:23 detected!修正は開発中ですが、このリリースの時点では使用できません。 この修正はエラータ更新として使用可能になることがあります。
(バグID 31021418)
libpcapパッケージを削除できません
libpcapパッケージを削除しようとしたり、パッケージを削除しようとするアクションを実行しようとすると、依存関係チェーンでsystemdパッケージの削除が必要になり、システムが中断するため、エラーが発生します。
これはOracle Linux 8で予想される動作ですが、以前のOracle Linuxリリースではlibpcapパッケージを削除することが可能であったため、この動作がここに示されています
RDMAパッケージのインストール時など、状況によっては、libpcapがオペレーティング・システム用に提供されるバージョンより新しいバージョンにアップグレードされる場合があります。 これらのパッケージを削除する場合は、BaseOSチャネルまたはリポジトリでオペレーティング・システムに提供されている最高バージョンと一致するようにlibpcapパッケージをダウングレードすることもできます。 通常、これは、dnf history undoコマンドを使用してインストールを元に戻すことで、もっとも簡単に実行できます。 詳細は、DNF(8)のマニュアル・ページを参照してください。
(バグID 30979601)
Infinibandファブリックのネットワーク遅延が増加する可能性があります
TCP書き込みサイズがInfiniband (IB) Maximum Transmission Unit (MTU)のサイズに近い場合、アプリケーションでパケット転送の待機時間が長くなることがあります。 たとえば、デフォルトのIB MTUは65520バイトです。 65520バイトから128 KBまでのTCP書き込みサイズも使用するアプリケーションでは、この問題が発生する可能性があります。 アプリケーションがより大きい(256 KBなど)またはより小さい(4 KBや32 KBなど) TCP書込みサイズを使用している場合、この問題は発生しません。
この問題は、Ethernetネットワークに影響しないことに注意してください。
Oracle LinuxおよびUEK R6のIB MTUおよびTCP書込みサイズのデフォルト値では、この問題は発生しません。 TCPウィンドウ・サイズが変更されたアプリケーション、またはMTU値が変更されたシステムでは、この問題が重複して発生する可能性があります。
この問題の回避方法としては、IBインタフェースのMTUまたはアプリケーションのTCP書き込みサイズのいずれかを調整して、TCP書き込みサイズがIB MTUより小さくなるか、TCP書き込みサイズがIB MTUの2倍よりも大きくなるようにします。 MTUは、ip linkコマンドを使用して動的にチューニングできます。 TCP書込みサイズのチューニングはアプリケーション固有であることに注意してください。
(バグID 31830430)
(aarch64)一部の仮想化Armプラットフォームをプロファイリングすると、Perfツールによってアプリケーションの速度が低下する可能性がある
ノート:
次の問題は、ベア・メタル・インストールには影響しません。
マルチ・ソケットaarch64プラットフォームで実行されている仮想マシン(VM)で、perf topまたはperf recordコマンドを起動すると、アプリケーションの速度低下が発生する可能性があります。 場合によっては、端末ウィンドウで次のメッセージが出力されます:
kernel:watchdog: BUG: soft lockup
この問題を次のように軽減できます:
-
ロック・アップの状況を回避し、プローブの効果を減らすために、-Fフラグを使用して頻度ではなく、perf recordコマンドで-cフラグを使用してサンプル期間を指定できます。 たとえば、perf record -F 100コマンドのかわりにperf record -cコマンドを使用します。
-
perfコマンドを--all-cpusフラグとともに使用しないでください。 かわりに、perf -Cコマンドを使用して最小数のCPUを指定します。
(バグID 32834324)
(aarch64) Kdumpが一部のArmシステムでのクラッシュ・カーネル・メモリーの割り当てに失敗
一部の64ビットArm (aarch64)システムでは、連続するメモリーが不足しているため、auto値の設定時に通常予約される最小crashkernelメモリーを割り当てることができないためにKdumpが失敗することがあります。
この問題により、Kdumpの起動に失敗し、次のエラーがログに表示されます:
kdumpctl[3812]: No memory reserved for crash kernel ... systemd[1]: Failed to start Crash recovery kernel arming.
この問題を回避するには、crashkernelの下限値と上限値を手動で設定し、256 MB未満の下限値を設定してみます。 たとえば、crashkernel=autoをcrashkernel=800M,high crashkernel=200M,lowに置き換えます。
(バグID 31554906)
RDSまたはRDMAを使用するときに、疑わしいtrace_printk警告が発行されます
UEK R6をRDSまたはRDMAとともに使用すると、次のようなメッセージが表示されます:
[ 136.066002] ********************************************************** [ 136.068731] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE ** [ 136.071346] ** ** [ 136.074893] ** trace_printk() being used. Allocating extra memory. ** [ 136.078505] ** ** [ 136.082337] ** This means that this is a DEBUG kernel and it is ** [ 136.086093] ** unsafe for production use. ** [ 136.089887] ** ** [ 136.093682] ** If you see this message and you are not debugging ** [ 136.097192] ** the kernel, report this immediately to your vendor! ** [ 136.100615] ** ** [ 136.104239] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE ** [ 136.108005] ********************************************************** [ 136.209499] NET: Registered protocol family 21 [ 136.229371] Registered RDS/tcp transport
Resilient RDMAIPカーネル・モジュールは現在インフラストラクチャのデバッグにtrace_print()を使用しているため、これらのメッセージが表示されます。 RDS/RDMAシステムでは、これらのメッセージは無視しても問題なく、カーネルが本番での使用に安全でないことを意味しません。
(バグID 31066169)
ipmctl-monitorパッケージは、ipmctlを使用する必要がなくなりました
ipmctl-monitorパッケージは、UEK R6U2で使用可能なipmctlバージョン2.0には必要ありません。 以前のバージョンのipmctlからシステムを更新する場合、または他のipmctlユーティリティとともにipmctl-monitorパッケージをインストールしようとすると、次のような競合が発生する可能性があります:
Error: Problem: cannot install both libipmctl-02.00.00.3852-1.0.1.el8.x86_64 and libipmctl-01.00.00.3467-1.0.1.el8.x86_64 - package ipmctl-monitor-01.00.00.3467-1.0.1.el8.x86_64 requires libipmctl.so.3()(64bit), but none of the providers can be installed - package ipmctl-monitor-01.00.00.3467-1.0.1.el8.x86_64 requires libipmctl(x86-64) = 01.00.00.3467-1.0.1.el8, but none of the providers can be installed - cannot install the best candidate for the job - conflicting requests
システムを更新する場合は、更新を実行する前にipmctl-monitorパッケージを削除してください:
sudo dnf remove ipmctl-monitor sudo dnf update
これらのパッケージを初めてインストールする場合は、インストール・コマンドにipmctl-monitorパッケージを含めないでください。
(バグID 32818557、32516965)