网卡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
添加网卡 注意:模式要一致




注意:谁为主 MASTER=bond0 是否为奴SLAVE=yes
直接创建一个加载bonding的专属设定文件/etc/modprobe.d/modprobe.conf
#添加
alias bond0 bonding
options bonding mode=0 miimon=100
#这种方式在物理机上完全可以实现,虚拟机vmware上会出现问题如下图

配置完成后出现如上图问题,但是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通,但是卡顿了一下,并且少了一个包,如图所示。

未经允许不得转载:天府数据港官方信息博客 » linux多网卡绑定
客官点个赞呗! (0)