产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

锐捷网络RSR77路由器高可靠性技术解析

发布时间:2014-10-10

引言:

本文简述了锐捷网络RSR77路由器可靠性相关技术以及如何应用这些技术来保证RSR77系列产品的可靠性。重点介绍支撑高可靠性的热插拔(HPG)、热备份(RDND)和故障检测(FD)技术的特性。

1. 概述

HPG:热插拔技术是提高系统可靠性的重要途径。它属于一种容错技术,它在一定程度上包括了故障检测、诊断、恢复技术,它可以有效地减少设备部件失效进行替换时带来的平均故障修复时间,从而提高系统的可用性和可靠性。RSR77是一款分布式路由器,支持多业务卡。在系统运行过程中,通过热插拔技术,用户可以在任意时刻插拔任意线卡,而不影响系统中其他线卡工作。这意味着用户可以根据需求进行系统功能重组或者更换出故障的线卡。

RDND:冗余、备份功能是应用在双管理设备上的一种高可靠性机制,通过数据备份和切换机制保证主控在拔出时,控制面快速恢复,数据面不中断;从而达到此类故障对用户透明的目的。

备份功能的关键技术是数据备份和管理板切换,其中数据备份是为了保证在管理板切换后,新管理板状态和老的管理板状态一致;而切换是为了让新管理板接管设备、与线卡状态一致。

RSR77系列路由器同时支持冷备份和热备份功能。在双管理板硬件或者软件版本不一致时采用冷备份,反之采用热备份。从两者的行为上来看:采用冷备份,在发生切换时,原主控和所有线卡都会重新启动,原从板升级为新主控,管理整个系统,配置与切换前保持一致。采用热备份,在发生切换时原主控重新启动,原从板升级为新主控,线卡正常工作,由切换而导致的断流时间不超过50ms。在实际的应用中,通常采用热备份,即使主控发生故障时,管理板可以立刻接管系统,用户基本不感知这个过程,从而提高整机的可靠性。

FD:分布式路由器由多张卡组成;包括双管理板、载板(SIP卡)、FNM卡、NME卡。其中管理板、载板(SIP卡)、FNM卡是智能卡,带CPU,有独立的处理能力。在整机运行过程中,可能会出现,由于软件或者硬件的故障导致管理板或者某张线卡工作异常的情况。RSR77系列路由器应用故障检测技术,能够快速的发现管理板或者线卡故障,做出相应的处理,快速恢复故障。在恢复故障的过程中,单卡的故障并不会影响其它线卡,单管理板故障也不会影响数据转发,有效的提高了整机的可靠性和可用性。

2. 技术解析

2.1 HPG

热插拔模块主要完成两大功能:管理线卡插拔行为和同步用户配置。

管理线卡插拔行为:

在外部看来,热插拔行为包括插入和拔出线卡以及相关操作命令。从内部来看,热插拔负责管理线卡硬件,包括给线卡供电、断电、控制硬件信号、扫描PCI/PCIE设备等。对外呈现的行为由热插拔框架状态机管理,内部行为由热插拔BSP(Board Support Package)状态机管理,这两个状态机分别简称为FFSM(Framework Finite State Machine)和BFSM(BSP Finite State Machine)。两个状态机协同工作,控制一个槽位的热插拔行为。

在RSR7716设备上,有8个载板槽位,每个载板有2个子槽位,那么在满配的情况下,RSR7716总共可以插入24张线卡,热插拔模块管理24对FFSM和BFSM。因此,热插拔模块的内部逻辑比较复杂,正是独立的槽位管理,才保证了在操作一张线卡或者一张线卡异常时不影响其它卡的正常工作,提高了系统的可靠性和可用性。但是我们单看一个槽位对外呈现的行为,却是比较简单的,如下图所示:

图2-1 热插拔状态图

热插拔模块对外呈现9种事件包括:push、pull、remove、no remove、install、no install、start ok、syn_done、reset以及8种状态:

none:热插拔的初始状态,表示槽位上没有线卡并且也没有预安装虚拟线卡。

installed:槽位上没有插入线卡,但通过install命令预安装了一张虚拟的线卡。

starting:插入线卡后,线卡启动时的状态。对于智能卡(SIP和FNM),由于启动需要一定时间,这段时间线卡将维持在starting状态。

running-config:线卡启动完成后,主控板将通过管理通道把用户配置同步到线卡。同步配置时,线卡处于该状态。

running:热插拔的最终稳定状态,表示线卡正常工作。

run-remove:如果用户需要换掉正在使用的线卡,必须先执行remove操作:其中包括了卸载PCI/PCIE设备;通知业务模块进行相应的处理;最后给线卡断电,保证系统软硬件工作正常。remove后,线卡状态转换为run-remove。

