注:内容及图片来自华为官方技术文档,此处仅作为学习笔记留存。
一、什么是CSS?为什么需要CSS?
集群交换机系统CSS(Cluster Switch System),又称为CSS,是指将两台支持CSS特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。
主要作用:简化配置管理、扩展带宽和链路跨框冗余备份等作用。
二、CSS的发展阶段(CSS和CSS2)
交换机集群技术的发展有两个阶段:
- 传统的集群交换机系统(CSS):专指主控板集群卡集群或业务口集群两种方式。
- 第二代集群交换机系统(CSS2,Cluster Switch System Generation2):专指交换网板上通过集群卡方式建立的交换网硬件集群,并且在原有集群技术的基础上,增加了集群主控1+N备份等技术,S12700支持的即是CSS2。
三、华为有哪些设备支持CSS?
仅华为S系列园区框式交换机支持CSS。
S系列园区盒式交换机和CloudEngine数据中心交换机支持的相似特性叫堆叠。
四、CSS相关概念
1.主交换机、备交换机
- 主交换机
主交换机,即Master,负责管理整个CSS。CSS中只有一台主交换机。 - 备交换机
备交换机,即Standby,是主交换机的备份交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。CSS中只有一台备交换机。
主交换机和备交换机都参与数据转发。
CSS链路,实现主交换机和备交换机之间数据通信。可以是一条链路,也可以是捆绑在一起的多条链路。
CSSID,即CSS ID,用来唯一标识成员交换机。默认为1,取值1或2.
相同ID的两台交换机不能建立CSS,所以在建立CSS前,需要手工配置CSS中一台交换机的CSSID为2。
CSS Priority,默认为1,值越大越优先。
五、CSS建立过程
两台交换机使用CSS线缆连接好,分别使能CSS功能并完成配置后重启,CSS系统会自动建立。CSS建立时,成员交换机间相互发送CSS竞争报文,通过竞争,一台成为主交换机,负责管理整个CSS系统,另一台则成为备交换机。
CSS建立的过程包括分为两个阶段:
- 主交换机的选举。
主交换机选举规则如下:
- 最先完成启动,并进入单框CSS运行状态的交换机成为主交换机。
- 当两台交换机同时启动时,CSS优先级高的交换机成为主交换机。同时启动指的是两台交换机启动完成时间相差在20秒内。
- 当两台交换机同时启动,且CSS优先级又相同时,MAC地址小的交换机成为主交换机。
- 当两台交换机同时启动,且CSS优先级和MAC地址都相同时,CSSID小的交换机成为主交换机。
CSS系统建立后,在控制平面上,主交换机的主用主控板成为CSS系统主用主控板,作为整个系统的管理主角色。备交换机的主用主控板成为CSS系统备用主控板,作为系统的管理备角色。主交换机和备交换机的备用主控板作为CSS系统候选备用主控板。如下图所示,假设CSS建立后,SwitchA竞争为主交换机。
图1-5
- 同步软件版本、配置文件,备份配置文件。CSS具有自动同步系统软件的功能,待组成CSS的成员交换机不需要具有相同的软件版本,只需要版本间兼容即可。当主交换机选举结束后,如果备交换机与主交换机的软件版本不一致,备交换机会自动从主交换机下载系统软件,然后使用新的系统软件重启,并重新加入CSS。
CSS具有严格的配置文件同步机制,来保证CSS中的多台交换机能够像一台设备一样在网络中工作。
- CSS中的备交换机在启动时,会将主交换机的配置文件同步到本地。
- CSS正常运行后,用户所进行的任何配置,都会记录到主交换机的当前配置文件中,并同步到备交换机。
通过实时同步,CSS中的所有交换机均保存相同的配置,即使主交换机出现故障,备交换机仍能够按照相同的配置执行各项功能。在CSS分裂场景下,即使主交换机上的配置未及时保存,CSS分裂后,这些配置不会丢失,CSS系统会变成两台拥有相同配置的单框CSS系统(如果有交换机重启,则该台交换机上未保存的配置会丢失)
交换机从非CSS状态进入CSS状态后,会自动将原有的非CSS状态下的配置文件加上.bak的扩展名进行备份,以便去使能CSS功能后,恢复原有配置。例如,原配置文件扩展名为.cfg,则备份配置文件扩展名为.cfg.bak。
去使能交换机CSS功能时,用户如果希望恢复交换机的原有配置,可以更改备份配置文件名并指定其为下一次启动的配置文件,然后重新启动交换机,恢复原有配置。
六、集群方式介绍
- 集群卡集群:集群成员交换机之间通过主控板或交换网板上的集群卡连接。
- 业务口集群:集群成员交换机之间通过业务板上的普通业务口连接,不需要专用的集群卡。
两种集群的比较如下图所示:
七、集群配置
1.通过集群卡连接方式组建集群
安装配置流程:
操作步骤
system-view
set css mode css-card
#配置集群卡连接方式,在组建集群卡集群时,必须保证两台交换机均配置为集群卡连接方式。
css port media-type { sfp+ | qsfp+ 40ge:4*xge }
# 配置集群连线时的接口类型。仅S7710支持该配置。
set css id 2
# 配置成员交换机的集群ID,集群建立后,请勿随意修改交换机的集群ID,否则会导致集群分裂。
set css priority priority
# 配置设备的集群优先级。
默认为1,数字越大越优先。
对于主控板是SRUHA1/SRUH/SRUHD/SRUH1/SRUE1/SRUE/SRUED/SRUK的集群环境,在集群主交换机选举过程中,首要条件是运行状态比较,所以即使优先级的值最高,如果启动慢,也无法成为主交换机。所以,可以让确定要成为主交换机的设备先启动,从而保证这台交换机成为主交换机。如果两台交换机同时启动,则优先级高的交换机会被选举为主交换机。对于其他类型的主控,集群主交换机选举过程不会比较启动时间,只会比较集群优先级,优先级高的交换机会被选举为主交换机。
对于其他类型的主控,集群主交换机选举过程不会比较启动时间,只会比较集群优先级,优先级高的交换机会被选举为主交换机。
css master force
# 强制指定该交换机在集群中作为集群主交换机
通常情况下,集群主交换机是在集群建立时两台交换机通过竞争产生的,具有不确定性。用户可以强制指定其中某一台设备作为集群的主交换机。如果集群建立前,两台设备都配置了强制指定集群主交换机,则集群建立时此配置失效,主交换机在集群建立时仍通过竞争产生。
配置强制指定集群主交换机后,可能会出现集群系统正常运行后再次进行强制主备倒换,此时可能对业务造成影响,所以不建议配置此功能。
- 通过
display css status [ saved ]
命令查看当前交换机的集群功能的状态,指定参数saved查看之前配置的集群信息。
css enable
在两台成员交换机上分别使能交换机的集群功能,默认未使能。
使能集群功能后,系统会提示立即重启使配置生效,此时需要输入Y,否则所有配置不会生效,集群也不会成功建立。
- 检查集群是否创建成功。
display device
#查看设备单板状态,集群建立后可以显示两台成员交换机的单板状态,此时表示集群建立完成,如下面的例子。
<HUAWEI> display device
Chassis 1 (Master Switch)
S7712's Device status:
Slot Sub Type Online Power Register Status Role
-------------------------------------------------------------------------------
1 - ES0D0X12SA00 Present PowerOn Registered Normal NA
9 - ES1D2S08SX1E Present PowerOn Registered Normal NA
12 - ES0D0X12SA00 Present PowerOn Registered Normal NA
13 - ES1D2SRUE000 Present PowerOn Registered Normal Master
1 ES1D2VS04000 Present PowerOn Registered Normal NA
14 - ES1D2SRUE000 Present PowerOn Registered Normal Slave
1 ES1D2VS04000 Present PowerOn Registered Normal NA
PWR1 - - Present PowerOn Registered Normal NA
PWR2 - - Present PowerOn Registered Normal NA
CMU1 - EH1D200CMU00 Present PowerOn Registered Normal Master
FAN1 - - Present PowerOn Registered Normal NA
FAN2 - - Present PowerOn Registered Normal NA
FAN3 - - Present PowerOn Registered Normal NA
FAN4 - - Present PowerOn Registered Normal NA
Chassis 2 (Standby Switch)
S7712's Device status:
Slot Sub Type Online Power Register Status Role
-------------------------------------------------------------------------------
1 - ES0D0X12SA00 Present PowerOn Registered Normal NA
9 - ES1D2S08SX1E Present PowerOn Registered Normal NA
12 - ES0D0X12SA00 Present PowerOn Registered Normal NA
13 - ES1D2SRUE000 Present PowerOn Registered Normal Master
1 ES1D2VS04000 Present PowerOn Registered Normal NA
14 - ES1D2SRUE000 Present PowerOn Registered Normal Slave
1 ES1D2VS04000 Present PowerOn Registered Normal NA
PWR1 - - Present PowerOn Registered Normal NA
PWR2 - - Present PowerOn Registered Normal NA
CMU1 - EH1D200CMU00 Present PowerOn Registered Normal Master
FAN1 - - Present PowerOn Registered Normal NA
FAN2 - - Present PowerOn Registered Normal NA
FAN3 - - Present PowerOn Registered Normal NA
FAN4 - - Present PowerOn Registered Normal NA
display css status
#查看集群系统的状态,集群建立后可以显示两台成员交换机的集群状态,此时表示集群建立完成,如下面的例子。
<HUAWEI> display css status
CSS Enable switch On
Chassis Id CSS Enable CSS Status CSS Mode Priority Master Force
------------------------------------------------------------------------------
1 On Master CSS card 255 Off
2 On Standby CSS card 1 Off
- 如果显示信息正确,则执行下面步骤,检查集群链路状态是否正常。
- 如果显示信息中仍只有一台交换机的单板信息,请参见检查连线是否正确。
- 检查集群链路状态是否正常
执行命令display css channel
检查集群链路状态与集群硬件连接是否一致
<HUAWEI> display css channel
CSS link-down-delay: 0ms
Chassis 1 || Chassis 2
================================================================================
Num Slot HG Port (Status) || Port (Status) Slot HG
1 1/13 0/13 -- 1/13/0/1(UP 10G) ---||--- 2/13/0/1(UP 10G) -- 2/13 0/12
2 1/13 0/14 -- 1/13/0/4(UP 10G) ---||--- 2/13/0/4(UP 10G) -- 2/13 1/13
3 1/14 0/13 -- 1/14/0/1(UP 10G) ---||--- 2/14/0/1(UP 10G) -- 2/14 0/12
4 1/14 0/14 -- 1/14/0/4(UP 10G) ---||--- 2/14/0/4(UP 10G) -- 2/14 1/13
- 如果一致,说明所有集群链路状态都正常,集群组建完全成功。
- 如果不一致,说明存在有集群线缆连接的链路未显示出来的情况(集群异常链路),可以执行命令
display css port brief
查看所有集群端口的状态。如下面的例子。
<HUAWEI> display css port brief
*down: administratively down
(e): Error down
Port Status InUti OutUti InErrors OutErrors
1/13/0/1 up 0% 0% 0 0
1/13/0/2 down 0% 0% 0 0
1/13/0/3 down 0% 0% 0 0
1/13/0/4 up 0% 0% 0 0
1/14/0/1 up 0% 0% 0 0
1/14/0/2 down 0% 0% 0 0
1/14/0/3 down 0% 0% 0 0
1/14/0/4 up 0% 0% 0 0
2/13/0/1 up 0% 0% 0 0
2/13/0/2 down 0% 0% 0 0
2/13/0/3 down 0% 0% 0 0
2/13/0/4 up 0% 0% 0 0
2/14/0/1 up 0% 0% 0 0
2/14/0/2 down 0% 0% 0 0
2/14/0/3 down 0% 0% 0 0
2/14/0/4 up 0% 0% 0 0
- 如果集群异常链路所在的端口为up,则可能存在连线错误,处理方法请参见检查连线是否正确。
- 如果集群异常链路所在的端口为down,则需要检查集群线缆是否松动或者线缆是否有异常。
2.通过业务口连接方式组建集群
https://support.huawei.com/hedex/hdx.do?docid=EDOC1100196199&id=ZH-CN_CONCEPT_0177100655
八、集群增强配置
1.配置多主检测(建议立即配)
默认没有配置多主检测。
作用:为减少集群分裂时,网络中出现多主冲突影响业务。
多主检测方式有两种:直连检测方式和代理检测方式。在同一个集群系统中,两种检测方式互斥,不可以同时配置。
- 如果集群系统的成员交换机上有闲置的端口,可以采用直连方式的多主检测,因为直连检测方式需要额外占用端口,且此端口只能用作多主检测,端口间的连接使用普通线缆即可。
- 如果集群系统上配置了集群Eth-Trunk,此时可以采用代理方式的多主检测。代理方式多主检测需要在集群系统Eth-Trunk上启用代理方式多主检测功能,并在代理设备上启用代理功能。与直连方式比较,代理方式不会额外占用端口。代理方式多主检测根据代理设备的不同,可以分为单机作代理和两套集群系统互为代理。
配置注意事项
- 直连检测方式只能配置于二层以太物理端口上,且端口必须为UP状态。
- 为了保证检测的可靠性,每个集群成员交换机可以同时配置4条直连检测链路,同一个集群系统支持同时在4个Eth-Trunk接口上配置代理检测。在出现多主时,每个集群成员交换机上只要保证有1条直连检测链路处于正常工作状态即可,集群系统只要保证有1个Eth-Trunk处于正常工作状态即可。
- MAD为华为公司的私有协议,华为S系列交换机都支持MAD代理功能。
- 配置采用代理检测方式的MAD时要确保集群系统成员设备的MAC地址不相同,否则代理设备不能转发MAD报文。
操作步骤
- 配置直连方式多主检测
system-view
,进入系统视图。interface interface-type interface-number
,进入接口视图。mad detect mode direct
,配置直连方式多主检测功能。
- 配置代理方式多主检测
- 代理设备为一台交换机
- 在集群系统上
- 执行命令
system-view
,进入系统视图。 - 执行命令
interface eth-trunk trunk-id
,进入Eth-Trunk接口视图。 - 执行命令
mad detect mode relay
,配置Eth-Trunk接口的代理方式多主检测功能。
- 在指定的代理设备上
- 执行命令
system-view
,进入系统视图。 - 执行命令
interface eth-trunk trunk-id
,进入Eth-Trunk接口视图。 - 执行命令
mad relay
,在Eth-Trunk接口上启用代理功能。
- 两个集群系统互为代理
在每个集群系统上分别配置
- 执行命令
system-view
,进入系统视图。 - 执行命令
mad domaindomain-id
,配置集群系统MAD域值。缺省情况下,集群系统MAD域值为0。
设备支持两套集群系统互为代理进行多主检测,此时必须通过配置保证两套集群系统的MAD域值不同。
- 执行命令
interface eth-trunk trunk-id
,进入Eth-Trunk接口视图。 - 执行命令
mad relay
,在Eth-Trunk接口上启用代理功能。 - 执行命令
mad detect mode relay
,配置Eth-Trunk接口的代理方式多主检测功能。
- 执行命令
quit
,退回到系统视图。 - (可选)执行命令mad exclude interface { interface-type interface-number1 [ to interface-type interface-number2,配置集群系统内指定端口为保留端口。
多主检测发现集群分裂后,为防止相同的MAC地址、IP地址引起网络振荡,需要将竞选失败的成员交换机的所有业务端口关闭,以减少对网络的影响。如果有部分端口仅做报文透传功能,出现集群分裂后,这部分端口不会影响网络运行。用户如果希望保留这些端口的业务,可以通过命令将这些端口配置为保留端口。集群分裂后,多主检测功能不会关闭保留端口的业务。
缺省情况下,集群物理成员端口为保留端口,其它所有业务口均为非保留端口。
集群分裂后,用于双主检测的端口也会被关闭。 - (可选)执行命令
mad restore
,使处于关闭状态的端口重新恢复正常。
多主检测使集群分裂后的两台交成员换机之间相互竞争,竞争成功的交换机保持Detect状态(正常工作状态),竞争失败的交换机进入Recovery状态(禁用状态,即除保留端口外,其他端口会被关闭,相关业务中断)。用户如果希望Recovery状态的交换机重新正常工作,可以重新打开被关闭的端口。例如集群分裂故障恢复前,Detect状态的交换机也发生故障或被移出网络,此时可以重新启用Recovery状态的交换机,让它接替原Detect状态的交换机的工作,以保证业务尽量少受影响。
如果Detect状态的交换机仍能正常工作时,不要执行此命令;否则Recovery状态的交换机被启用后,网络中会再次发现多主。
检查配置结果
执行命令display mad [ proxy | verbose ]
,查看多主检测的配置信息。
九、维护集群
1.监控集群状态
- 执行命令
display css status [ saved ]
,查看集群系统的状态。 - 执行命令
display css channel [ chassis chassis-id | all ]
,查看集群链路的连线信息以及状态信息。
以集群卡方式连接的集群没有chassis和all参数。 - 执行命令
display css port [ port-id或display css portbrief
,查看集群端口的状态统计信息。
设备会统计每个集群端口的报文转发数量和状态,以便用户对集群系统报文转发状态进行定位。但是长时间地报文统计,会使统计信息不断扩大,从而影响用户判断,所以在执行查看命令前,可以先在用户视图下执行reset counters css port
命令,清除集群端口的状态统计信息。
- 执行命令
display css css-port [ saved ] [ all | chassis chassis-id