发布于2026-08-22 阅读(0)
扫一扫,手机访问
bonding mode是Linux网卡绑定中定义流量分发与故障切换行为的核心参数,共7种(mode=0~6),如mode=1为主备切换、mode=4需交换机LACP协商成功、mode=0要求交换机端口聚合,否则引发ARP混乱或链路不可用。

Linux bonding支持7种模式(mode=0到mode=6),每种模式的行为都大相径庭,绝不能简单地写个mode=1就了事。举个例子,mode=1(active-backup)模式下,只有主网卡在工作,只有当主网卡出现故障时,才会切换到备用网卡;而mode=4(802.3ad)模式,则要求交换机必须开启LACP,否则bond接口根本起不来,而且所有从网卡的状态都会显示为DOWN——这可不是配置失败,而是协议协商没有通过。
常见误用场景:
mode=4,结果bond0始终无IP、cat /proc/net/bonding/bond0里显示LACP status: Nonemode=0(balance-rr)但没做交换机端口聚合,导致ARP响应混乱、连接断续mode=5(balance-tlb)却忘了确认内核是否支持(CentOS 7.6+默认支持,但老内核可能缺模块)CentOS 7默认不自动加载bonding模块,必须显式启用,否则modprobe bonding后仍可能报Module bonding not found。
执行以下操作:
lsmod | grep bonding,无输出说明未加载modprobe bonding,再检查lsmod | grep bonding是否出现/etc/modprobe.d/bonding.conf,内容为alias bond0 bonding(注意不是install bonding /bin/true那种禁用写法)modinfo bonding | grep -A 5 "mode",确认列出的mode值范围(CentOS 7.9内核通常支持0–6)大家要注意,/etc/sysconfig/network-scripts/ifcfg-bond0以及两个从接口(比如ifcfg-em1、ifcfg-em2)的字段必须严格匹配哦。否则的话,当你执行systemctl restart network命令时,它会静默失败,你再用ip link show去查看,是看不到bond0的。
关键字段对照:
bond0中必须含:DEVICE=bond0、TYPE=Bond(不是Ethernet)、BONDING_MASTER=yes、BONDING_OPTS="mode=1 miimon=100"(miimon单位是毫秒,低于100可能误判链路抖动)MASTER=bond0、SLAVE=yes、BOOTPROTO=none(不是static或dhcp)、ONBOOT=yesDEVICE名必须与实际ip link show输出一致(如ens33而非eth0),大小写敏感别只看ip addr show bond0有IP就以为成功——很多情况bond0能获取IP,但从接口仍处于NO-CARRIER或LOWER_UP但无流量。
必须检查三处:
cat /proc/net/bonding/bond0,确认Aggregator ID存在(mode=4)、或Currently Active Slave非空(mode=1)、或Slave Interface两行都标Upethtool bond0,看Speed是否为两倍单网卡(mode=0/2/4下应体现聚合带宽)ping -c 3 192.168.1.1,若不通,说明miimon设太大或arp_ip_target没配(mode=1下建议加arp_ip_target=192.168.1.1提升故障检测速度)最常被忽略的是:bond接口UP不代表链路真正聚合,/proc/net/bonding/里的细节才是唯一可信依据。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9