我的情况:
- 我有一台新机器,带有两个 NIC(
Intel Corporation Intel(R) Ethernet Controller I225-LM (rev 02)
,根据lspci
),但只有一个连接。 - 它连接到一个更大的网络,但直接连接到戴尔 N2048P 交换机。
- 该机器正在运行最新的 CentOS 7(出于软件兼容性原因 - 这可能会在未来发生变化),最小安装,完全原始。
我的问题:
- 当我启动机器时,NIC 和交换机都显示活动,似乎有一个载体,但当 CentOS 开始初始化硬件或网络时,NIC 似乎被禁用了。交换机上的活动指示器熄灭,然后短暂地再次亮起,然后熄灭,再也没有恢复。
- 但是,如果我使用断开的同一根网线启动机器,并在出现登录提示时(或至少在初始化之后)将其连接,则网卡可以正确连接,并且不会出现任何问题。
一些说明:
- 问题有时不会发生,大约每 4-5 次重启就会发生一次。我计算了时间,但似乎没有什么规律可循,尽管我从未见过它连续两次成功。在快速重启过程中,成功之间几乎总是有两三次失败。
- NIC总是启动后插入电源即可立即工作,毫无差错。
- 在交换机的日志中,我看到它在一秒钟左右的时间内连续三次从转发到阻止、从学习到转发,然后从转发到阻止(然后是“关闭”和“失败”)。
我已经尝试过的:
- 我怀疑可能是 STP 出了问题,但关闭交换机上此端口的 STP 并不能解决问题(网络确实使用 STP);我尝试配置的任何组合也都不起作用
LINKDELAY
。NETWORKDELAY
故障频率保持不变,或者至少没有显著变化。 - 我尝试将 NIC 设置
BOOTPROTO
为 ,并分配一个静态 IPnone
。这确实为其分配了正确的 IP,但NO-CARRIER
在启动时连接电缆且链接断开(无活动指示灯)后,NIC 仍显示为 ,这似乎表明目前没有发生这种情况。在不了解基础知识的情况下,我认为这是“第 2 层”问题,而不是“第 3 层”问题。 - 我尝试将 NIC 配置为
ETHTOOL_OPTS
最终协商的默认设置(该设置有效并且符合我的喜好),但这似乎没有效果(ethtool
会报告它仍然配置为自动否定,即使我将其设置为关闭)并且问题仍然存在。
对于可能存在的问题有什么建议吗?
编辑:根据评论中的建议添加一些信息:
- 系统现已更新至最新的 LT 内核,但问题仍然存在。
- 我尝试过完全禁用 NetworkManager,然后重新尝试了之前提到的各种设置,意识到它们可能由于 NetworkManager 而被忽略,但结果是一样的。
- 有趣的是,如果没有 NetworkManager,我注意到在启动时禁用网卡,然后使用
ifup
网卡使其联机会导致它在我这样做时丢失链接;此外,ifup
在连接电缆之前运行,然后连接电缆也无法连接;在这个设置下什么都行不通。 - 另外,在启用 NetworkManager 的情况下,我可以在启动后插入电源以获得有效的网络连接,但如果在连接电缆的情况下重新启动并且连接断开,则没有(已知的)方法可以恢复连接,即使我断开电缆,将适配器关闭并重新启动等,以我能想到的任何顺序进行操作。