我已经设置了四台 Linux 服务器。它们都以完全相同的方式进行镜像。我买了一个便宜的 TP Link 交换机,将它们全部插上。当所有机器都打开并插入交换机时,它们似乎经历了严重的数据包丢失,我无法连接到它们,而且这些机器也无法相互连接。
连接问题延伸到服务器尝试相互 ping。我让每台服务器都获得一个 IP,然后我断开了交换机与路由器的连接。当我将任何两台服务器插入交换机时,它们能够相互 ping,但只要插入第三台服务器,它们就无法继续 ping。考虑到即使没有插入路由器也会发生这种情况,那么一定是机器或交换机上出了问题。
我尝试在其中一台机器上进行数据包捕获,但除了大量 tcp 重传(我认为这与数据包丢失一致)之外没有发现任何其他问题。我怀疑我是否会看到大量多播流量或其他东西,但事实并非如此。我还尝试在可能进行网络流量的机器上关闭任何程序。机器上的适配器设置对我来说都很正常,但我不确定是什么原因造成的。
我也尝试过用同品牌和型号的另一个开关替换它,但问题还是一样。我想知道开关是否出了什么问题,但我对此一无所知。
不确定下一步该如何调试。我感觉我忽略了一些简单的事情。
答案1
首先是简单的事情...确保您没有分配任何重复的 IP 地址,并且所有主机上的网络掩码都是相同的。
接下来我建议你手动将所有三台主机的接口速度和双工设置为 100/Full。基本上就是关闭自动协商。
市面上许多廉价交换机都无法很好地自动协商。而且,即使交换机可以,也有廉价的网卡无法很好地处理它。通过手动将每台主机设置为固定速度和双工,您可以消除此因素之一。
答案2
万一发生这种情况,请在此处发帖以帮助遇到这种情况的其他人。事实证明,接口上启用了 LACP,而我使用的交换机不支持它。