はじめに
生成AIの推論用にHP Z2 Tower G5 WorkstationでRTX A4000などのdGPUを利用しています。
この筐体はPCIe Gen3 x16スロットの他は、同x1が2つと、x4が1つという4スロット構成です。
あまり考えずに電気的に接続できるからと、X520-DA1のノーブランド互換ボードをUbuntruで利用(ixgbe)していたのですが、接続が不安定でした。
現象
まず認識できる問題は/var/log/kern.logにNICのDown/Upが頻繁に出力される現象です。
2025-11-23T00:11:09.011847+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
2025-11-23T00:11:23.474860+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Down
2025-11-23T00:11:23.668831+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
2025-11-23T00:12:23.575824+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Down
2025-11-23T00:12:25.299800+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
2025-11-23T00:13:21.291741+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Down
2025-11-23T00:13:23.155807+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
2025-11-23T00:14:08.050855+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Down
2025-11-23T00:14:08.403804+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Up 10 Gbps, Flow Control: RX/TX
2025-11-23T00:16:32.571833+00:00 localhost kernel: ixgbe 0000:03:00.0 enp3s0: NIC Link is Down
結果としてネットワーク接続が不安定になります。とはいえすぐに復旧するので、何とか使える、深刻な問題ではない、という認識でした。
対応
NIC以外のカーネルパラメータなどから調べていたのですが、このNICはX520-DA1で、バスは PCIe Gen2 x8 でした。
利用しているHP Z2 G5ではx4バスにしか接続できないので、PCIe Gen2 x4接続となり、一応双方向32Gbpsの帯域があるはずで、
Amazonなどを調べると、X520-DA1カードの中には電気的にも PCIe Gen2 x4 で構成されているものがありました。
これで動作しているなら自分の構成で問題ないのかなとも思いましたが、10GtekのX710-BM2カードに交換しました。
X710カードはSFP+ポートが2つになるので、PCIe Gen3 x8規格のカードを片側Gen3 x4で使えば、Gen2 x8相当前後のスピードはあるはずです。
より新しい方が安定性も高いだろうという判断でしたが、結果的には問題は解決し、ネットワークへの接続性は安定しました。
iperf3の出力
問題が発生した時の結果をコピーできていないのですが、だいたいBitrateが2.4Gbits/sec前後になっていました。
交換後は、以下のように9.4Gbits/secという結果で、十分なスピードが得られています。
$ iperf3 -c 192.168.2.51
Connecting to host 192.168.2.51, port 5201
[ 5] local 192.168.2.11 port 39100 connected to 192.168.2.51 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.08 GBytes 9.27 Gbits/sec 46 1.33 MBytes
[ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.39 MBytes
[ 5] 2.00-3.00 sec 1.09 GBytes 9.40 Gbits/sec 1 1.40 MBytes
[ 5] 3.00-4.00 sec 1.09 GBytes 9.40 Gbits/sec 11 1.41 MBytes
[ 5] 4.00-5.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.42 MBytes
[ 5] 5.00-6.00 sec 1.09 GBytes 9.40 Gbits/sec 0 1.43 MBytes
[ 5] 6.00-7.00 sec 1.10 GBytes 9.41 Gbits/sec 1 1.43 MBytes
[ 5] 7.00-8.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.43 MBytes
[ 5] 8.00-9.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.43 MBytes
[ 5] 9.00-10.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.44 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 10.9 GBytes 9.40 Gbits/sec 59 sender
[ 5] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec receiver
さいごに
PCIeは基本的にバス幅が狭くてもネゴシエーション自体は問題ないはずで、バス幅に余裕はないものの10GbpsのNICを接続することができるはずでした。
調べてみるとPCIe Gen3のバスにGen2カードを接続した時の互換性問題が報告されていました。
このX520-DA1のコントローラーとの間に相性問題があるか判然としませんでしたが、結果的にはPCIe Gen3 x4での半分の帯域しか使えない状況で問題なく動作しています。
実際に使ってみないといろいろ分からないことがあり、勉強になりました。
別のサーバーで、別のX520-DA1互換カードを利用したところBIOSのPOST処理が不安定になる現象に遭遇しました。
その互換カード特有の問題か判別しきれていませんが、現状では接続デバイスの検証処理をスキップさせて対応していますが、Intelの互換NICはどれも同じと思わないで、メーカーOEMの中古や信頼できそうな互換メーカーを選ぶ必要性があるかもしれません。
【後日談】10Gtek 82599ES X520-DA1互換カードでのテスト
他のサーバー用に10GtekのX520-DA1互換カードを購入してみたので、問題のあったZ2 G5 Towerに接続してみました。
$ iperf3 -c 10.1.200.248
Connecting to host 10.1.200.248, port 5201
[ 5] local 10.1.200.11 port 42494 connected to 10.1.200.248 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 879 MBytes 7.37 Gbits/sec 309 452 KBytes
[ 5] 1.00-2.00 sec 889 MBytes 7.46 Gbits/sec 322 66.5 KBytes
[ 5] 2.00-3.00 sec 998 MBytes 8.37 Gbits/sec 119 259 KBytes
[ 5] 3.00-4.00 sec 894 MBytes 7.50 Gbits/sec 195 103 KBytes
[ 5] 4.00-5.00 sec 864 MBytes 7.25 Gbits/sec 266 195 KBytes
[ 5] 5.00-6.00 sec 985 MBytes 8.26 Gbits/sec 237 134 KBytes
[ 5] 6.00-7.00 sec 993 MBytes 8.34 Gbits/sec 319 331 KBytes
[ 5] 7.00-8.00 sec 999 MBytes 8.38 Gbits/sec 119 192 KBytes
[ 5] 8.00-9.00 sec 931 MBytes 7.81 Gbits/sec 187 209 KBytes
[ 5] 9.00-10.00 sec 978 MBytes 8.21 Gbits/sec 125 239 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 9.19 GBytes 7.89 Gbits/sec 2198 sender
[ 5] 0.00-10.00 sec 9.19 GBytes 7.89 Gbits/sec
ちゃんとした用途に使うのであれば互換カードではなく、Intel製かせめてDell/HPなどのOEMカードのX710-DA2やX520-DA2を利用するのがお勧めです。