华为交换机堆叠部署
堆叠连线
堆叠线缆支持两种连接方式:一种是链型连接,一种是环形连接。
图1-5 链型连接
图1-6 环形连接
建议:
- 部分交换机型号对连线端口有特殊的要求,具体请参见堆叠连线需要注意什么?。
- 从可靠性考虑,建议使用环形连接方式,这样一条链路故障不会导致堆叠系统分裂。
- 当交换机业务口足够时,建议连接多条线缆,在扩充带宽的同时进行链路间的备份:
- 交换机支持插卡,插卡上的业务口也支持堆叠时,可以插卡上的业务口用于堆叠,交换机面板上的上行口用于连接上行网络。插卡上的业务口不支持堆叠时,可以插卡上的业务口用于连接上行网络,交换机面板上的上行口用于堆叠。如下图所示,交换机面板上的上行口连接多条线缆进行堆叠。
图1-7 多条线缆连接方式
- 交换机不支持插卡,但是交换机面板上的下行口支持作为堆叠口时,可以使用下行口用于堆叠,上行口连接上行网络。下行口作为堆叠口时线缆连接方式如下图所示。
图1-8 下行口连接方式
- 交换机不支持插卡,且交换机面板上的下行口也不支持作为堆叠口时,如果交换机又仅有4个或2个上行口支持堆叠,此时上行口又需要连接上行网络,这样每个逻辑堆叠口只能包含一条链路,如下图所示。
图1-9 单链路连接方式
堆叠优先级
为了便于对交换机进行维护和管理,一般希望堆叠系统的角色与我们的预期规划是一致的。为了实现该目标,我们先来看一下堆叠系统主交换机的选举过程。
图1-10 选举过程
从上图可以看出,堆叠主交换机的角色由三个因素决定:交换机启动时间、交换机堆叠优先级和交换机的系统MAC。一般来讲,交换机的系统MAC是生产厂商设置的,无法进行修改。所以可以从交换机启动时间和交换机堆叠优先级两个因素控制主交换机的选举。
- 当能够单独对交换机进行上下电时,可以先对预设为主的交换机上电,然后再对其他交换机上电,通过上电时间控制交换机的角色。
- 当不能单独对交换机进行上下电时,譬如所有交换机通过一个总的电源开关控制,只能同时为所有交换机上下电。可以通过预先配置交换机堆叠优先级控制交换机的角色。缺省情况下,交换机的堆叠优先级都是100,可以通过stack slot priority命令进行修改。
堆叠ID
堆叠ID用来标识堆叠系统中的成员交换机,是成员交换机的槽位号,取值范围是0~8,默认是0。每个堆叠成员交换机在堆叠系统中具有唯一的堆叠ID。在交换机加入堆叠系统时:
- 如果交换机的堆叠ID在堆叠系统中未被使用,则交换机就使用该堆叠ID。
- 如果交换机的堆叠ID在堆叠系统中已经被其他交换机使用,堆叠系统会自动分配一个最小的未使用的堆叠ID给该交换机。
在机房中,堆叠交换机一般是竖着摆放在机架上的。为了便于维护和管理,建议根据摆放顺序预先设置好堆叠成员的堆叠ID,然后根据堆叠ID的大小设置堆叠优先级。堆叠ID小的,堆叠优先级设置的大一些。这样设置后,堆叠ID小的交换机就是主交换机,根据堆叠ID,依次为备交换机和从交换机。
如下3台交换机组建堆叠,堆叠ID和堆叠优先级配置如下所示。待堆叠线缆连接好后,从上到下分别为交换机上电或同时为所有交换机上电。堆叠系统启动完成后,堆叠ID为1的交换机为主交换机,堆叠ID为2的交换机为备交换机,堆叠ID为3的交换机为从交换机。
图1-11 堆叠ID示意图
堆叠MAC地址
堆叠系统中每台交换机都有自己的系统MAC,当堆叠系统组建时,堆叠系统会自动选择主交换机的系统MAC作为整个堆叠系统的系统MAC与网络中的其他设备进行通信。
在主交换机重启或离开堆叠系统时,堆叠系统的MAC会根据下面规则进行变化:
- 如果主交换机在10分钟内重新加入堆叠系统,则堆叠系统将继续使用该交换机的MAC,堆叠系统的MAC不会切换。因为原主交换机重新加入堆叠系统后会变为备或从交换机,所以此时堆叠系统的MAC就是备或从交换机的MAC。
- 如果主交换机没有在10分钟内重新加入堆叠系统,则堆叠系统的MAC将切换为新主交换机的MAC。
缺省的10分钟判断时间可以通过stack timer mac-address switch-delay命令进行配置。当系统MAC切换时,可能会导致二层协议例如STP、LACP发生震荡。为了减少系统MAC切换带来的影响,可以将系统MAC切换时间设置为0,此后只有在堆叠系统重启后,才会将堆叠系统新主交换机的系统MAC设置为堆叠系统的MAC。
管理网口
用于管理交换机的接口叫做管理网口。有些交换机有设计独立的ETH口作为管理网口,接口编号为Meth0/0/0。有些交换机没有设计独立的接口作为管理网口,只能使用业务口作为管理网口。交换机是否有独立的管理网口,请参考硬件描述中的机箱-外观结构。
图1-12 无管理网络交换机外观
图1-13 有管理网口交换机外观
建议:
- 如果堆叠系统中的成员交换机有独立管理网口,堆叠系统会优先选择主交换机的管理网口作为堆叠系统的管理网口。如果仅在主交换机管理网口上连接网线,在主交换机重启或故障时,将无法通过Telnet连接堆叠系统。所以建议在堆叠成员交换机的两个或多个管理网口上都连接上网线。
- 如果堆叠系统中的成员交换机都无管理网口,只能使用业务口作为管理网口。业务口所在交换机故障或离开堆叠系统时,必须重新指定其他业务口作为堆叠系统的管理网口。
上行链路
堆叠系统上行链路推荐两种连接方式:跨设备Eth-Trunk和ECMP。
图1-14 上行链路连接方式
- ECMP是路由协议中的等价负载分担,在三层转发中两个节点之间存在多个路由表项,实现负载分担和备份。某条链路故障时,流量的切换较跨设备Eth-Trunk较慢。
- 跨设备Eth-Trunk是将连接到堆叠系统中不同交换机的链路绑定为Eth-Trunk,实现链路的备份和负载分担。Eth-Trunk中某条链路故障时,流量可以快速切换。二层和三层转发都可以使用,在组网中建议使用跨设备的Eth-Trunk。
另外,跨设备Eth-Trunk组网中,为了节省堆叠线缆的带宽,跨设备的Eth-Trunk会使用流量本地优先转发功能,即本交换机收到的流量,优先从本交换机的出接口转发。只有本交换机出接口故障或无出接口时,才会通过堆叠线缆跨交换机进行转发。如下图所示。
图1-15 跨交换机转发示意图
堆叠线缆
堆叠线缆带宽
堆叠线缆可以转发数据流量和内部协议报文。数据流量和协议报文通过堆叠线缆转发时,会自动添加内部报文头用于转发,因此同样速率的业务口和堆叠口,堆叠口转发的流量要比业务口少。所以建议堆叠线缆的带宽不小于上行链路带宽的总和。例如:如果上行链路的带宽总和是40G,堆叠线缆的带宽不小于40G,以免流量跨设备转发时出现丢包。堆叠带宽与堆叠物理口的个数相关,堆叠物理口越多,带宽越大,数据流量在多个堆叠线缆上进行负载分担。
下面几种情况数据流量会通过堆叠线缆进行转发,在网络规划时尽量减少设计如下场景。
- VLAN内广播流量和未知单播流量。
- 单播流量的入接口和出接口不在同一交换机。
- 组播流量的组播源和接收者在不同的交换机。
堆叠线缆故障
如果一个逻辑堆叠口中有多条物理链路,其中一条物理链路故障不会导致堆叠分裂。如果一个逻辑堆叠口中的所有链路都故障,此时堆叠系统环形组网会变为链型组网,链型组网则会出现堆叠分裂。
堆叠分裂后,两个堆叠系统的IP和MAC都相同,网络中会出现IP和MAC冲突,导致网络故障,影响流量转发。为了避免堆叠分裂带来的网络故障,建议在堆叠系统组建完成后部署MAD多主检测功能。
MAD检测方式有两种:直连检测方式和代理检测方式。在同一个堆叠系统中,两种检测方式互斥,不可以同时配置。
- 直连检测方式是指堆叠成员交换机间通过普通线缆直连的专用链路进行多主检测,需要占用成员交换机接口资源。
- 代理检测方式是在堆叠系统Eth-Trunk上启用代理检测,在上行代理设备上启用MAD检测功能。无需占用额外的接口,并且Eth-Trunk接口可同时运行MAD代理检测和其他业务。在常见的树形组网中,如果上行设备也是S系列交换机,可以使用代理检测方式,复用已有网络连线,不需要重新连线。如下图所示:
图1-16 MAD连线图
MAD具体配置方法,请参考产品文档中MAD的详细说明。
堆叠可靠性
冗余备份
堆叠系统通过将几台交换机逻辑上变为一台设备,实现设备间的1+N冗余备份,提高设备级可靠性。主交换机作为堆叠系统的管理者,负责处理业务、协议协商。备交换机作为主交换机的备份,实时与主交换机保持同步。当主交换机异常时,备交换机会接替原主交换机作为堆叠系统的管理者。由于堆叠系统运行过程中进行严格的配置同步和数据同步,因此备交换机接替原主交换机时不会对原有业务造成影响。
设备间表项同步
MAC和路由同步
堆叠系统采用分布式转发技术实现报文的二/三层转发,最大限度的发挥每个成员交换机的处理能力,同时提高可靠性,减少带宽占用。
堆叠系统通过MAC同步和路由同步,保证每个成员交换机都有完整的二/三层转发表项,当进行二/三层转发时,可以通过查询本交换机的二/三层转发表得到报文的出接口(以及下一跳),然后将报文从正确的出接口转发出去。
- 堆叠系统的MAC同步功能是默认开启的,无法进行修改。系统内部会根据配置尽可能的进行成员交换机间的MAC同步。
交换机间MAC同步原则是:某一成员交换机学习到的MAC,会定时打包发送到其他成员交换机,其他成员交换机进行判断。如果本交换机有接口加入该MAC表项对应的VLAN,或存在跨设备的Eth-Trunk,就将该MAC表项添加到本交换机的MAC表中,实现交换机间MAC同步。因为这两种情况下,会存在跨设备的流量。
- 路由同步是在主交换机完成路由协议计算后,会直接将路由表项同时添加到各个成员交换机的路由表中。
跨设备间进行报文转发时,将报文从本交换机送到另外一个成员交换机是内部实现,对外是完全屏蔽的。对于三层报文来说,不管它在堆叠系统内部穿过了多少成员交换机,在跳数上只增加1,表现为只经过了一个网络设备。
如下图所示,报文的入接口和出接口在同一台成员交换机上。当Slave1收到报文后,查找本地转发表,发现出接口就在本交换机上,则Slave1直接将报文从这个出接口发送出去。
图1-17 入接口和出接口在一台交换机上
如下图所示,报文的入接口和出接口在不同的成员交换机上。当Slave1收到报文后,查找本地转发表,发现出接口在Master上,堆叠系统会自动计算按照最优转发路径(Slave1到Master的最优路径是直接转发,而不是经过Slave2、Standby再到Master)先将报文转发给Master,Master再将报文转发给最终用户。
图1-18 入接口和出接口不在一台交换机上
组播转发
对于组播报文,堆叠系统中的每个成员交换机只会根据需要复制报文,保证设备间只有一份报文传送,节省堆叠系统内部资源,提高组播报文的处理速度。Slave1收到一个组播报文,通过查找本地的组播转发表,Slave 1知道Master和Standby上均有组播成员接入,而且Slave 1到达Standby的最优路径是通过Master,于是Slave 1将组播报文转发给Master,Master将报文复制三份,其中两份直接发给本地连接的组播组成员,另外一份转发给Standby,Standby再将报文复制两份发给与之连接的组播组成员。
图1-19 组播转发流程图
业务说明
组播
堆叠系统可以正常运行组播协议,堆叠系统主交换机进行组播协议的计算,其他交换机收到的组播协议报文通过堆叠线缆转发到主交换机后进行协议计算。
QoS
堆叠线缆的转发是内部转发,QoS默认已经设置好,不能修改。
堆叠线缆不会修改报文的优先级和队列,会直接进行转发。
镜像
通过堆线缆转发的数据报文,可以通过镜像功能跨交换机进行镜像。
堆叠逻辑端口不能进行镜像。
发表评论