Linux 网络接口需要很长时间才能启动

Linux 网络接口需要很长时间才能启动

当我的 x86 服务器上的任何网络接口启动时(带有 igb 驱动程序的 1GbE 端口,或带有 ixgbe 驱动程序的 10GbE 端口),无论是使用 ifup 还是通过启用它所连接的交换机端口,接口都需要大约 30 秒的时间才能工作(ping 出或进入)。

它们在 /etc/network/interfaces 中配置了简单的静态 IP 地址,所以我觉得它们应该立即变为活动状态。

iface ge0 inet static
    address 10.63.4.20
    netmask 255.255.255.0
    gateway 10.63.4.1

我在网上搜索了很久,但什么也没找到。tcpdump 显示端口接收广播 ARP 请求,但未回复它们或发送任何其他数据包。大约 30 秒后,它会发出 ARP 回复,ICMP 开始流动。它可能会暂停以检测重复的 IP 地址吗?

这是一个问题,因为我的制造场景涉及多次重新配置和重新启动网络。除了这个问题之外,这个过程只需要几秒钟而不是几分钟。

答案1

30 秒基本上是默认生成树端口配置开始转发流量所需的时间。

端口将经历不同的状态(例如,在BPDU 或学习何时学习MAC 地址),直到它进入转发状态并开始,你猜对了,转发交通。

根据交换机的供应商和型号,您应该能够对其进行调整。请记住,如果您只是禁用生成树,则存在网络循环的风险,这可能会导致整个基础设施崩溃。不建议在非受控或非隔离网络上将其删除。

答案2

感谢你们!

问题确实出在生成树上。交换机上的“show spanning-tree”显示接口长时间处于阻塞状态。

将相关(绑定)接口置于 Portfast 模式后,链接后流量会立即通过。

#config
#interface Port-Channel1
(config-if-Po1)#spanning-tree portfast

答案3

您是否在 dmesg 中收到来自网络接口的任何消息?启动后尝试以下命令:

dmesg | grep "net\|^eth\|^igb\|^ixgbe"

也可能是在所连接的交换机上配置了 STP(生成树协议)。尝试检查网络设备的配置,以便在服务器所连接的端口上获取生成树模式。

相关内容