remove操作成功后,用户可以拔掉线卡,状态机状态转换为installed。当然如果用户意图是停止使用线卡一段时间后重新启用线卡,可以执行no remove命令。

unins-remove:线卡running状态时可以通过no install命令移除线卡,线卡状态转换为unins-remove。no install命令包含了remove的所有动作,并附加一项功能:删除指定线卡的所有配置。因此,处于该状态的线卡表现出3种特征:在槽位上;停止工作;无配置。

同no remove命令类似,用户可以通过install命令重新启用线卡(install的线卡类型必须和实际在槽位上的线卡类型一致)或者直接拔掉线卡。

conflict:冲突状态是比较特殊的状态,也是一种容错状态。当用户通过install命令预安装的线卡类型和实际插入的线卡类型不一致时,进入该状态。实际上线卡并没有工作,处于断电状态。用户可以有两种选择:更换和预安装相同的线卡或者执行no install命令,删除预配置,启动在位的线卡。

另外,热插拔模块还提供一条容错命令:reset。在实际使用过程当中,由于不规范的插拔卡(慢插,插卡不到位等)可能导致热插拔状态机工作异常。无论状态机处于何种异常,通过reset命令都能恢复状态机,对应的槽位又能继续工作。

同步用户配置

作为一款分布式路由器,主控板负责控制管理线卡,保存用户配置。当设备启动或者新插入线卡时,主控板把配置同步到各线卡。同步配置的功能由热插拔的同步配置框架实现。

同步配置框架采用C/S模式(Client and Server),管理板作为Server端,线卡作为Client端,通过管理板与线卡之间的管理通道,把配置数据下载到线卡。

同步配置是以模块为单位,主控端,各模块负责收集本模块配置,线卡端,模块负责解析处理属于本模块的配置数据。如下图所示:

图2-2 同步配置

同步配置的过程如下:

1) Server发出控制消息config-start通知Client开始配置。Client收到消息后,获取本线卡支持的第一个功能模块ID,组成控制报文req_cfg,发送到Server端。

2) Server收到req_cfg,根据模块ID获取对应模块的配置消息,通过管理通道,把配置数据下载到Client。Client获取配置数据,解析后配置本卡。

3) 当第一个模块配置数据下载完成,Server端发送complete控制报文,Client端获取下一功能模块ID,请求同步。依次类推。

4) 当Client端已经接收完最后一个模块的配置数据,Server再发出complete控制报文,那么Client端回复cfg_over,该线卡的同步配置过程结束,线卡进入正常工作状态。

主控作为Server端,可以同时处理多个Client请求,因此同步配置是并行的处理方式。

2.2 RDND

为防止由于单点失效导致的整个设备的不可用,管理板采用冗余+热插拔的方案。在管理板(称为主控板Master)发生故障或进行维护时,由另一块管理板(从板Slave)接替它的工作。下图是热备份方案所采用系统物理构成模型图:

图2-3 热备份的物理模型

一旦Master出现故障,Slave就能接替Master的工作并成为新的Master,以保证业务的继续进行。此时,各个分布式线卡上仍保留各自的路由表,故仍能继续工作。

为能更好的描述热备份功能,下面先对涉及到的专有名词做出解释:

Singleton:在刚起机未检测到对端或暂时只插入一块管理板的情况下,状态为Singleton,意为单板,此时所显示的对端状态为None。

Clod:表示批量同步未完成的状态,此时冗余的系统仍未准备好,主管理板的状态和配置信息还未完全同步到从管理板上。

Standby hot:表示从板处于批量同步已完成的热备状态。这是从板热备份的稳定状态。

Active:表示主控板处于批量同步已完成的热备份状态。这是主控板热备份的稳定状态。

热备份:主从板处于热备份关系。主板将状态和配置及时同步到从板上,一旦主板出现故障,从板便能立刻接替主板的工作,以保证服务不中断。

冷备份:主从板处于冷备份关系。主板将状态和配置及时同步到从板上,但对一些运行时的数据不能完全同步到从板上,一旦主板现故障,从板便能立刻接替主板的工作,但需要花费一定的时间重新建立一部分数据。

切换:在主板发生故障时,或通过手动命令强制切换时,从板接替主板进行相关的工作。切换后,原从板将原主板进行复位。

批量备份和实时备份

热备份的主要功能构成之一就是数据和状态的备份,即主管理板将配置文件、运行状态和运行数据及时的同步到从管理板上,以便在主管理板失效的情况下,从管理板能够立即接管主管理板的工作,且保证用户配置在切换过程中保持一致,从而使得数据流不中断,使得服务能够持续进行。

备份功能主要包括批量备份和实时备份。

批量备份主要是指在起机或管理板热插入时,在两管理板之间构建热备份关系的过程中,主管理板会集中一次性的将整个系统的各个配置和数据(包括所有静态配置信息和一部分动态配置信息等)作为一个整体同步到从管理板上,从而形成主从管理板之间的热备份关系,备份的数据量比较大;批量同步完成后,主从板所维护的数据和状态基本达成一致;批量备份的发起要具备两个必要条件:Master已进入正常运行态,Slave已完成初始化。

实时备份是指主管理板将运行时的配置或数据(如刚学习到的arp表项、mac地址,用户实时保存的配置文件等)即时立刻的以增量的形式同步到从管理板上的过程,同时,有的数据也通过定时备份。实时备份主要就是主管理板将即时信息同步到从管理板,从管理板对同步过来的信息进行处理的过程。(从管理板对批量备份和实时备份的同步信息的处理相同)

批量备份的过程

对于一次正常的批量同步过程,其状态运行变化如下所述:

1) 在刚起机未检测到对端或暂时只插入一块管理板的情况下,状态为Singleton/None,表示当前管理板未发现对端,处于单板状态。

2) 接1。当主从板互相检测到对方的存在时,便建立连接,开始三次握手,比较一些信息(如软硬件版本号、干扰源、checkpoint信息和版本号等),如果这些信息都一致且不存在干扰源,则准备开始批量同步热备份集。

3) 接1。当主从板互相检测到对方存在时,便建立连接,开始三次握手,比较一些信息(如软硬件版本号、干扰源、checkpoint信息和版本号等),如果这些信息中有不一致的情况或存在干扰源,则准备开始批量同步冷备份集。

4) 接2。主从板之间进行批量同步,将主板的状态和数据同步到从板上,同步完成后,主从管理板则进入Active/Standby Hot状态,主从板之间的热备份关系便完全建立起来了。

5) 接3。主从板之间进行批量同步,将主板的一些状态和数据同步到从板上,同步完成后,主从管理板则进入Active/clod状态,主从板之间的冷备份关系便完全建立起来了。

批量备份处理过程如图所示:

图2-4 批量备份处理过程

以上仅是对正常情况下而言,若是遇到非正常的情况(未同步完就连接断开、对端丢失、批量备份的连接建立失败等),则主从管理板通过重试或复位单板/整机等方式尝试进行恢复。

切换与热拔插

当主板发生故障时,或通过自动检测,或通过手动敲入命令,由从板接替主板的工作,这个过程称为切换。切换后,原从板接替原主板对系统进行控制,且状态和配置保持和原主板一致,这样基本保证了业务不中断。切换的过程主要包括状态转换、刷配置、路由收敛等一系列的步骤。

在机器运行过程中,不用下电而直接将管理板或者线卡插入或拔出,称为热拔插。支持热备份技术的各管理板和线卡均支持热拔插(线卡热插拔在HPG章节中阐述),配置数据在原有单板重新插入时能完全进行恢复,不丢失配置数据,不需要重新启动,不影响业务进行。

切换处理过程如图所示:

图2-5 切换处理过程

配置文件的同步

主从板之间同步的状态和数据中的一个主要部分是配置文件的同步。配置文件主要包括起机配置文件(startup-config)和实时配置文件(running-config),为各实体的配置收集而成,两个文件的语法和语义都完全相同,用户可通过write命令将running-config文件保存为startup-config文件。因配置文件较大,主从板之间的配置文件传输采用自定义的文件传输协议(ITFTP,类似于TFTP),而其它的一些小的信息多作为备份集进行同步。

以下事件会触发主从板之间配置文件的同步:

● 从全局模式(Global Mode)退出到特权模式(Privileged Mode)时;

● 用户保存startup-config文件时;

● 定时触发,在用户输入了命令,但又未进行上述两种操作时;

2.3 FD

热插拔和热备份能够保证在部分部件故障时快速恢复,是处理故障的机制。那么当故障产生时,如何去发现故障?FD(Fault Detect)故障检测模块提供了这样的功能。

心跳检测

主从管理板之间采用“心跳(HeartBeat)”的方法保证主板和从板之间的联系。所谓“心跳”,指的是主从管理板之间相互按照一定的时间间隔相互发送通讯信号,表明各自当前的运行状态。一旦“心跳”信号丢失,表明一方发生故障,或者一方在约定的时间内无法收到另一方的“心跳”信号,则系统软件认为发生故障。如果“心跳”丢失前双方已建立热备份关系且为从板检测到主板丢失,则主板停止工作,由从板接替主板的工作,此时由于之前主板的状态和数据都已经同步到从板上了,所以从板能平滑的转换为新主板,保证网络服务运行不间断。如果主板检测到从板心跳丢失,则重启从板,重新建立主备关系。

