跳转到主内容
极星编程网:以代码为星,赴技术山海!

怎么在Linux利用Nmcli配置网卡Team模式以实现链路级别的冗余与资源均衡

用nmcli配置Linux Team模式可实现链路冗余与负载均衡,需先确认网卡状态和NetworkManager运行,再创建team主连接(如activebackup/roundrobin/loadbalance),添加slave成员,配置IP并启用,最后验证状态与故障切换效果。 用 nmcli 配置 Linux 的 Team 模式,既能实现链路级冗余(如主备自动切换),也能兼顾资源均衡(如轮询或负载均衡模式)。关键在选对 runner 模式 并配齐物理网卡、IP 和监控机制,全程命令行完成,无需手动改配置文件。 确认可用网卡与基础环境 确保至少两个物理网卡已识别且可操作: 运行
nmcli device
或
ip link show | grep "state UP" | grep -v "lo"
,找出类似
ens224
、
ens256
这类处于 UP 状态的以太网接口 检查 NetworkManager 是否运行:
systemctl is-active NetworkManager
,若非 active,请先执行
systemctl start NetworkManager
避免使用已被其他连接占用的网卡(如已有 DHCP 连接),必要时先
nmcli connection down xxx
创建 team 接口并指定工作模式 Team 支持多种 runner 模式,冗余与均衡需按需选择: 主备冗余(推荐初用) :只有一张网卡传数据,另一张纯备份,故障秒切。命令:
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
轮询均衡(提升吞吐) :流量依次分发到所有成员,带宽叠加。命令:
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "roundrobin"}}'
哈希负载均衡(更智能) :按源/目的 IP 或端口哈希分发,保持会话一致性。命令:
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "loadbalance", "tx_hash": ["eth", "ipv4", "ipv6"]}}'
注意:JSON 必须用单引号包裹,内部双引号不可省略;
con-name
和
ifname
统一为
team0
更易管理。 CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。 下载 添加物理网卡作为 team 成员 每张网卡单独建一个 slave 连接,并绑定到 team0:
nmcli connection add type team-slave con-name team0-port1 ifname ens224 master team0
nmcli connection add type team-slave con-name team0-port2 ifname ens256 master team0
如需更多网卡(最多支持 8 张),继续追加同类命令,仅改
ifname
和
con-name
此时只是注册关系,尚未启用;slave 连接不能独立设置 IP 或 gateway 配置地址、启用并验证效果 给 team0 分配网络参数并启动整套链路: 设静态 IPv4:
nmcli connection modify team0 ipv4.addresses 192.168.10.100/24
nmcli connection modify team0 ipv4.gateway 192.168.10.1
nmcli connection modify team0 ipv4.dns "8.8.8.8,114.114.114.114"
nmcli connection modify team0 ipv4.method manual
nmcli connection modify team0 connection.autoconnect yes
按顺序启用:
nmcli connection up team0-port1
nmcli connection up team0-port2
nmcli connection up team0
验证状态: •
nmcli device show team0
查看是否 connected •
teamdctl team0 state
看当前 active port 和 runner 类型 •
ip addr show team0
确认 IP 已生效 •
cat /proc/net/team/team0
查成员详细状态和收发统计 测试时,用另一台机器持续 ping team0 的 IP,再执行
nmcli connection down team0-port1
模拟断链——主备模式应几乎无丢包,轮询或负载均衡模式则自动绕过失效链路继续通信。

相关文章