端口绑定的种类(具体介绍网上很多参考)

balance-rr or 0

active-backup or 1

balance-xor or 2

broadcast or 3

802.3ad or 4

balance-tlb or 5

balance-alb or 6

使用场景

高可用场景

上行一台交换机

参考增加带宽场景。因为如果交换机故障,则连接中断。若某链路故障,the bonding load balance modes

support link monitoring of their members,会自动切换。

上行两台交换机

TOPO如下

            |                                     |
|port3 port3|
+-----+----+ +-----+----+
| |port2 ISL port2| |
| switch A +--------------------------+ switch B |
| | | |
+-----+----+ +-----++---+
|port1 port1|
| +-------+ |
+-------------+ host1 +---------------+
eth0 +-------+ eth1

这种模式下,只能选mode1(推荐)或者mode3(适用于某些特殊场景),其他模式需要对端连接到同一台设备。

链路监控选择 MII,ARP。MII简单,但不准确,除非交换机侧做"trunk failover." This is a feature of theswitch that causes the link state of a particular switch port to be setdown (or up) when the state of another switch port goes down (or up).。ARP需要配置target。

增加带宽场景

上行一台交换机(逻辑,如做了堆叠的两个交换机可以视为一个)

三层模式

 +----------+                     +----------+
| |eth0 port1| | to other networks
| Host A +---------------------+ router +------------------->
| +---------------------+ | Hosts B and C are out
| |eth1 port2| | here somewhere
+----------+ +----------+

二层模式

+----------+            +----------+       +--------+
| |eth0 port1| +-------+ Host B |
| Host A +------------+ switch |port3 +--------+
| +------------+ | +--------+
| |eth1 port2| +------------------+ Host C |
+----------+ +----------+port4 +--------+

简而言之,由于许多负载均衡策略都和源MAC和目的MAC相关,三层模式下,目的MAC为gateway的MAC,二层模式下,目的MAC为通信对象HOSTB,HOSTC的MAC,这会带来一些区别。

模式选择

balance-rr or 0

这种模式是唯一可以做到让单个TCP流的带宽都增加的,但由于单个TCP流走两个不通链路,会带来包乱序的问题,包乱序会带来重传,严重时候直接reset。

active-backup or 1

这种模式在此场景下没啥优势,因为两条链路都连在同一个交换机上,在此场景下,loader blance模式会在带来相同可用性提升的基础上,提升带宽。但在交换机不支持负载均衡模式下有用。

balance-xor or 2

二层模式下可以使用,三层模式下不推荐。

broadcast or 3

同 mode 1

802.3ad or 4

推荐使用。通常交换机都支持,问题是三层模式也可能导致流量不均衡。只支持MII监视器。

balance-tlb or 5

三层模式也会导致流量不均衡,与mode4不同的是,salve设备可以是不同的速率,不用交换机特殊配置。

balance-alb or 6

同mode5,并且需要驱动支持修改MAC地址。

上行多台交换机

                   +-----------+
| Host A |
+-+---+---+-+
| | |
+--------+ | +---------+
| | |
+------+---+ +-----+----+ +-----+----+
| Switch A | | Switch B | | Switch C |
+------+---+ +-----+----+ +-----+----+
| | |
+--------+ | +---------+
| | |
+-+---+---+-+
| Host B |
+-----------+

模式选择

一般选择balance-rr。

某项目在华为堆叠,服务器配置mode5的情况下,(交换机侧配不配置port-channel一样)丢包。待项目重启后尝试更改服务器侧为mode4试试。

交换机侧

[DeviceA] interface bridge-aggregation 1

[DeviceA-Bridge-Aggregation1] quit

分别将端口GigabitEthernet1/0/1至 GigabitEthernet1/0/3加入到聚合组1中。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-gigabitethernet1/0/1] port link-aggregation group 1

[DeviceA-gigabitethernet1/0/1] quit

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-gigabitethernet1/0/2] port link-aggregation group 1

[DeviceA-gigabitethernet1/0/2] quit

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-gigabitethernet1/0/3] port link-aggregation group 1

[DeviceA-gigabitethernet1/0/3] quit

[DeviceA] interface bridge-aggregation 1

[DeviceA-Bridge-Aggregation1] port link-type access vlan 10 待测试

参考:

https://www.kernel.org/doc/Documentation/networking/bonding.txt

https://en.wikipedia.org/wiki/EtherChannel

http://www.h3c.com/cn/d_201108/723394_30005_0.htm#_Toc301162087

