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下网卡绑定模式的主要内容,如果未能解决你的问题,请参考以下文章