linux实现双网卡绑定

前言:

Teaming 技术:可以把同一台服务器上的多个物理网卡绑定成一个虚拟的网卡,利用Teaming 技术,可以提高网络速度、实现不同网卡之间的负载(Load balancing)和网卡冗余(Fault tolerance);

与bonding的关系

在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能,但在RHEL7中,不会使用teaming替换bonding,它们是并存的,我们可以选择Teaming,也可以选择Bonding。

 

teaming 技术有多种模式(runner)

 

1)、broadcast(广播):数据通过所有端口传输,即复制一份数据向两块网卡发出

 

2)、roundrobin(轮询):轮询模式,所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力(使用时会有自动丢包情况)。

 

3)、activebackup(主备):类似于bonding技术的bond1模式,只有主链路在工作,当主链路断开后备链路会接替,接替过程会有两个包的延迟(丢包)

 

4)、loadbalance(负载均衡):具有活动的Tx负载平衡和基于BPF的Tx端口选择器(使用时会有自动丢包情况)

 

5)、lacp (implements the 802.3ad Link Aggregation Control、Protocol):类似于bonding技术的bond4模式,需要交换机支持802.3ad(LACP)协议

 

下面使用以下两个网卡进行绑定:

 

1、创建一个名为team0的网络端口,模式为activebackup(主备模式)

[root@localhost ~]# nmcli connection add con-name "team0" type team ifname team0 config '{"runner":{"name":"activebackup"}}'

 

2、修改team0网口的IP地址,网关和DNS

[root@localhost ~]# nmcli connection modify team0 ipv4.addresses "192.168.10.100/24" ipv4.dns "8.8.8.8,114.114.114.114" connection.autoconnect yes ipv4.method manual

[root@localhost ~]# echo "GATEWAY0=192.168.10.1" >> /etc/sysconfig/network-scripts/ifcfg-team0

 //创建team0后会在/etc/sysconfig/network-scripts/目录下生成ifcfg-team0的文件

 

3、将名为eno33554968网卡添加到team0,并且改名为eth1

[root@localhost ~]# nmcli connection add con-name eth1 ifname eno33554968 type team-slave master team0


4、将名为eno50332192网卡添加到team0,并且改名为eth2

[root@localhost ~]# nmcli connection add con-name eth2 ifname eno50332192 type team-slave master team0

 

5、启动team0并且重启网络服务

[root@localhost ~]# nmcli connection up team0 ; systemctl restart network


6、查看team0的状态

[root@localhost ~]# teamdctl team0 state

=========================================================================================

7、在activebackup(主备)模式下如某个网口断掉会丢两个包,当接口恢复也会丢两个包

[root@localhost ~]# nmcli connection down eth1     //关闭网口

[root@localhost ~]# nmcli connection up eth1         //启用网口

 

8、最后如想恢复按顺序将其删除,然后重新加载即可

[root@localhost ~]# nmcli connection delete eth1

[root@localhost ~]# nmcli connection delete eth2

[root@localhost ~]# nmcli connection delete team0

[root@localhost ~]# nmcli connection reload

 

参考:

https://www.cnblogs.com/eddie1127/p/11385604.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值