Jef*_*ood 90 networking ethernet
我们最近在网络方面遇到了一个小问题,其中多个服务器会以一种相当痛苦的方式(需要硬重启)间歇性地失去网络连接。这已经持续了大约两周,似乎是随机的,在不同的服务器上。没有我们可以辨别的特定模式。
在深入研究之后,我们看到交换机报告了问题端口的 100 Mbps:

这听起来非常像乔尔·斯波尔斯基 (Joel Spolsky) 的文章“五个为什么”中发生的事情
Michael 花了一些时间做事后分析,发现问题是交换机上的一个简单的配置问题。交换机可以使用多种可能的速度进行通信(10、100 或 1000 兆位/秒)。您可以手动设置速度,也可以让交换机自动协商双方可以使用的最高速度。发生故障的交换机已设置为自动协商。这通常有效,但并非总是如此,并且在 1 月 10 日早上,它没有。
我们现在已经在我们的网络硬件上禁用了自动协商,并将其设置为 1000 Mbps(千兆位)的固定速率。
我对那些拥有更多服务器硬件网络专业知识的人的问题:
Dou*_*xem 101
我还没有看到网络速度自动协商的问题,这不是由 (a) 链路一端的手动与另一端的自动不匹配或 (b) 链路的故障组件引起的(电缆、端口等)。
这取决于管理员,但我的经验告诉我,如果您手动指定链接速度和双工设置,那么您一定会遇到速度不匹配的情况。为什么?因为几乎不可能记录交换机和服务器之间的各种连接,然后在进行更改时遵循该文档。我见过的大多数失败都是由于 1(a) 造成的,只有当您开始手动设置速度/双工设置时才会遇到这种情况。
正如Cisco 文档中所述:
如果禁用自动协商,则会隐藏链路中断和其他物理层问题。仅禁用对终端设备的自动协商,例如不支持千兆自动协商的旧千兆 NIC。除非绝对需要,否则不要禁用交换机之间的自动协商,因为物理层问题可能未被发现并导致生成树循环。
除非您准备为需要验证速度/双工(并且不要忘记流量控制)的网络更改设置更改管理系统,或者愿意处理由于在所有网络设备上手动指定这些设置而偶尔出现的不匹配,然后坚持使用自动/自动的默认配置。
将来,请考虑使用MRTG监控交换机端口上的错误,以便在出现问题之前发现这些问题。
编辑:我确实看到很多人提到旧设备上的谈判失败。是的,这是很久以前创建标准并且并非所有设备都遵循它们时的问题。您的 NIC 和交换机是否使用不到 10 年?如果是这样,那么这将不是问题。
ein*_*ien 23
很常见,多年来我在各种类型的硬件上遇到了很多问题。
在我看来,如果设置是静态的(即服务器机架)并且您认为不会发生变化,那么手动设置速度和双工是个好主意。只要它有据可查,以便可以避免未来的问题。
编辑:
澄清一下,我不提倡在整个网络上使用手动速度,我想说 95% 的时间自动/自动是可行的方法。我只是说我在双工/速度方面遇到了问题,并且我的网络的一小部分(即我们的服务器机架之一)主要是手动设置。我们运行一个非常严格控制的 LAN,未使用的端口被关闭,大多数端口上都有 MAC 过滤器,因此跟踪速度并不是很困难。
dim*_*i.p 15
我相信,如果自动协商每天或每月工作一个小时,然后由于某种原因“发生了一些事情”,将链接设置为固定速度“修复了它”,那么就会有一个问题没有得到解决,而是被规避了。我想我看到将链接设置为固定作为临时解决方案,直到真正的问题得到纠正。
Jam*_*ape 15
因此故障排除步骤(假设您在每个步骤之后停止并等待问题再次出现):
此时,您已经消除了配置、插入的物理端口以及它们之间的布线。如果它仍然发生,其他一些原因可能是:
背景/为什么我的答案是最棒的:我在金融行业担任网络/系统工程师,以下是我对我们小型全球网络(15 个分支机构,8 个数据中心)的体验:
我们所有的 LAN 端口都是 autoneg,因为我们控制两端的设备,并且对双方都有某种访问权限——这可能就像打电话给某人并让他们检查设置一样简单。三年来,我只有一个内部端口因为 autoneg 故障而出现故障,那是因为电缆坏了——更换电缆后它就消失了。
我们遇到了更多的问题,前辈们在他们的 NIC 上硬编码 100/full,并且没有记录这个事实。在下一个维护窗口将所有内容重置为自动/自动,从那时起就没有任何问题。
在我们从运营商处为我们的 WAN 进行铜线切换的几个地方?您几乎应该期望铜缆 WAN/Internet 连接一直很糟糕——部分原因是您不知道另一端是什么。一些古老的 Extreme 交换机碰巧有用于 autoneg 的错误固件,但有 MPLS 标记吗?一些 5 美元的媒体转换器,因为您的 ISP 价值 20 万美元的 Ciena 边缘设备太棒了,无法通过双绞线提供以太网?提前决定将如何处理并坚持下去,然后期待运营商内部的一些人在周六晚上 10 点更改它,因为商定的配置从未记录在案,而且他们有一些政策要遵循。
不过,说真的,请从您的 ISP 获得光纤切换。
Jas*_*man 14
我负责的网络(以及其他几个人)由大约 40 个服务器、1000 多个工作站(分布在一个相当大的校园中)和大约 1000 个 WAP 组成,它们也分布在不同类型和年龄的大区域中的网络设备。
正如 dimitri.p 所说,当某些事情突然无法停止自动协商时,通常表明存在另一个问题。手动设置端口类似于给被刺伤肠道的人贴上创可贴——它可能会止血,但下面肯定会有损伤。
我通常的清单:
作为一项规则,我们永远不会在服务器(或数据中心的其他任何东西)上禁用 autoneg,除非所有其他可能的原因都已消除,我们移动了交换机端口,更换了电缆,测试了 NIC 等,并且没有其他选择。在这种情况下,它会被记录到死亡。这种情况很少发生,通常发生在我们无法访问以检查 BIOS 和操作系统设置的设备上。
另一方面,工作站和 AP 则是另一回事。失败的 autoneg 是电缆运行不良的典型标志,很多时候我们必须手动设置速度和双工,直到夏季运行新电缆入墙季节到来。
duf*_*703 10
这是网络神话。我们的网络人员对这种胡说八道发誓,因为早在 1998 年,Bay 交换机就不会与 Cisco 或其他公司协商。因此,我们没有为地球上 99.999% 的设备使用默认设置,而是进行了这种荒谬的配置管理练习,并且在 NIC 驱动程序更新将设置重置为自动协商并且发生任何事情的时候,它是一个很好的替罪羊。
它变得更加有趣,因为我们的许多服务器都使用了 NIC 组等可疑功能,这可以防止您在不太可能发生的交换机故障事件中失去网络访问权限,同时让您面临更有可能发生的软件故障。(司机总是很烂)
为了保护网络人员,许多服务器都在运行 Windows 默认的 NIC 驱动程序,这通常很糟糕。如果您在自动协商方面遇到问题,并且您的设备不是克林顿政府的日期,请更新这些 NIC 驱动程序。
Aln*_*tak 10
你应该自动协商。如果您的交换机无法可靠地自动协商,请购买更好的交换机。
千兆应该是自动协商的,这包括自动交叉 (MDI-X) 检测。
100BaseT的是保证,如果一端设置为auto,另一组为手动失败,这是每个规格。如果您强制一端为 100/full,则另一端将自动协商为 100/half,从而导致双工不匹配。
通常我将服务器设置为固定的,因为我已经看到网络设备协商为 10/一半而不是 1000/完整。
还有一些 CoLo 将他们的开关设置为不协商,而是仅以 1000/full 进行链接。
小智 7
在未经测试的初始配置中禁用自动协商类似于巫毒编程——您在没有充分理由的情况下更改某些内容。如果在测试后发现双工或速度不匹配,或者端口上存在过多错误,则进行其他故障排除并最终在必要时修复配置。
当您升级驱动程序或更换硬件时,无法保证您的设置会保留在服务器端。
设置链接双方协商,或修复双方。当您修复某些设备上的速度和双工设置时,它们不再向对等设备宣布其功能。我不知道以太网标准对当一方宣布能力而另一方不宣布时该怎么做的规定,这可能意味着很多实施者也不知道。有些人会选择最小的公分母,即 10 的一半,而另一些人会假设一切正常并尽可能选择最快的速度。
有一些现代硬件不支持千兆铜缆以太网上的自动协商,例如(至少一些)带有铜缆 SFP 的 Cisco 交换机。
小智 6
许多年前,我花了一些时间为 3com 工作,为他们几乎所有的网络设备提供技术支持。令人惊讶的是,这个问题出现的频率很高,手动设置所有内容几乎是标准程序。