另外主从管理板之间还同时采用了软件心跳和硬件心跳。软件心跳由任务触发,受限于CPU繁忙程度,如果CPU利用率长期处于100%,用于发送软件心跳的任务得不到调度会造成软件心跳丢失。而硬件心跳由中断触发,不受CPU影响,只要对端设备未异常重启或者未陷入中断,硬件心跳都能正常发送。采用软硬件心跳相结合的方式,扩大了检测的范围,同时减少了误判的几率。

主控重启是一种较为严重的故障,如果依靠心跳检测来发现故障,需要等待一段时间。为缩短发现故障的时间,主从管理板之间还设计了active硬件信号,一旦一端重启,另一端active信号丢失,则产生中断,立刻进行处理。

数据通道检测

主控与线卡之间采用PCIE作为数据通道,如果PCIE断开,线卡之间的跨卡数据流必然受到影响。PCIE通道设备两端通过发送信用报文来维系通道的联通性,信用报文丢失,意味着PCIE通道断开。如果主控发现与某线卡PCIE断开,则会主动告知故障检测模块,故障检测模块通过热插拔模块的reset功能,重启故障线卡,恢复线卡正常工作。

管理通道检测

除数据通道外,主控与线卡之间有独立的管理通道,通过管理通道下放管理数据到线卡。例如:下发用户配置,管理线卡工作状态。如果管理通道断开,主控则不能管理线卡,线卡将独立于系统之外。与数据通道类似,管理通道断开也会告知主控故障检测模块,通过reset功能恢复线卡。

启动检测

线卡或者管理板可能在启动的过程中就异常,上面的检测方式都还未开始工作,故障就不能被发现。启动检测能弥补这段时间的检测空白,它检测线卡或者管理板的启动时间,如果超出了预定的最大启动时间,则认为被检测线卡或者管理板出现故障。

对于线卡和从板,启动检测的检测者是主控。主控检测到这类故障一般会重启线卡或者从板,尝试让故障卡正常启动。

对于主控板,启动检测的检测者是从板。如果从板已经启动,在规定的时间内未收到主板启动完成的消息,从板改变角色,切换成主控。

3. 锐捷网络高可靠性技术特点

支持多级线卡

RSR77系列路由器是两级线卡的结构,第一级卡是指直接插入机箱插槽的线卡,例如载板SIP1和SIP2。第二级卡是指插到第一级卡插槽的线卡,例如智能卡FNM-4GE-1和非智能卡NME-6FE。热插拔模块支持一级卡和二级卡的热插拔,而且对插入拔出顺序没有限制。用户可以插入一级卡再插入二级卡,也可以把带有二级卡的一级卡插入机箱插槽。同样,拔卡可以只拔出二级卡,也可以直接拔出带有二级卡的一级卡。以上的动作都不会对系统中其它线卡造成影响。

并行处理

上面已经提到,无论是控制线卡热插拔行为或者是同步用户配置,热插拔模块都分配单独的控制块控制,因此,系统可以同时处理多张线卡的热插拔动作,并且相互之间不受干扰。这意味着用户可以同时插入或者拔出多张线卡,而无需等待。

任意状态可恢复

热插拔对外呈现8种状态,任意一种状态都可以使用reset功能恢复状态机到正常状态。然后状态机能自动判断线卡是否在位或者用户是否有预配置选择进入下一稳定状态。例如:

● 如果reset一张正在工作的线卡,最后线卡能进入正常的running状态;

● 如果reset一张正在启动的线卡,最终线卡进入running状态;

● 如果reset有预配置无线卡的槽位,最终该槽位状态还是install状态;

● 如果reset无预配置又无线卡的槽位,最终该槽位状态还是为none。

热插拔模块提供的reset功能非常强大且易用性很高,只要线卡硬件正常,通过reset功能都能恢复线卡,使线卡重新开始工作。也正是这种恢复机制,才体现了整机的高可靠性。

● 业务不损失

一些报文的转发不需要管理板的参与,所以在主从切换发生时,系统运行稳定,整个系统内部包括软硬件状态在内的状态一致,线卡仍能允许报文继续转发,从而保证业务不损失。

● 硬件更换

可提供业务不中断下的一些硬件更换。

● 对效率没有影响
 

关注锐捷
关注锐捷官网微信
随时了解公司最新动态

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式