3台のサーバーで構成される小さなクラスターがあります。それぞれに2枚の10GbeSFP +光ネットワークカードがあります。 2つの別々の10Gbeスイッチがあります。すべてのサーバーで、1つのNICがスイッチ1に接続され、2番目のNICがスイッチ2に接続されて、フォールトトレランスを提供します。
物理インターフェイスは、LACPを使用してサーバーレベルで結合されます。
すべてのサーバーは相互にpingを実行できますが、1つではパケット損失がわずか(4%)です(結合されたインターフェイス上で、私には疑わしいようです)
2つの良好なサーバー間のiperf3転送速度を確認すると、両方向で約9.8Gbit/sの転送速度が示されています。
これらの2つの優れたサーバーは、問題のあるサーバーからも約9.8 Gbit/sでダウンロードできます。
問題のあるサーバーでクライアントとして実行すると、Iperf3は奇妙なことを示します。それは最初のターンで数百メガビットから始まります。その後、速度は0ビット/秒に低下します(ICMP pingを実行している間は約96%の成功率で)。一方向のみ。他のサーバーがこれからダウンロードすると、フルスピードになります。
ファームウェアバージョンが同じであっても、すべて同じハードウェアで実行されます(Dell R620サーバー、Mellanox ConnextX-3-EN NIC、Opton SPF +モジュール、Mikrotik CRS309-1G-8Sスイッチ)。また、OSは、すべてのアップデートと正確にインストールされたパッケージを備えた同じ最新の安定したDebianです。
ファイアウォールはなく、すべてのサーバーですべてのiptablesルールがクリアされます
問題のあるサーバーでインターフェイスを確認すると、NICが表示され、10Gビット全二重で実行されています
また、cat/proc/net/bonding/bond0は、両方のインターフェイスがUP、アクティブ、物理リンクエラーなしであることを示しています
私はSFP +モジュールをチェック/交換し、異なるファイバーパッチコードを使用し、異なるスイッチポートを試しましたが、何も変更されませんでした。
また、パッチコードの組み合わせを試してみました:(両方オン、最初のオン、2番目のオフ、最初のオフ、2番目のオン)。また、変更はありません
どうすればそれをよりよく診断できますか?
スイッチがスタッキングをサポートしない限りおよびシャーシ全体でLACPをサポートしない限り、LACPはそのように機能することはできません。実際、静的LAGトランキングも機能しません。
一般に、リンクアグリゲーションは、単一の反対側のスイッチ(またはそのように動作するスタック)でのみ機能します。
単純なL2冗長性では、フェイルオーバーを備えたアクティブ/パッシブペアでのみNICを実行できます。フェイルオーバー時の適切な負荷分散とIP移行、または外部ロードバランサーによる監視で複数のL3リンクを使用することも、シナリオで機能します。
ここで私の答えを参照してください(あなたの状況で役立つ場合は、親指を立てることを忘れないでください):
2台のマシン間で10Gbeの直接接続で2.5Gbpsしか達成できないのはなぜですか?
これはおそらく、簡単に無効にできるRECEIVEOFFLOADの略であるLROGROに関連しています。なぜこれが起こるのかについての素晴らしい説明もあります。ここで: https://lwn.net/Articles/358910/
10Gネットワークインターフェイスの調整は大きなトピックです。