【Linux】多网卡绑定模式与基本配置

bond双网卡绑定:
所谓bond,是一种通过把多个物理网卡绑定成一个逻辑网卡实现网卡冗余,负载均衡,提高带宽,从而实现网络性能高可用高可靠的技术。

  • bonding网络负载均衡:
    对于bongding的网络负载均衡是我们在文件系统中常用到的,一般把两块网卡当作一块来用,以解决一个IP地址流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百兆的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器,为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量,是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是bonding

  • bonding网络冗余
    对于服务器来说,网络设备的稳定也是很重要的,特别是网卡,在生产型的系统中,网卡的可靠性就更为重要,在生产性的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,bonding也能为网卡提供冗余支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其他网卡做备份。

  • Linux网卡绑定七种模式:

    1. mode=0 round-robin轮询策略(Round-robin policy)
      该模式下,链路处于负载均衡状态,数据以轮询方式向每条链路发送报文,基于per packet方式发送。即每条链路各一个数据包。此模式好处在于增加了带宽,同时支持容错能力,当有链路出现问题,会把流量切换到正常的链路上。该模式下,交换机端需要配置聚合口,在cisco交换机上叫port channel

    2. mode=1 active-backup主备策略(Active-backup policy)
      在该模式下,一个端口处于主状态,一个处于备状态。同时可以设置primary网卡,若primary网卡出现故障,切换至备网卡,primary网卡恢复后,流量自动回切。这种模式接入不需要交换机端支持。

    3. mode=2 load balancing(xor)异或策略(XOR policy)
      在该模式下,通过源和目标mac做hash因子来做xor算法来选择链路,这样就使得到达特定对端的流量总是从同一个接口上发出,和balance-rr 一样, 交换机端口需要能配置为 “prot channel”。值得注意的是,若选择这种模式,如果所有流量源和目标mac都固定了,例如使用“网关模式”,即所有对外的数据传输均固定走一个网关,那么根据该模式的描述,分发算法算出的线路就一直是同一条,另外一条链路不会有任何数据流,那么这种模式就没有多少意义了

    4. mode=3 fault-tolerance(broadcast)广播策略(Broadcast policy)
      这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何丢包。这个模式也需要交换机配置聚合口。由于同一个报文,服务器会复制两份分别往两条线路发送,导致回复两份重复报文,虽然这种模式不能起到增加网络带宽的效果,反而给网络增加负担,但对于一些需要高可用的环境下,例如RAC的心跳网络,还是有一定价值的。

    5. mode=4 lacp IEEE 802.3ad 动态链路聚合(IEEE 802.3ad Dynamic link aggeregation)
      在该模式下,操作系统和交换机都会创建一个聚合组,在同一聚合组下的网口共享同样的速率和双工设定。操作系统根据802.3ad协议将多个slave网卡绑定在一个聚合组下。聚合组向外发送数据选择哪一块儿网卡是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。
      该模式的必要条件:
      -ethtool支持获取每个slave的速率和双工设定;
      -交换机支持IEEE 802.3ad Dynamic link aggregation
      大多数交换机需要经过特定配置才能支持802.3ad模式

    6. mode=5 transmit load balancing 适配器传输负载均衡(Adaptive transmit load balancing)
      这种模式相较load balancing(xor)异或策略及LACP模式的hash策略相对智能,会主动根据对端的MAC地址上的流量,智能的分配流量从哪个网卡发出。但不足之处在于,仍使用一块网卡接收数据。存在的问题与load balancing(xor)也是一样的。如果对端MAC地址是唯一的,那么策略就会失效。这个模式下bond成员使用各自的mac,而不是上面几种模式是使用bond0接口的mac。无需交换机支持

    7. mode=6 adaptive load balancing 适配器负责均衡(adaptive load balancing)
      该模式除了balance-tlb适配器传输负载均衡模式的功能外,同时加上针对IPV4流量接收的负载均衡。接受负载均衡是通过ARP协商实现的。在进行ARP协商的过程中,bond模块将对端和本地的mac地址进行绑定,这样从同一端发出的数据,在本地也会一直使用同一块网卡来接收。若是网络上发出的广播包,则由不用网卡以轮询的方式来进行接收。通过这种方式实现了接收的负载均衡。该模式同样无需交换机支持。

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

======================================================================================

基本配置 使用mode=2 模式 捆绑eth5,eth6 形成bond2 对外提供 10.35.108.31环境

  1. 创建逻辑网卡的配置文件
    pwd : /etc/sysconfig/network-scripts/ifcfg-bond2

    DEVICE=bond2    #物理设备名
    BOOTPROTO=static	#[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
    IPADDR=10.35.108.31	#IP地址
    NETMASK=255.255.252.0		#掩码值
    ONBOOT=yes		#引导时是否激活设备
    TYPE=Ethernet	#网络类型 Ethernet=以太网
    GATEWAY=10.35.111.254		#网关
    BONDING_OPTS="miimon=100 mode=2 xmit_hash_polocy=1"		#mode指定模式,miimon为探测的时间间隔
    
  2. 修改物理网卡的配置文件
    pwd:/etc/sysconfig/network-scripts/ifcfg-eth5

    DEVICE=eth5
    BOOTPROTO=none
    ONBOOT=yes
    MASTER=bond2    #指定master(主)为bond2	
    SLAVE=yes       #是否为附属						
    

    pwd:/etc/sysconfig/network-scripts/ipcfg-eth6

    DEVICE=eth6
    BOOTPROTO=none
    ONBOOT=yes
    MASTER=bond2
    SLAVE=yes
    
  3. 重启网卡生效

猜你喜欢

转载自blog.csdn.net/weixin_43141627/article/details/88053490