龙空技术网

设备虚拟化技术——堆叠(上)

泰克教育官方账号 390

前言:

此刻你们对“虚拟化形式有哪些类型”大概比较重视,大家都想要知道一些“虚拟化形式有哪些类型”的相关文章。那么小编也在网络上网罗了一些对于“虚拟化形式有哪些类型””的相关资讯,希望姐妹们能喜欢,我们一起来了解一下吧!

一、背景

随着云计算技术的发展,大型企业都在部署自己的云数据中心,华为CloudEngine交换机是数据中心级交换机,它大量部署在数据中心中,实现网络大规模的数据转发和保障关键业务的连续性。华为CloudEngine交换机支持堆叠,可以提供设备级的高可用性,保障业务连续,以下我们介绍下华为的堆叠技术。

二、起源

在数据中心发展的初期,没有专门的数据中心交换机,整个数据中心的网络架构还是采用的园区网的三层架构,分别是接入、汇聚、核心,并且运行STP防环。随着数据中心访问量的增加,传统的STP存在一些缺点:

链路利用率低,STP协议会阻塞链路;STP网络的规模受限制,网络收敛时间长;网络管理节点多,运维困难。

STP到今天也在园区网中广泛使用,但是到了数据中心网络中,数据访问流量巨大,更多的是追求高效,安全以及扩展性。这些STP都无法满足,于是设备虚拟化技术就应运而生。

三、堆叠

堆叠是最早的设备虚拟化技术,它将多台支持堆叠特性的设备逻辑上虚拟成一台设备。堆叠技术本质上是“合并”,它把管理平面、控制平面、转发平面都合并到了一起,对外呈现唯一的管理IP和MAC地址,对于下游设备而言就是一台设备。引入了堆叠之后整个拓扑就变得“高大上”,堆叠的优点:

简化了组网

多台设备组建堆叠,虚拟成一台设备,只需要对这台逻辑的设备做管理即可。简化的组网不再需要运行STP等协议。

▷简化组网▷

提高可靠性

堆叠系统中的交换机互为冗余备份,同时还能实现跨设备的链路冗余备份,当堆叠系统中一台设备的上行链路故障,通过该设备的流量可经过堆叠链路进行转发。

▷提高可靠性▷

扩展带宽

交换机的上行带宽不足时,可以增加新交换机与原交换机组成堆叠系统,将交换机的多条物理链路配置成一个链路组,这样就提高了交换机的上行带宽。

▷扩展带宽▷

堆叠的应用带来了以上的好处,但是随着技术的发展,其局限性也越来越明显,这是由堆叠的本质所决定的,堆叠系统的成员交换机管理平面、控制平面、转发平面紧密耦合,这导致了如下的问题

控制平面单一: 堆叠系统中的主交换机控制管理着整个堆叠系统,一旦堆叠系统分裂,将造成业务中断。升级复杂: 堆叠系统由于成员交换机间的紧耦合,只能是两台设备一起升级,升级失败将导致堆叠系统下所有业务网络中断。即使华为交换机有快速升级的方式,尽量减少了升级过程中业务中断,但是整个升级的过程仍然会有业务中断的风险。在数据中心机房中针对不同的设备应用的堆叠技术稍有区别,大致分为了两类,盒式交换机的堆叠iStack,框式交换机的堆叠CSS。

CSS

集群交换系统CSS(Cluster Switch System),框式交换机的堆叠,CSS只支持两台交换机组建堆叠系统。那框式交换机如何组建堆叠?堆叠的连接方式是怎么样的?工作原理是怎么样的?在这之前有必要对框式交换机的架构有一定的了解,以CE12804为例,组成模块分为:

CE12804

▷CE12804机框槽位分布示意图▷

MPU:Main Processing Unit,(主控处理单元),简称:主控板,负责系统的控制和管理工作。SFU:Switch Fabric Unit,交换网板,负责系统数据平面的数据线速交换。CMU:Centralized Monitoring Unit(集中监控单元),简称:监控板,主要提供设备的监控、管理和节能减排功能。LPU:Line Processing Unit,(业务处理单元),简称:业务板,接口板。PM:Power Module,电源模块。FAN:风扇模块。

CSS连接方式

了解了交换机的组成模块,接着我们来看一下堆叠系统之间如何连接,CSS中连接的链路根据功能的不同分为了两种类型:管理链路和转发链路。管理链路负责堆叠系统管理及维护报文的转发;转发链路负责堆叠系统跨设备业务数据报文的转发。根据管理链路的连接方式的不同,堆叠的连接方式分为:主控板直连和业务板直连。

主控板直连:管理链路和转发链路分离,管理链路通过主控板(MPU)的SIP口相连接(SIP口是专用于连接堆叠管理链路的接口,是由一个GE电接口和一个GE光接口组成的Combo接口,每个主控板上有两个SIP口),转发链路通过业务板(LPU)的端口相连接。业务板直连:管理链路和转发链路合一,管理链路和转发链路都通过业务板(LPU)的端口相连接。

▷堆叠连接方式示意图▷

主控板直连的管理链路和转发链路分离部署互不影响,综合可靠性高,建议优先采用主控板直连方式。了解的堆叠的连接方式,接着我们来了解一下堆叠中的一些基本概念。

堆叠基本概念

堆叠成员堆叠中的单台交换机称为成员交换机,按照功能不同可以分为以下角色:

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

备交换机(Standby)是主交换机的备份交换机。堆叠中只有一台备交换机。

堆叠域:交换机通过堆叠链路连接在一起组成一个堆叠,这些成员交换机的集合就是一个堆叠域。为了适应各种组网应用,同一个网络里可以部署多个堆叠,堆叠之间使用域编号(DomainID)来以示区别。堆叠成员ID:即堆叠成员交换机的编号(Member ID),用来标识和管理成员交换机。堆叠中所有成员交换机的堆叠成员ID都是唯一的。堆叠优先级:主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,当选为主交换机的可能性越大。堆叠端口:专用与堆叠的逻辑端口,需要和堆叠物理端口绑定。一个堆叠端口可以绑定多个物理成员端口,用来提高堆叠的可靠性和堆叠带宽。每台设备支持一个堆叠端口,在堆叠功能未使能时,为Stack-Port1;在堆叠功能已使能时,为Stack-Portn/1,其中n为设备的堆叠成员ID。堆叠物理成员端口:即被配置为堆叠模式的物理端口,用于堆叠成员交换机之间的连接。

▷CSS基本概念示意图▷

堆叠建立

▷堆叠组建过程▷

▷堆叠组建过程▷

2台交换机用堆叠线连接,并配置好堆叠相关的配置,堆叠系统即可建立。

主交换机选举

堆叠建立时,成员交换机之间互发堆叠竞争报文。选择出主交换机,负责管理整个堆叠系统;另一台则成为备交换机,作为主交换机的备份。主交换机的选举规则如下(依次从第一条开始判断,直至找到最优的交换机才停止比较):

1.运行状态比较,优先启动的是主交换机。--

2.堆叠优先级比较,优先级高的是主交换机。--

3.软件版本比较,软件版本新的是主交换机。--

4.主控板数量比较,主控板数量多的是主交换机。--

5.桥MAC地址比较,桥MAC地址小的是主交换机。--

堆叠建立后主交换机的主用主控板成为堆叠系统主用主控板,作为整个系统的管理主角色。备交换机的主用主控板成为堆叠系统备用主控板,作为系统的管理备角色。主交换机和备交换机的备用主控板作为堆叠系统候选备用主控板。

软件版本和配置同步

组建堆叠的两台交换机的软件版本不需要相同,只要版本之间兼容就可以,当选择出主交换机后,如果主备交换机的软件版本不一样,备交换机会从主交换机上下载新的软件版本,使用新的软件版本重启加入堆叠。

堆叠具备严格的配置文件同步机制,用来保证堆叠中的多台交换机能够像一台设备一样在网络中工作。

