交换机链路聚合与多网卡绑定(bond)

发布时间 2023-04-21 09:41:06作者: 素念Sni

概念介绍

  • bonding是linux内核自带的模块,它能将Linux系统的多个网卡绑定为一个逻辑端口,同时对外提供一个统一的IP地址,目前bonding模块的工作模式共有七种mode(0~6)

mode介绍

  1. mode0 ,(balance-rr) 轮询均衡

    传输数据包顺序是多个网卡轮询传输,可能会出现乱序数据包需要重传。
    服务器对外只有一个MAC地址,其物理网卡是没有MAC地址的,因此需要交换
    机做链路聚合,否则不知道要将数据包发送给哪个网卡

  2. mode1, (active-backup)主备模式

    只有主网卡处于活动状态,当主网卡down备份网卡才会转为活动网卡。
    服务器对外只有一个活动网卡,从交换机上看来,只能看到其活动的网卡一个
    MAC地址,因此不需要交换机特别配置,配置access端口就可以了

  3. mode2,(balance-xor)(根据hash的均衡模式)

    基于指定的传输HASH策略传输数据包。默认hash算法是: [(source
    MAC address XOR'd with destination MAC address) modulo slave count]。
    (XOR:异或),算法可以更改

  4. mode3,broadcast(广播策略)

    在每个网卡上传输每个数据包,广播包太多,一般不使用此模式

  5. mode4,(802.3ad)IEEE 802.3ad Dynamic link aggregation
    (IEEE802.3ad 动态链接聚合

    创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将
    多个网卡工作在同一个激活的聚合体下。基于传输hash策略实现负载均衡,默认
    XOR hash算法。并且支持802.1Q trunk模式,同时传输多个VLAN。

  6. mode5,(balance-tlb)Adaptive transmit load balancing(适配器发送负
    载均衡)

    不需要任何特别的switch(交换机)支持的通道bonding。在每个网卡上根据
    当前的负载(根据速度计算)分配外出流量。如果正在接受数据的网卡出故障了,
    另一个网卡接管失败的网卡的MAC地址。交换机上可见多个网卡的MAC,因此不
    需要交换机做链路聚合配置。

  7. mode6,(balance-alb)Adaptive load balancing(适配器适应性负载均衡)

    该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡
    (receiveload balance, rlb),而且不需要任何switch(交换机)的支持。交换机上也
    是可见多个网卡的MAC,不需要做链路聚合配置

Bounding模式 对应交换机switch配置

Mode=0(balance-rr)轮询均衡模式 LACP mode on,强制链路聚合
Mode=1(active-backup)主备模式 Access端口,无需特别配置
Mode=2(balance-xor)根据hash的均衡模式 LACP mode on,强制链路聚合
Mode=3(broadcast)广播模式 LACP mode on,强制链路聚合
Mode=4(IEEE802.3ad)动态链路聚合 LACP动态协商,建议主动模式
Mode=5(balance-tlb)发送负载均衡 Access端口,无需特别配置
Mode=6(balance-alb)收发负载均衡 Access端口,无需特别配置