![网络错误。这里出了什么问题?](https://linux22.com/image/602380/%E7%BD%91%E7%BB%9C%E9%94%99%E8%AF%AF%E3%80%82%E8%BF%99%E9%87%8C%E5%87%BA%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F.png)
首先我要承认,除了“以太网插头在这里,交换机在这里连接到其他交换机,交换机连接到互联网”之外,我对网络了解不多。我对交换机的大部分经验都是使用其默认配置,我们只是互相不干涉。
在我们的数据中心,我们有一个由单个 24 端口提供服务的服务器网络星球SGSW-24040,它显然是一台 1000 Mbps 2 级管理型交换机。我们购买它时,它取代了旧的 Cisco/Linksys 10/100 交换机,后者无法胜任交换 VoIP 数据的任务。更换旧交换机解决了我们的语音质量问题。
一切都很顺利,我们似乎没有遇到任何进一步的问题,直到我发现一个巧妙的功能,让我可以使用 Munin 通过 SNMP 测量带宽。它还可以测量网络错误,我认为这是一件好事。在设置 Munin 来收集这些统计数据后,我开始频繁收到有关各个接口错误的寻呼。
通过阅读问题,我发现我可以通过明确配置产生错误的端口速度来解决网络错误。这就是我开始遇到的问题真实的问题。每当我重新启动服务器时,它都不会重新协商以太网连接,并且服务器将处于离线状态,直到我将交换机上的端口设置为“自动检测”。
所以现在我陷入了进退两难的境地:我要么关闭网络错误报告并将交换机上的所有端口设置为自动检测,要么首先消除错误,但代价是每次服务器重新启动以进行内核升级时都必须记住重新配置交换机。这是该特定交换机的问题吗?是否有某种方法可以手动配置服务器上的以太网(它们都是 Debian Linux)?我首先是否应该执行这些操作?
答案1
你能手动配置服务器计算机和交换机端口的速度/双工,但这不是首选解决方案。自动协商是千兆以太网标准的一部分,所有千兆以太网芯片组都应支持它。假设您使用的服务器都具有千兆以太网接口,听起来您遇到的是硬件实现故障或驱动程序缺陷。
我首先会搜索一下您服务器中的千兆以太网芯片组和您正在运行的 Linux 内核版本,看看是否存在已知的自动协商问题。内核升级可能会解决问题。
如果您仍在运行某些 10/100 设备,那么您可能不得不忍痛将交换机和服务器上的接口配置为禁用协商。一些较旧的 NIC 无法很好地处理自动协商,但 10 多年来这已不再是常态。
答案2
听起来你把链路的一侧设置为自动协商,而另一侧对速度和双工进行了硬编码。你需要将两侧配置为相同,要么设置为自动协商,要么设置为相同的速度和双工。我之前已经链接到这篇文章,请看图 12,它说明了交换机和主机 NIC 之间各种速度和双工设置的结果: