一、背景
随着云计算技术的发展,大型企业都在部署自己的云数据中心,华为CloudEngine交换机是数据中心级交换机,它大量部署在数据中心中,实现网络大规模的数据转发和保障关键业务的连续性。华为CloudEngine交换机支持堆叠,可以提供设备级的高可用性,保障业务连续,以下我们介绍下华为的堆叠技术。
二、起源
在数据中心发展的初期,没有专门的数据中心交换机,整个数据中心的网络架构还是采用的园区网的三层架构,分别是接入、汇聚、核心,并且运行STP防环。随着数据中心访问量的增加,传统的STP存在一些缺点:
STP到今天也在园区网中广泛使用,但是到了数据中心网络中,数据访问流量巨大,更多的是追求高效,安全以及扩展性。这些STP都无法满足,于是设备虚拟化技术就应运而生。
三、堆叠
堆叠是最早的设备虚拟化技术,它将多台支持堆叠特性的设备逻辑上虚拟成一台设备。堆叠技术本质上是“合并”,它把管理平面、控制平面、转发平面都合并到了一起,对外呈现唯一的管理IP和MAC地址,对于下游设备而言就是一台设备。引入了堆叠之后整个拓扑就变得“高大上”,堆叠的优点:
01 简化了组网
多台设备组建堆叠,虚拟成一台设备,只需要对这台逻辑的设备做管理即可。简化的组网不再需要运行STP等协议。
▷简化组网▷
02 提高可靠性
堆叠系统中的交换机互为冗余备份,同时还能实现跨设备的链路冗余备份,当堆叠系统中一台设备的上行链路故障,通过该设备的流量可经过堆叠链路进行转发。
▷提高可靠性▷
03 扩展带宽
交换机的上行带宽不足时,可以增加新交换机与原交换机组成堆叠系统,将交换机的多条物理链路配置成一个链路组,这样就提高了交换机的上行带宽。
▷扩展带宽▷
堆叠的应用带来了以上的好处,但是随着技术的发展,其局限性也越来越明显,这是由堆叠的本质所决定的,堆叠系统的成员交换机管理平面、控制平面、转发平面紧密耦合,这导致了如下的问题:
在数据中心机房中针对不同的设备应用的堆叠技术稍有区别,大致分为了两类,盒式交换机的堆叠iStack,框式交换机的堆叠CSS。
3.1CSS
集群交换系统CSS(Cluster Switch System),框式交换机的堆叠,CSS只支持两台交换机组建堆叠系统。那框式交换机如何组建堆叠?堆叠的连接方式是怎么样的?工作原理是怎么样的?在这之前有必要对框式交换机的架构有一定的了解,以CE12804为例,组成模块分为:
CE12804
▷CE12804机框槽位分布示意图▷
3.1.1 CSS连接方式
了解了交换机的组成模块,接着我们来看一下堆叠系统之间如何连接,CSS中连接的链路根据功能的不同分为了两种类型:管理链路和转发链路。管理链路负责堆叠系统管理及维护报文的转发;转发链路负责堆叠系统跨设备业务数据报文的转发。根据管理链路的连接方式的不同,堆叠的连接方式分为:主控板直连和业务板直连。
▷堆叠连接方式示意图▷
主控板直连的管理链路和转发链路分离部署互不影响,综合可靠性高,建议优先采用主控板直连方式。了解的堆叠的连接方式,接着我们来了解一下堆叠中的一些基本概念。
3.1.2 堆叠基本概念
主交换机(Master)负责管理整个堆叠。堆叠中只有一台主交换机。
备交换机(Standby)是主交换机的备份交换机。堆叠中只有一台备交换机。
▷CSS基本概念示意图▷
3.1.3 堆叠建立
▷堆叠组建过程▷
▷堆叠组建过程▷
2台交换机用堆叠线连接,并配置好堆叠相关的配置,堆叠系统即可建立。
主交换机选举堆叠建立时,成员交换机之间互发堆叠竞争报文。选择出主交换机,负责管理整个堆叠系统;另一台则成为备交换机,作为主交换机的备份。主交换机的选举规则如下(依次从第一条开始判断,直至找到最优的交换机才停止比较):
1.运行状态比较,优先启动的是主交换机。--优
2.堆叠优先级比较,优先级高的是主交换机。--高
3.软件版本比较,软件版本新的是主交换机。--新
4.主控板数量比较,主控板数量多的是主交换机。--多
5.桥MAC地址比较,桥MAC地址小的是主交换机。--小
堆叠建立后主交换机的主用主控板成为堆叠系统主用主控板,作为整个系统的管理主角色。备交换机的主用主控板成为堆叠系统备用主控板,作为系统的管理备角色。主交换机和备交换机的备用主控板作为堆叠系统候选备用主控板。
软件版本和配置同步组建堆叠的两台交换机的软件版本不需要相同,只要版本之间兼容就可以,当选择出主交换机后,如果主备交换机的软件版本不一样,备交换机会从主交换机上下载新的软件版本,使用新的软件版本重启加入堆叠。
堆叠具备严格的配置文件同步机制,用来保证堆叠中的多台交换机能够像一台设备一样在网络中工作。
通过即时同步,堆叠中的所有成员交换机均保持相同的配置。即使主交换机出现故障,备交换机仍能够按照相同的配置执行各项功能。
3.1.4 堆叠管理
堆叠系统对外呈现为一台虚拟设备,与其他设备通信时,具有唯一的IP地址和MAC地址。堆叠建立后,成员交换机组成一台虚拟设备存在网络中,主交换机统一管理整个堆叠系统。我们可以通过任意一台成员设备登录堆叠系统,对整个堆叠系统进行管理。无论使用什么方式,通过哪台成员交换机登录到堆叠系统,实际上登录的都是主交换机。
登录堆叠系统的方式:
3.1.5 本地优先转发
Eth-Trunk接口会通过HASH算法选择转发出接口,进入堆叠的流量可能会跨设备转发,但是由于堆叠线的带宽有限,跨设备的流量转发增加了堆叠线的带宽承载压力,也降低了流量转发的效率。此时,可以通过使能堆叠设备的流量本地转发功能解决此问题,从本设备进入的流量,优先从本设备的出接口转发出口;如果本设备的出接口故障,则流量跨设备从其它成员交换机的接口转发出去。
▷流量本地优先转发示意图▷
如图,堆叠设备未使能流量本地优先转发功能,会有一部分流量经过堆叠线从SwitchB转发,设备启用了流量本地优先转发功能后,从SwitchA进入的 流量优先从SwitchA的出接口转发。
配置的命令:
[~SwitchB] interface eth-trunk 1
[~SwitchB-Eth-Trunk1] undo local-preference disable
#在堆叠设备上使能Eth-Trunk接口流量本地优先转发功能
3.1.6 堆叠分裂以及双主检测
堆叠系统建立后,主备交换机之间会通过堆叠线缆定时的发送心跳报文来维持堆叠。当是故障不可避免,一旦堆叠线缆或主控板故障,交换机重启都会使得堆叠系统分裂成为2台独立的交换机。如图所示:
▷双主故障▷
分裂后的2台交换机,彼此不知道对方的状态,此时原本主交换机的角色不变,原本备交换机的角色成为主交换机,“双主”出现,这两台交换机在整个网络中表现为一样的信息,会以相同的IP和MAC地址与外界的设备通信,导致IP地址和MAC地址冲突,引起网络故障。因此我们需要避免双主的出现----双主检测技术。
双主检测DAD(Dual-Active Detect)是一种检测和处理堆叠分裂的协议。配置双主检测后,主交换机在检测链路上发送DAD竞争报文。堆叠分裂后,分裂成多部分的堆叠系统互发竞争报文,并将接收到的竞争报文信息与本部分竞争信息做比较,如果本部分竞争胜出,则不做处理,保持Active状态(正常工作状态),正常转发业务报文;如果本部分竞争失败,则除保留端口外的所有业务端口Error-Down,转入Recovery状态(业务禁用状态),停止转发业务报文。
堆叠分裂与双主检测DAD竞争规则如下(依次从第一条开始判断,直至找到最优的交换机才停止比较):
1.(仅主控板直连方式涉及)整机业务口Error-Down状态比较,交换机上不存在以下Error-Down的优先竞争胜出:
a.因无转发链路而导致的整机业务口Error-Down(no-stack-link)。
b.因接口板和交换网板之间的链路故障而导致的整机业务口Error-Down(fabric-link-failure)。以上Error-Down同时存在时,Error-Down原因是no-stack-link的交换机优先竞争胜出。
2. 堆叠优先级比较,堆叠优先级高的交换机优先竞争胜出。
3. 设备MAC地址比较,MAC地址小的交换机优先竞争胜出。
DAD的检测方式有以下几种:
业务口直连检测方式特点:堆叠成员交换机间通过业务口连接的专用链路进行双主检测;业务口直连检测方式中DAD报文采用的是BPDU报文,因此直连检测链路还可以通过中间设备连接。
配置
interface 10ge1/0/5
dual-active detect mode direct
interface 10ge2/0/5
dual-active detect mode direct
优缺点:需要单独占用10GE的业务端口,但是检测速度是最快的Eth-Trunk口代理检测方式
特点:堆叠与代理设备相连的跨设备Eth-Trunk链路进行双主检测;
配置:
堆叠系统
interface eth-trunk10
trunkport 10ge 1/0/5 #框式交换机的端口是10ge 1/1/0/5和10ge 2/1/0/5
trunkport 10ge 2/0/5
dual-active detect mode relay
代理设备
interface eth-trunk10
trunkport 10ge 1/0/1
trunkport 10ge 1/0/2
dual-active proxy
优缺点:无需占用额外的接口,Eth-Trunk接口可以同时运行DAD代理检测和其它业务,需要代理设备,且代理设备必须为支持DAD代理功能的交换机(目前cloudengine系列交换机支持,S系统交换机自v200R003C00版本开始支持)
管理网口检测方式特点:通过堆叠成员交换机的管理网口链路进行双主检测;管理网口必须配置IP地址,堆叠后整个系统只显示一个管理网口MEth0/0/0,只需要在这一个管理网口下配置IP地址。
配置:
interface meth 0/0/0/0
ip address 192.168.10.10 24
dual-active detect enable
优缺点:实现最简单,不需要额外的接口,也不需要代理设备,
堆叠端口检测方式(仅CSS有)特点:通过堆叠物理成员端口之间的链路进行双主检测。
配置:
interface stack-port 1/1
dual-active detect mode direct
interfacestack-port 2/1
dual-active detect mode direct
优缺点:只有框式交换机且连接方式为主控板直连时,才可以使用堆叠端口检测方式。
DAD的故障恢复机制堆叠链路故障修复后,分裂成多部分的堆叠系统进行合并。处于Recovery状态的交换机将重新启动,同时将Error-Down的业务端口恢复正常,整个堆叠系统恢复。
(未完待续)
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved