堆叠、集群技术

1.堆叠、集群技术的概述

堆叠、集群简介

堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。

集群(Cluster Switch System,CSS),将两台支持集群特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。

集群只支持两台设备,一般高端框式交换机支持CSS、盒式设备支持iStack。

通过使用堆叠、集群技术结合链路聚合技术可以简单构建高可靠、无环的园区网络。

堆叠、集群架构

使用堆叠、集群技术将独立的交换机虚拟化成一台逻辑的交换机,一般接入、汇聚层盒式交换机采用堆叠技术,汇聚、核心层交换机采用集群技术。

在逻辑交换机之间使用链路聚合技术,无需部署STP、VRRP实现高可靠性。

实现高可靠性的同时设备之间的链路可以同时传输流量,链路利用率得以提升。

堆叠、集群的优势

1)使用堆叠、集群可有效提高资源利用率,获得更高的转发性能、链路带宽。

2)使用堆叠、集群可以降低网络规划的复杂度,方便对于网络的管理。

3)使用堆叠、集群可以大大降低故障导致的业务中断时间。

2.堆叠技术原理

堆叠基本概念

堆叠系统中所有的单台交换机都称为成员交换机,按照功能不同,可以分为三种角色:

主交换机(Master):主交换机负责管理整个堆叠。堆叠系统中只有一台主交换机。

备交换机(Standby):备交换机是主交换机的备份交换机。堆叠系统中只有一台备交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。

从交换机(Slave):从交换机用于业务转发,堆叠系统中可以有多台从交换机。从交换机数量越多,堆叠系统的转发带宽越大。除主交换机和备交换机外,堆叠中其他所有的成员交换机都是从交换机。当备交换机不可用时,从交换机承担备交换机的角色。

堆叠优先级:堆叠优先级是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,优先级越高当选为主交换机的可能性越大。

堆叠ID

堆叠ID,即成员交换机的槽位号(Slot ID),用来标识和管理成员交换机,堆叠中所有成员交换机的堆叠ID都是唯一的。

设备堆叠ID缺省为0。堆叠时由堆叠主交换机对设备的堆叠ID进行管理,当堆叠系统有新成员加入时,如果新成员与已有成员堆叠ID冲突,则堆叠主交换机从0~最大的堆叠ID进行遍历,找到第一个空闲的ID分配给该新成员。

堆叠逻辑接口

堆叠逻辑接口:交换机之间用于建立堆叠的逻辑接口,每台交换机支持两个逻辑堆叠端口,分别为stack-port n/1和stack-port n/2,其中n为成员交换机的堆叠ID。

一个逻辑堆叠端口可以绑定多个物理成员端口,用来提高堆叠的可靠性和堆叠带宽。

堆叠成员设备之间,本端设备的逻辑堆叠端口stack-port n/1必须与对端设备的逻辑堆叠端口stack-port m/2相连。

堆叠系统组建过程

①物理连接:选择适当的连接方式和连接拓扑,组建堆叠网络

②主交换机选举:成员交换机之间相互发送堆叠竞争报文,并根据选举原则,选出堆叠系统主交换机。

③拓扑收集和备交换机选举:主交换机收集所有成员交换机的拓扑信息,向成员交换机分配堆叠ID,之后选出堆叠系统备交换机。

④软件和配置同步:主交换机将堆叠系统的拓扑信息同步给所有成员交换机,成员交换机同步主交换机的系统软件和配置文件,之后进入稳定运行状态。

堆叠方式

1)堆叠卡堆叠:使用专用的堆叠插卡或者交换机自身集成的堆叠插卡,使用专用的堆叠线缆进行堆叠。

2)业务口堆叠:交换机之间使用逻辑堆叠接口(stack-port)相连,可使用普通线缆网线、光纤或者专用堆叠线缆连接物理成员端口。

堆叠连接拓扑

1)链型连接:堆叠成员交换机距离较远时,组建环形连接比较困难,可以使用链形连接。

可靠性较低,其中一条堆叠链路出现故障就会导致已经形成的堆叠断开。

2)环形连接:堆叠成员交换机距离较近时,从可靠性和堆叠链路利用率上考虑,建议使用环形连接。

可靠性较高,其中一条堆叠链路出现故障,环形拓扑变成链形拓扑,不影响堆叠系统正常工作。

交换机的选举

1)主交换机的选举

①运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞争为主交换机

堆叠主交换机选举超时时间为20s,堆叠成员交换机上电或重启时,由于不同成员交换机所需的启动时间可能差异比较大,因此不是所有成员交换机都有机会参与主交换机的第一次选举。

②堆叠优先级高的交换机优先竞争为主交换机

③堆叠优先级相同时,MAC地址小的交换机优先竞争为主交换机

2)备用交换机的选举

①堆叠优先级最高的交换机成为备交换机

②堆叠优先级相同时,MAC地址最小的成为备交换机

