Linux下网卡绑定模式

Posted 小刀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下网卡绑定模式相关的知识,希望对你有一定的参考价值。

Linux bonding驱动一共提供了7种模式,它们分别是:balance-rr 、active-backup、balance-xor、broadcast、802.3ad、balance-tlb、balance-alb。   

balance-rr or 0:轮询模式,提供负载平衡和容错。该模式下两个网口都工作

active-backup or 1:主备倒换模式,提供冗余功能,该模式下只有一个网口工作,另一个做备份。

balance-xor or 2:基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。

broadcast or 3:广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求。

802.3ad or 4:802.3ad模式,要求交换机也支持802.3ad模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)。

balance-tlb or 5:适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。

balance-alb or 6:适配器输入/输出负载均衡模式,在"模式5"的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。

其中active-backup、balance-tlb和balance-alb模式不需要对交换机做任何的配置。

802.3ad模式需要交换机有对应的配置为802.3ad聚合的端口,具体的配置方法因交换机类型而异,比如,Cisco 3550系列交换机要求对应的端口首先必须被分组在一个单独的etherchannel实例,然后这个etherchannel设置为"lacp"模式已启用802.3ad(取代标准EtherChannel)。

balance-rr、balance-xor和broadcast模式通常需要交换机对应的端口被分组在一起,不同的交换机对分组有着不同的命名,可能会被叫做“etherchannel”(比如上文的Cisco示例),或者叫做“trunk group”,或者其他类似的命令。对于这些模式,每个交换机也会有它自己的针对到bond的传输策略的配置选项。典型的选择包括对每个MAC地址或者 IP地址进行XOR操作,两端的传输策略不一定完全一致。对这三种模式,bonding模式会针对一个EtherChannel组选择一种传输策略;所有这三种模式都会和另一个EtherChannel组进行互操作。

mode的值共有0-6 七种模式,常用的为0,1,6三种。

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不需要”Switch”支援及设定。

  

配置例子信息:

[[email protected] network-scripts]# more ifcfg-bond0 
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.100.100.178
NETMASK=255.255.255.0
GATEWAY=192.100.100.1
BONDING_OPTS="mode=0 miimon=100"   

##应修改为mode 6 ,不依赖交换机
##BONDING_OPTS="mode=6 miimon=100"   

[[email protected] network-scripts]# more ifcfg-em2
DEVICE=em2
HWADDR=F8:BC:12:48:8B:BD
TYPE=Ethernet
UUID=344d668d-1a2d-424f-9e9b-699e259e94d1
ONBOOT=no
NM_CONTROLLED=yes
MASTER=bond0
SLAVE=yes

[[email protected] network-scripts]# more ifcfg-em3
DEVICE=em3
HWADDR=F8:BC:12:48:8B:BE
TYPE=Ethernet
UUID=cabae77c-a50d-47d5-be42-f113ee361f84
ONBOOT=no
NM_CONTROLLED=yes
MASTER=bond0
SLAVE=yes

[[email protected] network-scripts]# ifconfig
bond0     Link encap:Ethernet  HWaddr F8:BC:12:48:8B:BD  
          inet addr:192.100.100.178  Bcast:192.100.100.255  Mask:255.255.255.0
          inet6 addr: fe80::fabc:12ff:fe48:8bbd/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1179700 errors:0 dropped:0 overruns:0 frame:0
          TX packets:195915 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1661568472 (1.5 GiB)  TX bytes:14695260 (14.0 MiB)

em2       Link encap:Ethernet  HWaddr F8:BC:12:48:8B:BD  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:597660 errors:0 dropped:0 overruns:0 frame:0
          TX packets:97959 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:842373157 (803.3 MiB)  TX bytes:7355398 (7.0 MiB)
          Interrupt:38 

em3       Link encap:Ethernet  HWaddr F8:BC:12:48:8B:BD  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:582040 errors:0 dropped:0 overruns:0 frame:0
          TX packets:97956 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:819195315 (781.2 MiB)  TX bytes:7339862 (6.9 MiB)
          Interrupt:34 

  

 

以上是关于Linux下网卡绑定模式的主要内容,如果未能解决你的问题,请参考以下文章

linux下网卡bonding配置

linux下网卡bonding配置(转)

Linux下网卡混杂模式设置和取消

Linux下网卡配置多个IP

centos6系统下网卡bond模式介绍

两块网卡的情况下,VMWARE下网卡为NAT模式,流量走哪块网卡?