网络虚拟化之-堆叠与集群


本期,我们针对华为交换机的堆叠和CSS进行类比分析,探讨其工作配置原理,论述两种技术是怎样将交换机性能翻倍提升的,比如,增加接口数量、背板带宽、转发速率、提高可靠性等。



01

关于堆叠iStack和集群CSS

1.1 堆叠iStack


堆叠是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口。多台交换机经过堆叠形成一个堆叠单元。可堆叠的交换机性能指标中有一个"最大可堆叠数"的参数,它是指一个堆叠单元中所能堆叠的最大交换机数,代表一个堆叠单元中所能提供的最大端口密度。堆叠与级联这两个概念既有区别又有联系。堆叠可以看作是级联的一种特殊形式。它们的不同之处在于:级联的交换机之间可以相距很远(在媒体许可范围内),而一个堆叠单元内的多台交换机之间的距离非常近,一般不超过几米;级联一般采用普通端口,而堆叠一般采用专用的堆叠模块和堆叠电缆。


1.2. 集群CSS


CSS是Cluster Switch System的简称,又被称为集群交换机系统(简称为CSS或堆叠),是将2台交换机通过专用的堆叠电缆链接起来,对外呈现为一台逻辑交换机。


1.3 功能及作用


随着数据中心数据访问量的逐渐增大以及网络可靠性要求越来越高,单台交换机已经无法满足需求,而通过交换机的堆叠能够实现数据中心大数据量转发和网络高可靠性。


堆叠iStack和集群CSS技术原理是将多台物理交换机在逻辑上合并成一台交换机,以实现将交换机性能翻倍,增加交换机接口数量、背板带宽、转发速率、提高可靠性等。在华为交换机中,iStack最多支持9台交换机合并,适用于低端交换机,即汇聚或接入交换机;而在CSS中只支持2台交换机合并,适用于高端交换机,也称之为交换机虚拟化。


02

交换机的堆叠iStack

2.1 iStack


堆叠iStack(Intelligent Stack),是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台整体交换设备。

网络虚拟化之-堆叠与集群_java

2.2 iStack中的成员角色


(1)主交换机:负责管理整个堆叠系统,一个堆叠系统中有且只有一个,显示为master

(2)备用交换机:负责在主交换机故障时进行接替,一个堆叠系统中有且只有一个,显示为Standby

(3)从交换机:一个堆叠系统中除了主交换外的所有交换机都是从交换机(包括备交换机),显示为Slave

网络虚拟化之-堆叠与集群_java_02网络虚拟化之-堆叠与集群_java_03


2.3 iStack中的成员内容


2.3.1 堆叠ID


为了方便管理堆叠中的交换机,在一个堆叠内每一个交换机都有唯一的一个堆叠ID,可手工配置默认为0,堆叠ID对交换端口的编号有影响,具体表现为,当交换机加入一个堆叠后,它的端口号将变为:堆叠ID/子卡号/端口号(如未加入堆叠前接口为G0/0/1,加入堆叠后,如果该交换机的堆叠ID是2,那么端口G0/0/1的编号就变成了G2/0/1)


2.3.2 堆叠优先级 Priority


用于在堆叠中选举主和备交换机,选举原则是优先级大的为主,除了主交换机外优先级最大的为备。当优先级一样时候看MAC地址,小的成为主,堆叠系统的MAC地址是主交换机的MAC地址(这个选举和生成树中Root--根桥的选举刚好互反)


2.3.3 堆叠的物理成员端口


就是交换机堆叠之间连接的物理端口(根据交换机的型号不同,有固定的端口),用于收发堆叠交换机 之间的堆叠协议报文。


2.3.4 堆叠(逻辑)端口


堆叠的逻辑端口,需要和物理端口绑定,堆叠中所有交换机只支持2个堆叠逻辑端口(各需要绑定一个物理端口)。堆叠的逻辑端口的编号为:Stack-portn/1-2,其中n是本堆叠的ID号,如本交换机的堆叠ID为3,那么逻辑堆叠端口就是Stack-port3/1和Stack-port3/2


2.3.5 主交换机选举


(1)比较运行状态,优先选举最先处于启动状态的交换机成为主(备)交换机

(2)如果堆叠中已经有多台启动成员,那么比较优先级,最高的成为主(备)交换机

(3)如果优先级一样那么比较MAC地址,小的成为主(备)交换机


2.4 堆叠的的连接拓扑


