HCIP-交换机堆叠与集群
堆叠与集群概述
简介
堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。
集群(Cluster Switch System,CSS)将两台支持集群特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。
集群只支持两台设备,一般高端框式交换机支持CSS,盒式设备支持iStack。
通过使用堆叠、集群技术结合链路聚合技术可以简单构建高可靠、无环的园区网络。

架构
使用堆叠、集群技术将独立的交换机虚拟化成一台逻辑的交换机,一般接入、汇聚层盒式交换机采用堆叠技术,汇聚、核心层交换机采用集群技术。
在逻辑交换机之间使用链路聚合技术,无需部署STP、VRRP实现高可靠性。
实现高可靠性的同时设备之间的链路可以同时传输流量,链路利用率得以提升。

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

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

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

堆叠
基本概念
堆叠系统中所有的单台交换机都称为成员交换机,按照功能不同,可以分为三种角色:
- 主交换机(Master):主交换机负责管理整个堆叠,堆叠系统中只有一台主交换机。
- 备交换机(Standby):备交换机是主交换机的备份交换机,堆叠系统中只有一台备交换机,当主交换机故障时,备交换机会接替原主交换机的所有业务。
- 从交换机(Slave):从交换机用于业务转发,堆叠系统中可以有多台从交换机,从交换机数量越多,堆叠系统的转发带宽越大。除主交换机和备交换机外,堆叠中其他所有的成员交换机都是从交换机,当备交换机不可用时,从交换机再承担起备交换机的角色。
堆叠优先级:堆叠优先级是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,优先级越高当选为主交换机的可能性越大。

堆叠ID
堆叠ID,即成员交换机的槽位号(Slot ID),用来标识和管理成员交换机,堆叠中所有成员交换机的堆叠ID都是唯一的。
设备堆叠ID缺省为0。堆叠时由堆叠主交换机对设备的堆叠ID进行管理,当堆叠系统有新成员加入时,如果新成员与已有成员堆叠ID冲突,则堆叠主交换机从0~最大的堆叠ID进行遍历,找到第一个空闲的ID分配给该新成员。
在建立堆叠时,建议提前规划好设备的堆叠ID。

堆叠逻辑接口
堆叠逻辑接口:交换机之间用于建立堆叠的逻辑接口,每台交换机支持两个逻辑堆叠端口,分别为stack-port n/1和stack-port n/2,其中n为成员交换机的堆叠ID。
一个逻辑堆叠端口可以绑定多个物理成员端口,用来提高堆叠的可靠性和堆叠带宽。
堆叠成员之间,本端设备的逻辑堆叠端口stack-port n/1必须与对端设备的逻辑堆叠端口stack-port m/2相连。

堆叠系统组建过程

物理连接
堆叠方式

堆叠连接拓扑

主交换机选举
确定出堆叠的连接方式和连接拓扑,完成成员交换机之间的物理连接之后,所有成员交换机上电。此时,堆叠系统开始进行主交换机的选举。
主交换机的选举规则如下:
- 交换机的运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞争为主交换机。堆叠主交换机选举超时时间为20s,堆叠成员交换机上电或重启时,由于不同成员交换机所需的启动时间可能差异比较大,因此不是所有成员交换机都有机会参与主交换机的第一次选举。
- 堆叠优先级高的交换机优先竞争为主交换机。
- 堆叠优先级相同时,MAC地址小的交换机优先竞争为主交换机。
拓扑收集和备交换机选举
拓扑收集、堆叠ID分配及Standby交换机选举:
主交换机选举完成后,主交换机会收集所有成员交换机的拓扑信息,并向所有成员交换机分配堆叠ID。之后进行备交换机的选举,作为主交换机的备份交换机。
除主交换机外最先完成设备启动的交换机优先被选为备交换机。
当除主交换机外其他交换机同时完成启动时,备交换机的选举规则如下(依次从第一条开始判断,直至找到最优的交换机才停止比较):
- 堆叠优先级最高的交换机成为备交换机。
- 堆叠优先级相同时,MAC地址最小的为备交换机。
软件和配置同步
角色选举、拓扑收集完成之后,所有成员交换机会自动同步主交换机的系统软件和配置文件:
- 堆叠具有自动加载系统软件的功能,待组成堆叠的成员交换机不需要具有相同软件版本,只需要版本间兼容即可。当备交换机或从交换机与主交换机的软件版本不一致时,备交换机或从交换机会自动从主交换机下载系统软件,然后使用新系统软件重启,并重新加入堆叠。
- 堆叠具有相同文件同步机制,备交换机或从交换机会将主交换机的配置文件同步到本设备并执行,以保证堆叠中的多台设备能够像一台设备一样在网络中工作,并且在主交换机出现故障之后,其余交换机仍能够正常执行各项功能。
堆叠成员加入
堆叠成员加入是指向已经稳定运行的堆叠系统添加一台新的交换机:
- 将未上电的交换机连线加入堆叠之后再上电启动,新加入的交换机会选举为从交换机,堆叠系统中原有主备从角色不变。
- 角色选举结束后,主交换机更新堆叠拓扑信息,同步到其他成员交换机上,并向新加入的交换机分配堆叠ID(新加入的交换机没有配置堆叠ID或配置的堆叠ID与原堆叠系统的冲突时)。
- 新加入的交换机更新堆叠ID,并同步主交换机的配置文件和系统软件,之后进入稳定运行状态。

堆叠合并
堆叠合并是指稳定运行的两个堆叠系统合并成一个新的堆叠系统。
例如:已上电的一台交换机并且配置了堆叠(已形成单机堆叠),通过堆叠线缆与已经在运行的堆叠系统连接。该过程为堆叠合并,与堆叠加入不同。

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

堆叠分裂引起的问题
由于堆叠系统中所有成员交换机都使用同一个IP地址(VLANIF接口地址)和MAC地址(堆叠系统MAC),一个堆叠系统分裂后,可能产生多个具有相同IP地址和MAC地址的堆叠系统,从而引起网络故障,为此必须进行IP地址和MAC地址的冲突检查。

MAD检测
多主检测MAD(Multi-Active Detection):一种检测和处理堆叠分裂的协议,链路故障导致堆叠系统分裂后,MAD可以实现堆叠分裂的检测、冲突处理和故障恢复,降低堆叠分裂对业务的影响。
MAD检测方式有两种:直连检测方式和代理检测方式。在同一个堆叠系统中,两种检测方式互斥,不可同时配置。

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

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

MAD冲突处理
堆叠分裂后,MAD冲突处理机制使用MAD报文进行MAD竞争,竞争结果为堆叠系统处于Detect状态或者Recovery状态:
- Detect:竞争成功,堆叠系统将处于正常工作状态。
- Recovery:竞争失败,堆叠系统状态处于禁用状态,关闭除手动配置的保留端口以外的其他所有物理端口。

MAD竞争原则
MAD竞争原则与主交换机的竞争原则类似:
- 先比较启动时间,启动完成时间早的堆叠系统成为Detect状态。启动完成时间差在20秒内则认为堆叠的启动完成时间相同。
- 启动完成时间相同时,比较堆叠中主交换机的优先级,优先级高的堆叠系统成为Detect状态。
- 优先级相同时,比较堆叠系统的MAC,MAC小的堆叠系统成为Detect状态。
堆叠主备倒换
如果堆叠系统当前的主交换机不是用户期望的,此时可以通过配置主备倒换实现将堆叠备交换机升为堆叠主交换机。
除了用户通过命令执行的主备倒换之外,主交换故障重启也会引起主备倒换。

堆叠升级
堆叠升级方式有三种:智能升级、传统升级和平滑升级。
智能升级:堆叠建立或者新的交换机加入堆叠时会自动和主交换机的版本进行同步。
传统升级:和普通设备升级一样,指定下次启动版本,重启整个堆叠系统进行升级,会造成较长时间的业务中断。
平滑升级:将堆叠系统划分为active、backup区域,可以分区域升级,整个堆叠系统的上下行采用备份组网,主、备链路分别处于active、backup区域,可以实现升级时的业务不中断。

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

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

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

集群
介绍
集群交换机系统CSS(Cluster Switch System),又称为集群,是指将两台支持集群特性的交换设备组合在一起,从逻辑上虚拟成一台交换设备。
CSS与iStack的区别在于,一般框式交换机堆叠称为CSS,盒式交换机称为堆叠,堆叠与集群两者只是叫法和实现有些差异,但是功能是一样的。

集群基本概念
集群中的单台交换机被称为集群成员交换机,按照功能不同,可以分为两种角色:
- 主交换机(Master):主交换机,即Master,负责管理整个集群。
- 备交换机(Standby):备交换机,即Standby,是主交换机的备份交换机。
集群ID:即CSS ID,用来标识成员交换机,集群中成员交换机的集群ID是唯一的。
CSS Link:集群链路,专门用于组建集群,实现主交换机和备交换机之间数据通信。
集群优先级:即CSS Priority,主要用于角色选举过程中确定成员交换机的角色,优先级值越大优先级越高。