3) 软件、配置同步

①角色选举、拓扑收集完成之后,所有成员交换机会自动同步主交换机的系统软件和配置文件:

堆叠具有自动加载系统软件的功能,待组成堆叠的成员交换机不需要具有相同软件版本,只需要版本间兼容即可。

当备交换机或从交换机与主交换机的软件版本不一致时,备交换机或从交换机会自动从主交换机下载系统软件,然后使用新系统软件重启,并重新加入堆叠。

②堆叠具有配置文件同步机制,备交换机或从交换机会将主交换机的配置文件同步到本设备并执行,以保证堆叠中的多台设备能够像一台设备一样在网络中工作,并且在主交换机出现故障之后,其余交换机仍能够正常执行各项功能。

堆叠管理与文件配置

堆叠管理

登录任意成员的Console口即可管理整个堆叠系统。

与堆叠系统上的任意IP地址路由可达,即可通过Telnet、Stelnet、WEB、SNMP等方式登录、管理整个堆叠系统。

配置文件

堆叠建立后,竞争为主的交换机的配置文件生效,整个堆叠系统的配置都保存在主交换机的配置文件中。

备交换机上会备份主交换机的配置文件,当主交换机故障时备份交换机的配置继续运行。

堆叠成员加入

堆叠成员加入是指向已经稳定运行的堆叠系统添加一台新的交换机:

①将未上电的交换机连线加入堆叠之后再上电启动,新加入的交换机会选举为从交换机,堆叠系统中原有主备从角色不变。

②角色选举结束后,主交换机更新堆叠拓扑信息,同步到其他成员交换机上,并向新加入的交换机分配堆叠ID(新加入的交换机没有配置堆叠ID或配置的堆叠ID与原堆叠系统的冲突时)。

③新加入的交换机更新堆叠ID,并同步主交换机的配置文件和系统软件,之后进入稳定运行状态。

堆叠成员的退出

堆叠成员退出是指成员交换机从堆叠系统中离开。根据退出成员交换机角色的不同,对堆叠系统的影响也有所不同:

①当主交换机退出,备份交换机升级为主交换机,重新计算堆叠拓扑并同步到其他成员交换机,指定新的备交换机,之后进入稳定运行状态。

②当备交换机退出,主交换机重新指定备交换机,重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。

③当从交换机退出,主交换机重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。

堆叠合并

堆叠合并是指稳定运行的两个堆叠系统合并成一个新的堆叠系统。

堆叠分裂

堆叠分裂是指稳定运行的堆叠系统中带电移出部分成员交换机,或者堆叠线缆多点故障导致一个堆叠系统变成多个堆叠系统。

MAD检测

多主检测MAD(Multi-Active Detection):一种检测和处理堆叠分裂的协议,链路故障导致堆叠系统分裂后,MAD可以实现堆叠分裂的检测、冲突处理和故障恢复,降低堆叠分裂对业务的影响。

MAD检测方式有两种:直连检测方式和代理检测方式。在同一个堆叠系统中,两种检测方式互斥,不可以同时配置。

1)直连检测

直连检测方式是指堆叠成员交换机间通过普通线缆直连的专用链路进行多主检测。在直连检测方式中,堆叠系统正常运行时,不发送MAD报文;堆叠系统分裂后,分裂后的两台交换机以1秒为周期通过检测链路发送MAD报文进行多主冲突处理。

2)代理检测

代理检测方式是在堆叠系统Eth-Trunk上启用代理检测,在代理设备上启用MAD检测功能。此种检测方式要求堆叠系统中的所有成员交换机都与代理设备连接,并将这些链路加入同一个Eth-Trunk内。与直连检测方式相比,代理检测方式无需占用额外的接口,Eth-Trunk接口可同时运行MAD代理检测和其他业务。

MAD冲突处理

1)堆叠分裂后,MAD冲突处理机制使用MAD报文进行MAD竞争,竞争结果为堆叠系统处于Detect状态或者Recovery状态:

Detect:竞争成功,堆叠系统将处于正常工作状态。

Recovery:竞争失败,堆叠系统将状态处于禁用状态,关闭除手动配置的保留端口以外的其它所有物理端口。

2)MAD竞争原则与主交换机的竞争原则类似:

①先比较启动时间,启动完成时间早的堆叠系统成为Detect状态。启动完成时间差在20秒内则认为堆叠的启动完成时间相同。

②启动完成时间相同时,比较堆叠中主交换机的优先级,优先级高的堆叠系统成为Detect状态。

③优先级相同时,比较堆叠系统的MAC,MAC小的堆叠系统成为Detect状态。

堆叠主备倒换

如果堆叠系统当前的主交换机不是用户期望的,此时可以通过配置主备倒换实现将堆叠备交换机升为堆叠主交换机。

除了用户通过命令执行的主备倒换之外,主交换机故障重启也会引起主备倒换。