2.4.1 一种链式(点对点串联起来);


2.4.2 一种环形连接(手拉手形成环):

2.5 堆叠的的连接方式


2.5.1 堆叠卡的连接


1)   设备之间通过专用的堆叠插卡ETPC及专用的堆叠线缆连接

2)   高速稳定

3)   不占用业务口

2.5.2 业务口连接

 

设备之间通过堆叠端口绑定的堆叠物理成员端口相连,不需要专用的堆叠插卡但对具体使用的端口和线缆有要求

网络虚拟化之-堆叠与集群_java_04

2.6交换机的堆叠iStack的配置


2.6.1 堆叠的配置流程

网络虚拟化之-堆叠与集群_java_05

2.6.2 堆叠配置通用命令


(1)  配置SW的业务口到堆叠逻辑接口

Switch的业务口GigabitEthernet0/0/27、GigabitEthernet0/0/28为物理成

员端口,并加入到相应的逻辑堆叠端口。


<HUAWEI> system-view

[HUAWEI] sysname SwitchA   

//修改SW的名称为SwitchA

[SwitchA] interface stack-port 0/1   

//进入堆叠逻辑接口 1

[SwitchA-stack-port0/1] port interface gigabitethernet 0/0/27 enable 

//物理接口G0/0/27划入堆叠逻辑接口1中

[SwitchA-stack-port0/1] quit

[SwitchA] interface stack-port 0/2   

//进入堆叠逻辑接口 2

[SwitchA-stack-port0/2] port interface gigabitethernet 0/0/28 enable

[SwitchA-stack-port0/2] quit


(2)  配置堆叠ID和堆叠优先级


[SwitchA] stack slot 0 priority 200  

//SwitchA的堆叠优先级为200

[SwitchA] stack slot 0 renumber 1    

//SwitchA的堆叠ID为1


(3) 完成配置后重新启动所有交换机使配置生效


[SwitchA]save

[SwitchA]reboot


(4)  查看本交换机堆叠系统的基本信息。


<SwitchA> display stack


2.7交换机的堆叠iStack的应用场景


2.7.1 扩展端口数量

当接入的用户数增加到原交换机端口密度不能满足接入需求时,可以通过组建堆叠或者在原有的堆叠系统中增加新的交换机而得到满足。


2.7.2扩展带宽

当交换机上行带宽增加时,可以增加新交换机与原交换机组成堆叠系统,将成员交换机的多条物理链路配置成一个聚合组,提高交换机的上行带宽。


2.7.3 简化组网

网络中的多台设备组成堆叠,虚拟成单一的逻辑设备。简化后的组网不再需要使用MSTP、VRRP等协议,简化了网络配置,同时依靠跨设备的链路聚合,实现快速收敛,提高了可靠性。


03

交换机集群CSS


3.1 CSS


在CSS中与iStack基本一致,不同点就是CSS只支持2个设备,而且连接的时候不需要CSS集群逻辑端口的交叉连接。


3.2 CSS中的交换机成员角色


(1)主交换机:负责管理整个堆叠系统,一个堆叠系统中有且只有一个,显示为master

(2)备用交换机:负责在主交换机故障时进行接替,一个堆叠系统中有且只有一个,显示为Standby


3.3 CSS中的成员内容(此节可不看,和堆叠一样)


3.3.1 CSS集群ID


为了方便管理堆叠中的交换机,在一个堆叠内每一个交换机都有唯一的一个堆叠ID,可手工配置默认为0,堆叠ID对交换端口的编号有影响,具体表现为,当交换机加入一个堆叠后,它的端口号将变为:堆叠ID/子卡号/端口号(如未加入堆叠前G1/0/1在加入堆叠后,如果该交换机的堆叠ID是2,那么端口G1/0/1的编号就变成了G2/0/1)


3.3.2 CSS优先级


用于在堆叠中选举主和备交换机,选举原则是优先级大的为主,除了主交换机外优先级最大的为备。当优先级一样时候看MAC地址,小的成为主,堆叠系统的MAC地址是主交换机的MAC地址


3.3.3 CSS的物理成员端口


指交换机LPU(Line Processing Unit,线路处理单元)单板上专用于集群连接的物理端口,收发CSS协议报文和跨交换机的业务报文。


3.3.4 CSS集群(逻辑)端口