堆叠建立时,成员交换机在启动开始阶段使用各自的配置文件启动。启动完成后,备交换机会将本设备的堆叠相关配置合并到主交换机的配置文件中,形成堆叠系统的配置文件。堆叠正常运行后,主交换机作为堆叠系统的管理节点,负责将用户的配置同步给备交换机,从而使堆叠内各成员交换机的配置随时保持一致。通过即时同步,堆叠中的所有成员交换机均保持相同的配置。即使主交换机出现故障,备交换机仍能够按照相同的配置执行各项功能。

堆叠管理

堆叠系统对外呈现为一台虚拟设备,与其他设备通信时,具有唯一的IP地址和MAC地址。堆叠建立后,成员交换机组成一台虚拟设备存在网络中,主交换机统一管理整个堆叠系统。我们可以通过任意一台成员设备登录堆叠系统,对整个堆叠系统进行管理。无论使用什么方式,通过哪台成员交换机登录到堆叠系统,实际上登录的都是主交换机。

登录堆叠系统的方式:

本地登录:通过任意一台成员设备的Console口登录。远程登录:通过任意一台成员设备的管理网口或其他三层接口,以Telnet、STelnet等方式远程登录。

本地优先转发

Eth-Trunk接口会通过HASH算法选择转发出接口,进入堆叠的流量可能会跨设备转发,但是由于堆叠线的带宽有限,跨设备的流量转发增加了堆叠线的带宽承载压力,也降低了流量转发的效率。此时,可以通过使能堆叠设备的流量本地转发功能解决此问题,从本设备进入的流量,优先从本设备的出接口转发出口;如果本设备的出接口故障,则流量跨设备从其它成员交换机的接口转发出去。

▷流量本地优先转发示意图▷

如图,堆叠设备未使能流量本地优先转发功能,会有一部分流量经过堆叠线从SwitchB转发,设备启用了流量本地优先转发功能后,从SwitchA进入的 流量优先从SwitchA的出接口转发。

配置的命令:

[~SwitchB] interface eth-trunk 1

[~SwitchB-Eth-Trunk1] undo local-preference disable

#在堆叠设备上使能Eth-Trunk接口流量本地优先转发功能

堆叠分裂以及双主检测

堆叠系统建立后,主备交换机之间会通过堆叠线缆定时的发送心跳报文来维持堆叠。当是故障不可避免,一旦堆叠线缆或主控板故障,交换机重启都会使得堆叠系统分裂成为2台独立的交换机。如图所示:

▷双主故障▷

分裂后的2台交换机,彼此不知道对方的状态,此时原本主交换机的角色不变,原本备交换机的角色成为主交换机,“双主”出现,这两台交换机在整个网络中表现为一样的信息,会以相同的IP和MAC地址与外界的设备通信,导致IP地址和MAC地址冲突,引起网络故障。因此我们需要避免双主的出现----双主检测技术。

双主检测DAD(Dual-Active Detect)是一种检测和处理堆叠分裂的协议。配置双主检测后,主交换机在检测链路上发送DAD竞争报文。堆叠分裂后,分裂成多部分的堆叠系统互发竞争报文,并将接收到的竞争报文信息与本部分竞争信息做比较,如果本部分竞争胜出,则不做处理,保持Active状态(正常工作状态),正常转发业务报文;如果本部分竞争失败,则除保留端口外的所有业务端口Error-Down,转入Recovery状态(业务禁用状态),停止转发业务报文。

堆叠分裂与双主检测DAD竞争规则如下(依次从第一条开始判断,直至找到最优的交换机才停止比较):

1.(仅主控板直连方式涉及)整机业务口Error-Down状态比较,交换机上不存在以下Error-Down的优先竞争胜出:

因无转发链路而导致的整机业务口Error-Down(no-stack-link)。因接口板和交换网板之间的链路故障而导致的整机业务口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的业务端口恢复正常,整个堆叠系统恢复。

有关技术分享更多的信息,可以私信呀

标签: #虚拟化形式有哪些类型