• 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”支援及设定。
    

      

    配置例子信息:

    [root@wap 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"   
    
    [root@wap network-scripts]# more ifcfg-em2
    DEVICE=em2
    HWADDR=F8:BC:12:48:8B:BD
    TYPE=Ethernet
    UUID=344d668d-1a2d-424f-9e9b-699e259e94d1
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=none
    MASTER=bond0
    SLAVE=yes
    
    [root@wwap network-scripts]# more ifcfg-em3
    DEVICE=em3
    HWADDR=F8:BC:12:48:8B:BE
    TYPE=Ethernet
    UUID=cabae77c-a50d-47d5-be42-f113ee361f84
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=none
    MASTER=bond0
    SLAVE=yes
    
    重启网络服务即可
    [root@wap network-scripts]#service network restart
    [root@wap 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 
    

      

  • 相关阅读:
    running Android Studio on Windows 7 fails, no Android SDK found
    Dalvik虚拟机简要介绍和学习计划
    免费HTTP上传文件控件WebUploadFile.ocx发布,让实现Word在线编辑器变得容易
    ASP.NET生成缩略图的代码
    C++ MFC 关于SelectObject,请解释下,谢谢
    Visual C++中MFC消息的分类
    深入思考全局静态存储区、堆区和栈区
    coredump简介与coredump原因总结
    c++函数中的 指针参数跟地址参数区别
    解决SWFUpload在Chrome、Firefox等浏览器下的问题
  • 原文地址:https://www.cnblogs.com/xzlive/p/9112577.html
Copyright © 2020-2023  润新知