機械翻訳について

[aarch64] Mellanox ConnectX-3 Pro Ethernetコントローラのネットワーク接続に失敗

Mellanoxネットワークは、特定のファームウェア・バージョンのMellanox ConnectX-3 Pro Ethernetコントローラを使用するArmプラットフォーム・システムで失敗することがあります。 通常、問題は次のdmesg出力になります:

...
[   21.605491] mlx4_core 0001:01:00.0: Failed to initialize event queue
table, aborting
[   22.660967] mlx4_core: probe of 0001:01:00.0 failed with error -12
[   22.704966] mlx4_en: Mellanox ConnectX HCA Ethernet driver v4.0-0
[   22.711355] mlx4_en 0000:01:00.0: Activating port:1
[   22.742948] mlx4_en: 0000:01:00.0: Port 1: Using 32 TX rings
[   22.748600] mlx4_en: 0000:01:00.0: Port 1: Using 8 RX rings
[   22.754437] mlx4_en: 0000:01:00.0: Port 1: Initializing port
[   22.760602] mlx4_en 0000:01:00.0: registered PHC clock
[   22.766283] mlx4_en 0000:01:00.0: Activating port:2
[   22.766956] mlx4_core 0000:01:00.0 enp1s0: renamed from eth0
[   22.778621] mlx4_en: 0000:01:00.0: Port 2: Failed to allocate NIC
resources
[   22.785776] mlx4_en 0000:01:00.0: removed PHC
[   25.488635] mlx4_en: enp1s0: Steering Mode 1
...

この問題は、ブート時にmaxcpus=8カーネル・パラメータを使用して解決でき、ブート・プロセス中に使用可能なCPUの数を制限できます。 システムの起動が完了すると、Systemdは使用可能なすべてのCPUを有効にし、パフォーマンスへの影響はなくなります。

システムのブート時にすべてのカーネルに対して使用されるようにこのパラメータを設定するには、GRUB構成を編集します。 これを行うには、テキスト・エディタで/etc/sysconfig/grubGRUB_CMDLINE_LINUX行を編集します。次に例を示します:

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/linux1-swap rd.lvm.lv=linux1/root \
  rd.lvm.lv=linux1/swap rhgb quiet maxcpus=8"

レガシーBIOSを使用している場合に次回のブートで使用されるようにgrub構成を変更内容で更新するには、次のコマンドを実行します:

# grub2-mkconfig -o /boot/grub2/grub.cfg
               

または、UEFIを使用してブートする場合は、次のコマンドを実行します:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
               

この問題は、このハードウェアのあとのファームウェア・バージョンでのみ発生します。 HVE102M-0.2ファームウェアを使用したカードでは問題はレプリケートされませんが、ファームウェアがHVE104N-1.12にアップグレードされたときには表示されます。 カード・ファームウェアをダウングレードすることで問題を回避することもできます。 (バグID 30877943)