银河麒麟服务器网卡聚合推荐三种方式:一是nmcli配置bond0主备模式(mode=1),简单稳定,无需交换机支持;二是teamd配置LACP动态聚合(mode=4),需交换机支持,实现负载分担与毫秒级故障检测;三是手动编辑ifcfg文件启用bonding,适用于禁用NetworkManager的生产环境。

你在银河麒麟服务器上跑虚拟化或大数据服务,单网卡带宽已成瓶颈,访问延迟高、传输卡顿,急需把两块千兆网卡合并成一条2Gbps通路——这正是网卡聚合(Bonding/Teaming)要解决的核心问题。
用nmcli快速创建bond0主备聚合(推荐新手)
第一步:确认物理网卡名称,执行ip -br a | grep UP,记下两块待绑定的接口名(如ens33、ens34),【确保它们当前未被其他连接占用,否则后续启用会失败】。
第二步:创建bond0主接口并设为主备模式,运行命令:nmcli connection add type bond ifname bond0 con-name bond0 mode active-backup miimon 100。mode=1(active-backup)不依赖交换机配置,故障时秒级切换,适合对稳定性要求高于带宽的场景。
第三步:为bond0分配静态IP地址,例如:nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.1 ipv4.dns 8.8.8.8 ipv6.method ignore。
第四步:将第一块网卡加入bond0,执行:nmcli connection add type bond-slave ifname ens33 master bond0 con-name bond0-ens33。
第五步:将第二块网卡加入bond0,执行:nmcli connection add type bond-slave ifname ens34 master bond0 con-name bond0-ens34。
第六步:依次启用从属连接和主连接:nmcli connection up bond0-ens33 → nmcli connection up bond0-ens34 → nmcli connection up bond0。这三步顺序不能颠倒,否则bond0无法识别slave。
第七步:验证状态,运行cat /proc/net/bonding/bond0,检查输出中是否显示两个Slave Interface且MII Status均为up,Active Interface应为其中一块(如ens33)。
用teamd配置LACP动态聚合(需交换机支持)
该方法适用于对接支持IEEE 802.3ad的交换机,能实现真正负载分担与毫秒级故障检测,理论带宽可接近成员网卡之和。
方法一:安装并启用teamd服务
执行sudo yum install teamd -y,再确认NetworkManager-team已就绪:rpm -q NetworkManager-team。若无输出,需补装。
方法二:创建team0主连接并启用LACP
运行命令:nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "lacp", "active": true, "fast_rate": true}, "link_watch": {"name": "ethtool"}}'。这里fast_rate表示每秒发送一次LACPDU,比默认慢速模式响应更快。
方法三:添加成员网卡并启用自动连接
分别执行:nmcli connection add type team-slave con-name team0-ens33 ifname ens33 master team0 和 nmcli connection add type team-slave con-name team0-ens34 ifname ens34 master team0;再为两个slave连接开启自动激活:nmcli connection modify team0-ens33 connection.autoconnect yes、nmcli connection modify team0-ens34 connection.autoconnect yes。
方法四:配置IP并启动聚合
执行:nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.10.101/24 ipv4.gateway 192.168.10.1 ipv4.dns 114.114.114.114 ipv6.method ignore;然后nmcli connection up team0。
最后验证team状态:teamdctl team0 state,输出中应包含runner: lacp且所有port状态为up。
手动编辑配置文件启用bonding(传统方式,绕过NetworkManager)
适用于已禁用NetworkManager或需完全掌控底层网络服务的生产环境,配置重启后自动生效,但调试周期略长。
第一步:停用原网卡并关闭NetworkManager(如仍在运行)
sudo systemctl stop NetworkManager && sudo systemctl disable NetworkManager;再执行sudo ifdown ens33 && sudo ifdown ens34。
第二步:创建bond0主配置文件
编辑/etc/sysconfig/network-scripts/ifcfg-bond0,填入以下内容:
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.10.102
PREFIX=24
GATEWAY=192.168.10.1
ONBOOT=yes
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4"。
第三步:为每块成员网卡创建从属配置
新建/etc/sysconfig/network-scripts/ifcfg-ens33,内容为:
DEVICE=ens33
NAME=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes;同理配置ens34。
第四步:加载bonding模块并重启网络服务
执行echo "bonding" | sudo tee /etc/modules-load.d/bonding.conf确保开机加载;再运行sudo modprobe bonding;最后sudo systemctl restart network。
第五步:检查聚合状态
运行cat /proc/net/bonding/bond0,确认Bonding Mode为802.3ad Dynamic link aggregation,且所有Slave Interface的MII Status为up。

















