在大数据及高可用性的业务中,系统对网络的要求非常高。服务器如果使用单网卡跑业务,一旦网卡故障、网线松动,业务可能直接中断。
通过网卡绑定技术,把多张物理网卡绑定成一张逻辑网卡,既能实现高可用切换,又能提升带宽,是当前生产环境必配的技术。
本文包含三种常用模式:
一、网卡绑定 Bonding
1. bonding原理
将多块物理网卡,虚拟为一块逻辑网卡(bond0),实现:网卡故障自动切换,业务不中断,多链路叠加,提升网络吞吐量。
2. bond的三种核心模式
特点:只有一块网卡工作,另一块备用
优势:稳定、简单、交换机不需要配置
适用:普通业务、高可用优先
特点:多网卡同时工作,负载分担+高可用
优势:带宽叠加,性能高
要求:必须配置交换机 LACP
特点:收发都负载均衡,自动调整
优势:不用配置交换机,自动负载
适用:不想动交换机,又想提升带宽
二、环境信息
系统:CentOS 7
物理网卡:ens33、ens37
绑定名称:bond0
交换机:华为 S5700/S5720/S5735 等通用交换机(仅 Mode4 需配置)
三、服务器通用配置(全局配置)
1. 关闭 NetworkManager
systemctl stop NetworkManagersystemctl disable NetworkManager
2. 加载 bonding 模块
modprobe bondinglsmod | grep bonding
执行后若输出 bonding 相关信息,说明模块加载成功。
四、CentOS7 三种模式配置(按照需求配置模式)
(一)Mode1 主备模式
1. 编辑 bond0 配置
vi /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=BondBONDING_MASTER=yesBOOTPROTO=staticNAME=bond0DEVICE=bond0ONBOOT=yesIPADDR=192.168.2.100PREFIX=24GATEWAY=192.168.2.254DNS1=114.114.114.114BONDING_OPTS="mode=1 miimon=100" #bond模式设置,链路检测间隔100msNM_CONTROLLED=no
2. 物理网卡配置(ens33)
vi /etc/sysconfig/network-scripts/ifcfg-ens33 #配置ens33网卡
TYPE=EthernetBOOTPROTO=noneNAME=ens33DEVICE=ens33ONBOOT=yesMASTER=bond0SLAVE=yesNM_CONTROLLED=no
3. 物理网卡配置(ens37)
vi /etc/sysconfig/network-scripts/ifcfg-ens37 #配置ens37网卡
TYPE=EthernetBOOTPROTO=noneNAME=ens37DEVICE=ens37ONBOOT=yesMASTER=bond0SLAVE=yesNM_CONTROLLED=no
4. 重启网络服务
systemctl restart network
(二)Mode4 LACP 聚合(需要配置交换机)
vi /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=BondBONDING_MASTER=yesBOOTPROTO=staticNAME=bond0DEVICE=bond0ONBOOT=yesIPADDR=192.168.2.100PREFIX=24GATEWAY=192.168.2.254DNS1=114.114.114.114BONDING_OPTS="mode=4 miimon=100 ad_select=1 xmit_hash_policy=layer3+4"NM_CONTROLLED=no
说明:xmit_hash_policy=layer3+4 表示根据 IP 地址和端口进行负载分担,适配多数生产场景。物理网卡配置和 Mode1 完全一样,改完重启网络即可。
注意:重启网络前,需先完成交换机 LACP 配置(详见第五部分),否则 Mode4 模式无法正常协商
(三)Mode6 自适应负载均衡(华为大数据组网经常使用)
1. 特点说明
不需要交换机任何配置
发送、接收都能实现负载均衡
自动调整,故障自动切换
企业内网非常常用
2. bond0 配置
vi /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=BondBONDING_MASTER=yesBOOTPROTO=staticNAME=bond0DEVICE=bond0ONBOOT=yesIPADDR=192.168.1.100PREFIX=24GATEWAY=192.168.1.254DNS1=114.114.114.114BONDING_OPTS="mode=6 miimon=100"NM_CONTROLLED=no
物理网卡配置同样和 Mode1 一致。
3.重启网络:
systemctl restart network
五、华为交换机配置(对接 Mode4 专用)
说明:Mode1、Mode6 模式无需配置交换机,仅 Mode4(LACP 聚合)需在交换机上进行如下配置,假设服务器网卡分别连接交换机的 GigabitEthernet0/0/1 和 GigabitEthernet0/0/2 端口。
system-view #进入视图interface Eth-Trunk1 # 创建聚合端口 Eth-Trunk1 mode lacp-static # 配置 LACP 静态聚合模式 port link-type trunk # 设置端口类型为 trunk port trunk allow-pass vlan all # 生产环境替换为实际的VLAN lacp preempt enable # 启用 LACP 抢占功能 lacp preempt delay 10 # 抢占延迟设置为10秒(避免频繁切换) quit # 退出 Eth-Trunk1 视图interface GigabitEthernet0/0/1 # 进入交换机端口 g0/0/1 undo shutdown # 确保接口已启用 eth-trunk 1 # 将该端口加入 Eth-Trunk1 聚合组 quit # 退出端口视图interface GigabitEthernet0/0/2 # 进入交换机端口 g0/0/2 undo shutdown # 确保端口已启用 eth-trunk 1 # 将该端口加入 Eth-Trunk1 聚合组 quit # 退出端口视图
查看状态:
display eth-trunk 1 # 查看 Eth-Trunk1 聚合组状态display lacp statistics eth-trunk 1 # 查看 Eth-Trunk1 的 LACP 协议报文统计信息display lacp neighbor # 查看 LACP 邻居信息,确认服务器与交换机协商正常
六、状态检查与故障排查
1. 查看 bonding 状态
cat /proc/net/bonding/bond0
核心要点
Mode 状态:确认当前绑定模式(如 active-backup 对应 Mode1);
Active Slave :查看当前处于工作状态的物理网卡;
MII Status: 查看各物理网卡端口状态(up 为正常,down 为故障)。
2. 网络测试
ip addrethtool bond0 # 查看 bond0 带宽(Mode4、Mode6 模式下,两块千兆网卡绑定后带宽应为 2000Mb)
3. 常见问题
七、三种模式如何选择
优先高可用、简单、不动交换机 ,选择 Mode1;
带宽叠加、负载均衡、能改交换机,选择 Mode4;
不想改交换机、又要负载均衡 ,选择Mode6。
八、文章小结
网卡绑定(Bonding)是 Linux 运维人员必须掌握的基础技能,核心用于解决单网卡故障导致的业务中断问题,同时可根据场景需求提升网络带宽。
三种模式各有优势:Mode1 稳定可靠、配置简单;Mode4 性能最优、带宽叠加;Mode6 灵活便捷、无需改交换机。实际部署时,可根据现场交换机配置权限、业务高可用及带宽需求,选择合适的绑定模式即可。
#2026运维攻略#bonging配置#网络绑定