堆叠升级

堆叠升级方式有三种:智能升级、传统升级和平滑升级。

①智能升级:堆叠建立或者新的交换机加入堆叠时会自动和主交换机的版本进行同步。

②传统升级:和普通设备升级一样,指定下次启动版本,重启整个堆叠系统进行升级,会造成较长时间的业务中断。

③平滑升级:将堆叠系统划分成为active、backup区域,可以分区域升级,整个堆叠系统的上下行采用备份组网,主、备链路分别处于active、backup区域,可以实现升级时的业务不中断。

跨设备链路聚合

堆叠支持跨设备链路聚合技术,堆叠后成为逻辑上的一台交换机,支持将Eth-Trunk的成员接口分布在不同的成员交换机上。

当其中一条聚合链路故障或堆叠中某台成员交换机故障时,Eth-Trunk接口通过堆叠线缆将流量重新分布到其他聚合链路上,实现了链路间和设备间的备份,保证了数据流量的可靠传输。

流量本地优先转发

1)链路聚合的负载分担算法根据流量特征将报文分担在不同的成员链路上,对于跨设备链路聚合极有可能出现报文的出接口和入接口不在同一台成员设备之上的情况,此时堆叠成员之间将会通过堆叠线缆转发流量,这增加了堆叠线缆的流量负担,同时也降低了转发效率。

2)为保证流量转发效率、降低堆叠线缆带宽负载,设备可以开启流量本地优先转发,从本设备进入的流量优先从本地转发出去,当本设备无出接口或者出接口全部故障,才会从其它成员交换机的接口转发出去。

3.集群技术原理

集群介绍

集群交换机系统CSS(Cluster Switch System),又称为集群,是指将两台支持集群特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。

CSS与iStack的区别在于,一般框式交换机堆叠称为CSS,盒式交换机称为堆叠,堆叠与集群两者只是叫法和实现有些差异,但是功能是一样的。

集群的特点

①集群内物理设备转发平面合一,转发信息共享并实时同步。

②集群交换机对外表现为一台逻辑交换机,控制平面合一,统一管理。

③跨集群物理设备的链路被聚合成一个Eth-Trunk端口和下游设备实现互联。

集群基本概念

集群中的单台交换机称为集群成员交换机,按照功能不同,可以分为两种角色:

①主交换机(Master):主交换机,即Master,负责管理整个集群。

②备交换机(Standby):备交换机,即Standby,是主交换机的备份交换机。

集群ID:即CSS ID,用来标识成员交换机,集群中成员交换机的集群ID是唯一的。

CSS Link:集群链路,专门用于组建集群,实现主交换机和备交换机之间数据通信。

集群优先级:即CSS Priority,主要用于角色选举过程中确定成员交换机的角色。优先级值越大优先级越高,默认为1。

集群控制平面

两台交换机使用集群线缆连接好,分别使能集群功能并完成配置后重启,集群系统会自动建立。

集群系统建立后,在控制平面上,主交换机的主用主控板成为集群系统的控制平面,作为整个系统的管理主角色。备交换机的主用主控板成为集群系统的备用控制平面,作为系统的管理备角色。主交换机和备交换机的备用主控板作为集群系统候选备用主控板。

集群物理连接

根据集群技术发展阶段不同,集群物理连接方式也存在区别:

传统CSS:使用主控板上的集群卡建立集群连接,或者使用业务口建立集群连接。

传统CSS分为主控板集群卡连接方式和业务口连接方式。

对于只支持CSS构架的框式交换机,框内接口板之间流量、跨框流量必须经过主控板。

单框上没有正常工作的主控板时流量无法从一个接口板转发到另外一个接口板,同时也无法跨框转发到另一个框。

CSS2:第二代集群交换机系统,专指使用交换网板上的集群卡方式建立集群连接的集群。

支持CSS2构架的框式交换机采用转控分离的构架,单框内接口板之间流量、跨框流量无需经过主控板,集群系统内单台框无能够正常工作的主控板不影响该框的流量转发。

CSS2支持任意一个框式交换机内存在一个主控板运行正常,集群的两个框式交换机上的接口板都可以正常转发报文,该特性被称为"集群主控1+N备份"。

相关推荐
zwjapple3 分钟前
typescript里面正则的使用
开发语言·javascript·正则表达式
小五Five4 分钟前
TypeScript项目中Axios的封装
开发语言·前端·javascript
前端每日三省6 分钟前
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
开发语言·前端·javascript
凡人的AI工具箱19 分钟前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
chnming198735 分钟前
STL关联式容器之map
开发语言·c++
进击的六角龙36 分钟前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂37 分钟前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
湫ccc44 分钟前
Python简介以及解释器安装(保姆级教学)
开发语言·python
程序伍六七1 小时前
day16
开发语言·c++
wkj0011 小时前
php操作redis
开发语言·redis·php