Linux7配置teaming网卡绑定

在linux 6中使用的是bonding技术双网卡绑定技术,而在linux 7中使用了teaming技术,其实在linux7中双网卡绑定既能使用teaming也可以使用bonding,这里推荐使用teaming技术,方便与查看和监控。

Teaming功能主要由kernel里的team driver、用来作为通讯接口的libteam lib和userspace的teamd 三部分组成,teaming也支持不同的工作模式,相比bonding 来说少了balance-xor和balance-alb这两种模式的支持,其中的balance-xor完全可以通过lacp代替,另外一种balance-alb功能据说以后teaming也会支持。

mode 0 :load balancing(round-robin)模式,需要交换机端支持,支持多端口负载均衡,支持端口冗余,slave接口的mac相同;
mode 1:active-backup模式,最大支持两个端口,一主一备,同一时间只有一块网卡工作,不支持抢占;
mode 2:balance-xor 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
mode 3:broadcast 表示所有包从所有interface发出,这个不均衡,只有冗余机制…和交换机的聚合强制不协商方式配合;
mode 4:采用IEEE802.3ad方式的动态协商机制聚合端口,需要交换机开启lacp并配置为主动(active)模式
mode 5:(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave;
mode 6:(balance-alb) 在5的tlb基础上增加了rlb,类似mode 1的主备模式,不常用。

5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。0,2和3理论上需要静态聚合方式
但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

  1. broadcast (data is transmitted over all ports)
  2. roundrobin (data is transmitted over all ports in turn)
  3. activebackup (one port or link is used while others are kept as a backup)
  4. loadbalance (with active Tx load balancing and BPF-based Tx port selectors)
  5. lacp (implements the 802.3ad Link Aggregation Control Protocol)

实质上teaming的目的就是要把网卡绑定的功能从kernel里搬出来,把这些功能放到userspace来解决,保持kernel的简洁,让它只做kernel应该做的事情。

在本文中介绍rhel7.3两种最常见的双网卡绑定模式:

(1) activebackup - 主备模式:
一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。
(2) roundrobin - 轮询模式:
所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力,网卡上进行轮询,即第一个数据包走一张网卡,第二个数据包走第二张网卡,依次轮询。

下面以activebackup - 主备模式为例来做下示例配置:

1、进入系统,查看服务器网卡配置情况。

cd /etc/sysconfig/network-scripts/
ls
# 共有ens3及ens8两块网卡共4个端口。决定为两个网段分别配置双网卡绑定,业务网绑定ens3f0和ens8f0两个端口,私网绑定ens3f1和ens8f1两个端口。

# 查看网卡连接信息:
nmcli connection show
#查看物理网卡信息:
nmcli dev

2、我们可以使用nmcli命令进行网卡绑定,具体命令如下:

# 配置业务网主接口team0,设置模式为activebackup
nmcli con add type team con-name team0 ifname team0 config‘{“runner”: {“name”: ”activebackup”}}# 设置IP地址,子网掩码,网关
nmcli con mod team0 ipv4.addresses 11.11.205.145/24 ipv4.gateway 11.11.205.158 ipv4.method manual connectio.autoconnect yes

# 添加绑定到team0的端口ens3f0
nmcli con add type team-slave con-name team0-port1 ifname ens3f0 master team0

# 添加绑定到team0的端口ens8f0
nmcli con add type team-slave con-name team0-port2 ifname ens8f0 master team0

# 重新载入连接配置
nmcli con reload

# 启动team0
nmcli con up team0

3、查看状态,使用teamdctl命令进行验证

# 查看team0状态
teamdctl team0 state

4、检测发现状态都正常

5、如果需要尝试换成roundrobin模式,则可以进入team0和team1的配置文件,修改模式为roundrobin,其他配置不变。

提示:在做网卡绑定的时候,如果发现物理网卡总是无法绑定到team0,请检查该物理网卡是否处于up状态。

6、其他配置说明

#删除掉没有添加成功team0-port1 team0-port2两张网卡
nmcli connection delete team0-port1
nmcli connection delete team0-port2

# 删除两张物理网卡ens33,ens38
nmcli connection delete ens33 ens38

# 再次添加team0-port1 team0-port2两张网卡
nmcli connection add type team-slave con-name team0-port1 ifname ens33 master team0
nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0

总结:

#知道两张物理网卡连接名则:
nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'

nmcli connection mod team0 ipv4.addresses 192.168.1.20/24 ipv4.gateway 192.168.1.1

nmcli connection modify team0 ipv4.method manual

nmcli connection add type team-slave con-name team0-port1 ifname ens33 master team0

nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0

systemctl restart network

teamdctl team0 state
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值