创新路
我们一直在努力

linux多网卡绑定

网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略,在RHEL5/RHEL6中使用的是Bonding。而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能,但是在RHEL7中,不会使用teaming替换bonding,它们是并存的,我们可以选择Teaming,也可以选择Bonding。

今天学习一下bong双网卡的配置.

mod0 平衡轮循环策略

mod1 主备份策略

mod2 平衡策略

mod3 广播策略

mod4 IEEE 802.3ad动态链接聚合

mod5 适配器传输负载均衡

mod6 适配器适应性负载均衡

常用的有三种

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

在网卡绑定的七种模式下,其中mode=0、2、3、4需要交换机支持,mode=1、5、6不需要交换机配置支持。

测试:

centos6.5

eth0 eth1

bond0

添加网卡 注意:模式要一致

image.png

image.png

image.png

image.png

注意:谁为主 MASTER=bond0 是否为奴SLAVE=yes

直接创建一个加载bonding的专属设定文件/etc/modprobe.d/modprobe.conf

#添加

alias bond0 bonding

options bonding mode=0 miimon=100

#这种方式在物理机上完全可以实现,虚拟机vmware上会出现问题如下图

image.png

配置完成后出现如上图问题,但是bond0能够正常启动也能够正常使用,只不过没有起到备份模式的效果。当使用ifdown eth0后,网络出现不通现象。

内核文档中有说明:bond0获取mac地址有两种方式,一种是从第一个活跃网卡中获取mac地址,然后其余的SLAVE网卡的mac地址都使用该mac地址;另一种是使用fail_over_mac参数,是bond0使用当前活跃网卡的mac地址,mac地址或者活跃网卡的转换而变。  

  既然vmware workstation不支持第一种获取mac地址的方式,那么可以使用fail_over_mac=1参数,所以这里我们添加fail_over_mac=1参数

alias bond0 bonding

options bond0 miimon=100 mode=0fail_over_mac=1

加载模块

modprobe bonding

确认

# lsmod | grep bonding

bonding 100065 0

重启一下网络,然后确认一下状况:

/etc/init.d/network restart

 cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: load balancing (round-robin)

MII Status: up

MII Polling Interval (ms): 0

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Speed: Unknown

Duplex: Unknown

Link Failure Count: 0

Permanent HW addr: 00:0c:29:97:5d:2d

Slave queue ID: 0

Slave Interface: eth1

MII Status: up

Speed: Unknown

Duplex: Unknown

Link Failure Count: 0

Permanent HW addr: 00:0c:29:97:5d:37

Slave queue ID: 0

主备测试,断开其中一张网卡,仍能ping通,但是卡顿了一下,并且少了一个包,如图所示。

image.png

未经允许不得转载:天府数据港官方信息博客 » linux多网卡绑定

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机