集群控制平面
两台交换机使用集群线缆连接好,分别使能集群功能并完成配置后重启,集群系统会自动建立。
集群系统建立后,在控制平面上,主交换机的主用主控板成为集群系统的控制平面,作为整个系统的管理主角色,备交换机的主用主控板成为集群系统的备用控制平面,作为系统的管理备角色。主交换机和备交换机的备用主控板作为集群系统候选备用主控板。

集群物理连接
根据集群技术发展阶段不同,集群物理连接方式也存在区别:
- 传统CSS:使用主控板上的集群卡建立集群连接,或者使用业务口建立集群连接。
- CSS2:第二代集群交换机系统,专指使用交换网板上的集群卡方式建立集群连接的集群。

传统CSS
对于只支持CSS构架的框式交换机,框内接口板之间流量、跨框流量必须经过主控板。
单框上没有正常工作的主控板时流量无法从一个接口板转发到另外一个接口板,同时也无法跨框转发到另一个框。

CSS2
支持CSS2构架的框式交换机采用转控分离的构架,单框内接口板之间流量、跨框流量无需经过主控板,集群系统内单台框无能够正常工作的主控板不影响该框的流量转发。
CSS2支持一个框式交换机内存在一个主控板运行正常,集群的两个框式交换机上的接口都可以正常转发报文,该特性被称为“集群主控1+N备份”。

堆叠和集群配置
堆叠配置
创建堆叠接口
创建堆叠逻辑接口,绑定物理成员端口到堆叠接口中。
Member-id为设备的堆叠ID,port-id为本地的堆叠逻辑接口编号,只能为1或者2。
1 | [Huawei]interface stack-port member-id/port-id |
配置设备的堆叠ID
缺省情况下,设备的堆叠ID为0,修改后的堆叠ID在保存当前配置并重启之后才会生效。
1 | [Huawei]stack slot slot-id renumber new-slot-id |
配置设备的堆叠优先级
缺省情况下,成员交换机的堆叠优先级为100。
1 | [Huawei]stack slot slot-id priority priority-value |
配置多主检测
配置直连方式多主检测。
在接口视图下配置接口的直连多主检测功能。
1 | [Huawei-GigabitEthernet0/0/1]mad detect mode direct |
代理方式多主检测,当代理设备为一条交换机时,在堆叠系统上与代理设备互联的Eth-Trunk中开启MAD检测。
1 | [Huawei]interface eth-trunk trunk-id |
代理方式多主检测,当代理设备为一台交换机时,在指定的代理设备上与堆叠系统互联的Eth-Trunk中开启MAD代理。
1 | [Huawei]interface eth-trunk trunk-id |
代理方式多主检测,两个堆叠系统互为代理,配置堆叠系统MAD域值。
缺省情况下,堆叠系统MAD域值为0,堆叠系统护卫代理时需为两套堆叠系统配置不同的MAD域值。
1 | [Huawei]mad domain domain-id |
代理方式多主检测,两个堆叠系统互为代理,开启MAD检测与MAD代理。
在与代理设备互联的Eth-Trunk中开启MAD检测。
1 | [Huawei]interface eth-trunk trunk-id |
堆叠主备倒换
执行堆叠主备倒换。
1 | [Huawei]slave switchover |
配置堆叠系统MAC地址切换时间
缺省情况下,系统MAC地址的切换时间为10分钟,堆叠系统MAC地址切换时间设置为0时,表示不切换,执行undo stack timer mac-address switch-delay命令表示立即切换。
1 | [Huawei]stack timer mac-address switch-delay delay-time |
清除堆叠的所有配置
1 | [Huawei]reset stack configuration |
集群配置
配置交换机的集群ID
缺省情况下,交换机的集群ID都为1,所以在建立集群前,需要手工配置集群中一台交换机的集群ID为2,相同ID的两台交换机不能建立集群。
1 | [Huawei]set css id new-id |
创建集群逻辑接口
创建集群逻辑接口,绑定物理成员端口到堆叠接口中。
配置业务为物理成员端口,并将物理成员端口加入到逻辑集群端口中。
1 | [Huawei]interface css-port port-id |
配置设备的集群优先级
缺省情况下,设备的集群优先级为1。
1 | [Huawei]set css priority priority-value |
使能交换机集群功能
缺省情况下,交换机的集群功能尚未使能,使能集群功能后,系统会提示立即重启使配置生效。需要在两台成员交换机上分别使能集群功能。
1 | [Huawei]css enable |
设置设备的集群连接方式
缺省情况下设备的集群连接方式与设备型号相关。
1 | [Huawei]set css mode {lpu|css-card} |