集群的逻辑端口,需要和物理端口绑定,集群中所有交换机只支持2个集群逻辑端口(各需要绑定一个物理端口)。集群的逻辑端口的编号为:CSS-portn/1-2,其中n是本集群的ID号,如本交换机的集群ID为3,那么逻辑集群端口就是CSS-port3/1和CSS-port3/2


3.4 CSS集群的连接方式


3.4.1 集群卡连接


3.4.2 出厂定义的业务口连接


将LPU上的业务口配置为集群物理成员端口后加入逻辑集群端口,然后通过SFP+光模块和光纤或SFP+集群线缆将集群物理端口按照一定规则(交叉)连接起来,一个集群端口中最多可以有32个物理集群端口,在业务口的连接方式中又可以按照组网方式分为:


  • 1+0组网:配置一个逻辑集群端口,物理集群端口分布在一块单板上,依靠一块单板上的集群链路实现集群连接。


  • 1+1组网:配置两个逻辑集群端口,物理集群端口分布在两块单板上,不同单板上的集群链路形成备份。


3.5主交换机选举


在集群中选举主交换机遵循下列原则:


1、比较运行状态,优先选举最先处于启动状态的交换机成为主(备)交换机

2、如果集群中已经有多台启动成员,那么比较优先级,最高的成为主(备)交换机

3、如果优先级一样那么比较MAC地址,小的成为主(备)交换机


3.6 交换机CSS集群配置实例(只能支持2台)


3.6.1首先是专用CSS集群卡连接方式的配置:

[SWA]css enable

[SWA]set css priority 200

[SWA]set css id 1

[SWA]quit

<SWA>save

<SWA>reboot

[SWB]css enable

[SWB]set css priority 100

[SWB]set css id 2

[SWB]quit

<SWB>save

<SWB>reboot

验证命令:

[SWA]display css status chassis 1

[SWA]display css status chassis 2


3.6.2再次是CSS集群业务口连接方式的配置

[SWA]css enable

[SWA]set css priority 200

[SWA]set css mode lpu   

//配置css模式使用LPU单板上的物理业务端口

[SWA]set css id 1

[SWA]interface css-port1/1   

//创建css逻辑集群端口

[SWA-css-port1/1]port interface xgigabitetehernet 1/0/1 to xgigabitetehernet 1/0/2 enable  

//将XG1/0/1和1/0/2加入到集群端口中

[SWA-css-port1/1]quit

[SWA]quit

<SWA>save

<SWA>reboot


[SWB]css enable

[SWB]set css priority 100

[SWB]set css mode lpu

[SWB]set css id 2

[SWB]interface css-port2/1

[SWB-css-port1/1]port interface xgigabitetehernet 1/0/1 to xgigabitetehernet 1/0/2 enable

[SWB-css-port1/1]quit

[SWB]quit

<SWB>save

<SWB>reboot


验证命令:


[SWA]display css status all


3.7 集群双主机直连检测(DAD协议,华为私有)


当两台交换直连形成集群时,可以配置集群直连检测,以防止当集群分裂时造成的网络故障(如MAC地址、ip地址冲突等),该功能可以自动检测集群状态,当集群崩溃(堆叠中一台交换机故障down)时回复为普通交换机状态,防止网络故障。


[SWA]interface xge1/1/0/1

[SWA-XGigabitEthernet 1/1/0/5]mad detect mode direct 

//进入集群物理接口开启DAD直连检测


[SWB]interface xge2/1/0/1

[SWB-XGigabitEthernet 2/1/0/5]mad detect mode direct


3.8 CSS集群的配置文件备份与恢复


交换机进入集群状态后,会自动将原有的非集群状态下的配置文件进行备份,自动将原有的配置文件加上.bak后缀备份出来一份,以便在打开集群功能后恢复原有配置。


04

结语          


本期对华为交换机的堆叠介绍就是以上内容,堆叠是一种通用技术,各个网络厂商都有自己的堆叠平台。运行的原理(将多台SW逻辑为一台)和运作目标(增加端口数量,增加带宽,逻辑设备为1台)乃至连接方式(专用堆叠线缆)都大体一致,区别主要在配置命令上。


另外在交换机里我们会经常把端口聚合;堆叠;虚拟化这 三个放在一起说或者做一个比较,因为这三者有非常大的相似之处,总的来说端口聚合用于交换机自身物理接口的链路逻辑捆绑,只是单纯增加链路带宽;而堆叠适用于同型号交换机自身进行逻辑统一;虚拟化则更加灵活可以做到逻辑组成员不是同型号设备或者直连的情况。