Linux主机网卡(Bond)状态异常处理

Hardware-NetworkCard-bond

一、问题定位与关键命令解析

当Linux主机的Bond网卡出现非up状态时,可通过以下命令快速定位问题:

1. 统计非up状态的从属接口数量

1
cat /proc/net/bonding/bond* | grep -A 1 'Slave Interface' | awk '/Status/{print $NF}' | grep -vc up
  • 作用:统计所有Bond接口中状态非up的从属网卡数量。
  • 输出示例1(表示有1个从属网卡异常)。
  • 说明
    • cat /proc/net/bonding/bond*:读取所有Bond接口的配置信息。
    • grep -A 1 'Slave Interface':匹配包含Slave Interface的行,并输出该行及下一行(-A 1)。
    • awk '/Status/{print $NF}':提取状态字段(Status行的最后一个值,即updown)。
    • grep -vc up:统计非up状态的数量(-v反向匹配,-c计数)。

2. 定位具体异常的从属网卡

1
cat /proc/net/bonding/bond* | grep -A 1 'Slave Interface'
  • 输出示例

    1
    2
    Slave Interface: eth3
    MII Status: down
  • 关键字段

    • Slave Interface:异常网卡名称(如 eth3)。
    • MII Status:物理链路状态(down 表示断开)。
    • Link Failure Count:链路故障次数(数值增加表明反复断开)。

3. 查看详细Bond接口配置

1
cat /proc/net/bonding/bond*
  • 输出关键字段解析

    字段 说明
    Bonding Mode Bond模式(如802.3ad动态链路聚合、active-backup主备模式)。
    MII Status Bond接口整体状态(up表示可用)。
    Slave Interface 从属网卡名称及状态(重点关注MII Status)。
    Link Failure Count 链路故障次数(非零值表示发生过故障)。

二、收集故障网卡信息

1. 获取网卡MAC地址

1
ip a | grep eth3
  • 输出示例

    1
    4: eth3: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> ... link/ether 48:dc:2d:01:66:a5 ...
  • 关键字段link/ether 后为MAC地址(如 48:dc:2d:01:66:a5)。

2. 获取Bond组IP地址

1
ip a | grep bond1
  • 输出示例

    1
    9: bond1: ... inet 192.168.142.43/24 ...
  • 关键字段inet 后为Bond组的IP地址(如 192.168.142.43/24)。

3. 资产信息核对

  • 根据主机IP或主机名,在资产表中确认设备地址和位置信息。

三、信息提交网络组的模板

需包含以下信息

  1. 异常网卡eth3
  2. MAC地址48:dc:2d:01:66:a5
  3. 所属Bond组bond1
  4. Bond组IP192.168.142.43/24
  5. 物理位置:根据资产表提供设备地址和位置信息。

四、故障原因分析与处理建议

可能原因

  1. 物理层问题
    • 网线松动、光模块故障、交换机端口异常。
    • 操作建议:检查网线连接,更换光模块,验证交换机端口状态。
  2. 驱动或配置问题
    • 网卡驱动异常、Bond模式与交换机配置不匹配(如LACP未启用)。
    • 操作建议:更新网卡驱动,确认交换机聚合组配置。
  3. 硬件故障
    • 网卡或主板接口损坏。
    • 操作建议:更换网卡或主板。

应急处理

1
ifdown eth3 && ifup eth3   # 重启异常网卡(临时恢复)

五、Bond模式说明

模式 特点 适用场景
802.3ad(动态链路聚合) 多网卡负载均衡,需交换机支持LACP。 高带宽需求、冗余要求高的场景。
active-backup(主备模式) 仅主接口工作,备用接口在主接口故障时切换。 高可用性要求,对带宽需求不高。

六、总结

  • 核心流程:定位异常网卡 → 收集MAC/IP → 提交网络组 → 物理/配置排查。
  • 关键命令grep -A 1 过滤上下文,ip a 查看网络配置。
  • 预防措施:定期检查Bond状态,确保驱动和固件为最新版本。