我有一个由3台服务器组成的小型集群。每个都有两个10 two SFP+光网卡。有两个单独的10 are开关。在所有服务器上,一个网卡连接到交换机1,第二个网卡连接到交换机2以提供容错。
物理接口使用LACP在服务器级别进行绑定。
所有服务器都可以互相切换,但在其中一个服务器上有很小(4%)的数据包丢失(在绑定接口上,在我看来这是可疑的)。
当我检查两个好服务器之间的iperf3传输速率时,它们显示出两个方向的9.8Gbit/s传输速率。
这两台好的服务器也可以从有问题的服务器下载,也可以下载9.8 Gbit/s
在有问题的服务器上作为客户端运行时,Iperf3会显示出奇怪的东西。从几百兆比特开始的第一轮。后来速度下降到0位/S(同时仍在运行ICMP ping,成功率为96%)。只有一个方向。当其他服务器从此下载时,它们将全速运行。
它都运行在同一个硬件上,即使固件版本也是一样的(戴尔R620服务器,MellanoxConnextX-3-enNic,Opton SPF+模块,MikrotikCRS309-1G-8S交换机)。此外,OS也是最新的、稳定的Debian,所有更新和精确安装的软件包。
没有防火墙,所有iptables规则都在所有服务器上被清除。
在有问题的服务器上,我检查接口,两个NIC都以10 10Gbit全双工显示和运行
此外,cat /proc/net/bonding/bond0 0显示了两个接口,激活,没有物理链接错误。
我检查/替换了SFP+模块,使用了不同的光纤贴片线,尝试了不同的交换机端口,没有任何改变,但这台有问题的服务器从其他服务器下载速度很差,数据包丢失很小(通过绑定接口!)
我也尝试了配线组合:(开,第一,第二,第二)。也没有改变
有什么办法能更好地诊断吗?
发布于 2019-03-03 19:41:56
除非开关支持在底盘上堆叠和支持LACP,否则LACP不能那样工作。事实上,静态滞后集群也不起作用。
通常,链接聚合只适用于一个相反的开关(或类似的堆栈)。
使用简单的L2冗余,您只能在具有故障转移的主动/被动对中运行NIC。使用具有适当负载平衡和IP迁移的多个L3链接,通过外部负载平衡器进行故障转移或监视,也将在您的场景中工作。
发布于 2019-02-28 14:40:09
请在这里看到我的回答(如果对你的情况有用的话,别忘了竖起大拇指):
为什么我只能在两台机器之间10为什么的直接连接上实现2.5Gbps?
它很可能与LRO GRO的接收卸载的立场有关,这可以很容易被禁用。对于这种情况发生的原因也有一个很好的解释。这里:https://lwn.net/Articles/358910/
调整10G网络接口是一个巨大的话题。
https://serverfault.com/questions/956148
复制相似问题