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

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. Occlusion(遮挡剔除)

    Occlusion 1.视锥体剔除(Frustum Culling) 根据摄像机的视见体的范围对场景模型进行剔除操作,在视见体以外的物体不被渲染,但是在视见体中的物体会以离摄像机最远的物体开始渲染,逐 ...

  2. DRF全局总结

    基础部分 一.创建工程 1.创建虚拟环境 python -m venv 路径 2.安装Django 进入虚拟环境 pip install Django 3.创建项目 django-admin star ...

  3. python spacy [E050] Can't find model 'en_core_web_sm'

    出现问题 [E050] Can't find model 'en_core_web_sm' 使用管理员权限打开shell控制台,输入命令 python -m spacy download en_cor ...

  4. iOS 常用第三方库及原理

    AFNetWorking SDWebImage MJRefresh Masonry YYModel IQKeyboardManger

  5. 00_java进阶笔记

    _01_Object类 /* * java.util.Object Object类是最顶层的类,每个类都使用Object类作为父类 * 所有对象(包括数组)都实现这个类的方法 * 注: * 使用toS ...

  6. Nginx njs模块注入js

    如实现表单代填或者webvpn模式,后续待研究

  7. 记一次 turbostat 的使用

    场景:为了测试海光cpu的性能,从而使用turbostat 来监测cpu工作时候的相关频率. cpu 型号: 1.Hygon C86 7165 24-core Processor 1.9GHz 384 ...

  8. C. Tea Tasting

    https://codeforces.com/contest/1795/problem/C 用二分+前缀和+差分卡过 #include <iostream> #include <cs ...

  9. elementUI合并单元格

    <el-table :data="tableDataFormat" border :header-cell-style="{background:'#FAFAFA' ...

  10. ubuntu 安装SVN

    s1: [sudo apt-get install subversion] s2:本地新建一个文件夹如SVN,在该文件夹下打开终端输入命令[svn co https://xxx/svn/xxx --u ...