当前位置: 首页 > 科技观察

H3C交换机与Linux服务器网卡绑定方式(bond)互联经典配置

时间:2023-03-13 17:24:16 科技观察

交换机与Linux服务器多网卡绑定方式互联有时需要确认是静态聚合还是动态聚合。当然这和当前服务器网卡的bond模式有关。下面我们来了解一下Linux服务器的7种bond模式,分别解释如下:第一种模式:mod=0,即:(balance-rr)Round-robinpolicy(平衡轮转策略)特点:传输顺序数据包按顺序传输(即:第一个包到eth0,下一个包到eth1....一直循环下去,直到最后一个传输完成),这种模式提供了负载均衡和容错;但是我们知道,如果一个连接或者会话的数据包是从不同的接口发出的,然后在中间经过不同的链路,那么在客户端可能会出现数据包乱序到达的问题,并且乱序到达的数据包需要重新发送,这样网络的吞吐量就会下降。衰退。该模式要求接入交换机配置静态链路聚合。V3平台交换机侧静态典型配置[H3C]link-aggregationgroup1modemanual[H3C]interfaceethernet2/1/1[H3C-Ethernet2/1/1]portlink-aggregationgroup1[H3C-Ethernet2/1/1]interfaceethernet2/1/2[H3C-Ethernet2/1/2]portlink-aggregationgroup1[H3C-Ethernet2/1/2]interfaceethernet2/1/3[H3C-Ethernet2/1/3]portlink-aggregationgroup1V5/V7交换机侧静态典型配置[DeviceA]interfaceBridge-Aggregation1//默认static[DeviceA-Bridge-Aggregation1]quit[DeviceA]interfaceGigabitEthernet4/0/1[DeviceA-GigabitEthernet4/0/1]portlink-aggregationgroup1[DeviceA]interfaceGigabitEthernet4/0/2[DeviceA-GigabitEthernet4/0/2]portlink-aggregationgroup1第二种模式:mod=1,即:(active-backup)主备策略(main-backuppolicy)特点:只有一台设备处于活动状态,当一台宕机时,另一台立即从备份转换为备用主要设备。mac地址是外部可见的。从外部看,绑定的MAC地址是唯一的,以避免在交换机中混淆。这种模式只提供容错;可以看出,该算法的优点是可以提供网络连接的高可用性,但资源利用率低,只有一个接口在工作。在N个网络接口的情况下,资源利用率为1/N。交换机侧不需要配置,但是会有MAC漂移的记录。第三种模式:mod=2,即:(balance-xor)异或策略(balancepolicy)特点:根据指定的传输HASH策略传输数据包。默认策略是:(源MAC地址XOR目标MAC地址)%从机数量。可以通过xmit_hash_policy选项指定其他传输策略,它提供负载平衡和容错。交换机端无需配置任何链路模式。第四种模式:mod=3,即:broadcast(广播策略)特点:每个数据包在每个slave接口上传输,这种模式提供容错。交换机端无需配置任何链路模式。第五个模式:mod=4,即:(802.3ad)IEEE802.3ad动态链路聚合(IEEE802.3addynamiclinkaggregation)特点:创建一个聚合组,它们共享相同的速率和Duplex设置。根据802.3ad规范,多个slave工作在同一个activeaggregate下。出站流量的slave选举是基于传输哈希策略,可以通过xmit_hash_policy选项从默认的异或策略更改为其他策略。需要注意的是,并不是所有的传输策略都兼容802.3ad,尤其是考虑到802.3ad标准43.2.4节中提到的数据包乱序问题。不同的实现可能有不同的适配。在交换机侧,需要动态链路聚合配置和互连。必要条件:条件1:ethtool支持获取每个slave的速度和双工设置条件2:交换机(switch)支持IEEE802.3ad动态链路聚合条件3:大多数交换机(switch)需要特定配置才能支持802.3ad典型配置模式V3交换机上的动态聚合[H3C]link-aggregationgroup1modestatic[H3C]interfaceethernet2/1/1[H3C-Ethernet2/1/1]portlink-aggregationgroup1[H3C-Ethernet2/1/1]interfaceethernet2/1/2[H3C-Ethernet2/1/2]portlink-aggregationgroup1[H3C-Ethernet2/1/2]interfaceethernet2/1/3[H3C-Ethernet2/1/3]portlink-aggregationgroup1V5/V7平台交换机动态聚合典型配置[DeviceA]interfaceBridge-Aggregation1[DeviceA-Bridge-Aggregation1]link-aggregationmodedynamic[DeviceA]interfaceGigabitEthernet4/0/1[DeviceA-GigabitEthernet4/0/1]portlink-aggregationgroup1[DeviceA-GigabitEthernet4/0/1]quit[DeviceA]interfaceGigabitEthernet4/0/2[DeviceA-GigabitEthernet4/0/2]portlink-aggregationgroup1第六种模式:mod=5,即:(balance-tlb)Adaptivetransmissionloadbalancing(适配器传输负载均衡)特点:无需特殊开关(switch)支持Channelbonding。根据当前负载(根据速度计算)在每个slave上分配出站流量。如果正在接收数据的从站发生故障,另一个从站将接管发生故障的从站的MAC地址。该模式的必要条件:ethtool支持获取各个slave的速率。目前交换机侧不需要配置任何链路模式。第7种模式:mod=6,即:(balance-alb)自适应负载均衡(adapteradaptiveloadbalancing)特点:该模式包括balance-tlb模式,加上针对IPV4流量的接收负载均衡(receiveloadbalance,rlb),并且不需要任何开关(switch)的支持。接收负载均衡是通过ARP协商实现的。bondingdriver拦截本机发送的ARP响应,将源硬件地址重写为bond中某个slave的唯一硬件地址,从而使不同的peer使用不同的硬件地址进行通信。来自服务器端的传入流量也是平衡的。当本机发送ARP请求时,绑定驱动程序从ARP数据包中复制并保存对端的IP信息。当来自对等方的ARP回复到达时,绑定驱动程序提取其硬件地址并将ARP回复发送到绑定中的从属设备。使用ARP协商进行负载平衡的一个问题是每次广播ARP请求时,都会使用绑定的硬件地址。因此,对端学习到这个硬件地址后,所有接收到的流量都会流向当前slave。这个问题可以通过向所有具有唯一硬件地址的对等点发送更新(ARP回复)来解决,从而重新分配流量。当一个新的从站被添加到绑定中,或者当一个不活动的从站被重新激活时,接收到的流量也会被重新分配。接收到的负载按顺序(循环)分布在绑定中最快的从站上。交换机端目前不需要链接模式接口。当重新连接链路或将新的从站添加到绑定时,通过向具有指定MAC地址的每个客户端发送ARP回复,接收到的流量将在所有当前活动的从站之间重新分配。下面介绍的updelay参数必须设置为大于等于交换机(switch)的转发延迟的值,以保证发送给对端的ARPreply不会被交换机(switch)阻塞。必备条件:条件一:ethtool支持获取各个slave的速率;条件二:底层驱动支持设置一个设备的硬件地址,这样总有一个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond中的slave都有唯一的硬件地址。如果curr_active_slave失效,它的硬件地址会被新选择的curr_active_slave接管。其实mod=6和mod=0的区别:mod=6,先填满eth0流量,然后占用eth1,...ethX;而mod=0,你会发现两个端口的流量很稳定,带宽基本一样。而mod=6,你会发现第一个端口的流量很高,第二个端口只占流量的一小部分。配置要点及注意事项交换机侧的链路绑定有两种方式,一种是静态聚合,一种是动态聚合。静态对应server端的bond0,动态对应server端的bond4。