服务器做bond,交换机做port-channel的更多相关文章

  1. centos 7 服务器网卡做bond

    前期环境准备 [root@ /root] alibaba cloud#cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@ ...

  2. centos7多网卡配置bond0 (mode6无需交换机做配置)

    1.执行setup命令-->网络配置-->本例中四块网卡. 2.ifconfig列出四块网卡. 3.我们的目标,绑定eth0和eth1两块网卡作为公网网卡,ip设置为192.168.0.5 ...

  3. Port Channel and VPC

    1.Port Channel 介绍 Port Channel  简介 绑定多个物理链路(最多8条),到一个单一的逻辑链路,在两个物理设备之间 每个物理端口只能被放入一个port-channel中. 在 ...

  4. 游戏引擎网络开发者的64做与不做(二A):协议与API

    [编者按]在这个系列之前的文章"游戏引擎网络开发者的64做与不做(一):客户端方面"中,Sergey介绍了游戏引擎添加网络支持时在客户端方面的注意点.本文,Sergey则将结合实战 ...

  5. 游戏引擎网络开发者的 64 做与不做 | Part 1 | 客户端方面

    摘要:纵观过去 10 年的游戏领域,单机向网络发展已成为一个非常大的趋势.然而,为游戏添加网络支持的过程中往往存在着大量挑战,这里将为大家揭示游戏引擎网络开发者的 64 个做与不做. [编者按]时下, ...

  6. 产品相关 做产品VS做项目

    做产品VS做项目 by:授客 QQ:1033553122 相关定义 根据GB/T19000—2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关 ...

  7. 子查询 做where条件 做 from的临时表 ,做select的一个字段 等

    子查询 做where条件 做 from的临时表 ,做select的一个字段 等

  8. 一台服务器多实例mysql做主从复制

    在一台服务器上开两个端口的mysql(3306.3307),做成主从复制环境 1)安装mysql(安装过程这里就不做过多介绍) 参考:http://www.cnblogs.com/kevingrace ...

  9. 网卡做bond 导致丢包

    值班中发现一台服务器报到网关丢包,带宽200M. 用  ethtool bond0 查看网卡带宽信息,发现 Speed 为 3100M ,非 1000 的整数倍或10000的整数倍,感觉不对,因为是做 ...

  10. kvm:双网卡做bond+桥接

    一,KVM基础 kvm是一种技术,云计算是一种模式,虚拟化是利用相应的技术方法在一台物理机器上将其按照不同的需求划分成多个相同或者不同的虚拟操作系统,并且各个虚拟系统可以同时运行,互不干扰,其中任何一 ...

随机推荐

  1. yak远程服务端搭

    前言 yak有本地模式和远端模式,本地模式是yakit客户端和核心引擎服务都在一台机器上,比如你自己的电脑 远端模式是将yak核心引擎部署到远端服务器,比如阿里云.腾讯云等 yakit只作为客户端,所 ...

  2. 有趣的drop-shadow

    如果写了好几个阴影,filter: drop-shadow(-0.5vmin 6vmin 0 var(--s2)) drop-shadow(-4.5vmin 10vmin 0 var(--v3));将 ...

  3. MySQL 8.0 新特性-原子DDL

    背景 MySQL 8.0 原子DDL 是一个复杂的过程,涉及比较多的模块,例如:MDL 锁,表定义缓存,行格式,Row Log,DDL Log,online 属性,表空间物理文件操作等.本文主要通过与 ...

  4. 【C学习笔记】day5-2 写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)

    #include <stdio.h> #include <stdlib.h> int find(int s) { int n = 0; scanf_s("%d&quo ...

  5. [学习计划]mysql常用语句-随学随整理

    <>   不等于 三元表达式 select *, if (num=1, "第一", "其他") as 别名 from 表 COUNT 统计总数并按某 ...

  6. pgsql中行数据转json数组

    SELECT array_to_json(array_agg(row_to_json(sys_xzqh))) from sys_xzqh where xzqh like '%341126%'

  7. MobaXterm激活专业版

    本文思路来自 https://github.com/flygon2018/MobaXterm-keygen 有python 环境 并且不看英文的可以继续往下 不然直接访问这个地址也行. 1.需要一个大 ...

  8. 【Frida】打印方法的调用堆栈

    function printstack() { console.log(Java.use("android.util.Log").getStackTraceString(Java. ...

  9. PageHelper大致逻辑

    简单涉及以下几个类: PageHelper   PageMethod  PageParam PageInterceptor  implement Interceptor PageHelperAutoC ...

  10. django的模型层(二)

    django的模型层(二) 一 创建模型 from django.db import models # Create your models here. class Author(models.Mod ...