专利名称:一种高端数据通信设备中的主备倒换方法
技术领域:
本发明涉及数据通信和分布式实时系统控制的技术领域,具体涉及一种高 端数据通信设备中的主备倒换方法。
背景技术:
交换机(博达S6508、 S8508)和路由器(R7608)作为高端数据通信产品, 位于网络的核心层或者其边缘。从物理架构上讲,高端数据通信设备大多属于 多处理器设备,系统可以包含一个或多个主控板卡以及若干处理业务的线卡, 每个主控板卡和每个线卡都有各自的处理器,各个板卡之间通过内部网络相 连。
高端数据通信产品的一项重要要求是高可靠性,要求系统能够承受繁忙业 务的压力,并且在出现故障时能够自我恢复。因此,很多通信设备厂商的高端 设备都采用了同时运行两个主控板的方法, 一块主控板在平时作为另一块的备 份,在出现故障时,备用状态的主控板接替原来的主控板继续工作。
然而,上述技术方案中所采用的同时运行两个主控板必然会增加系统的复 杂程度,解决这个问题的关键是通过技术手段在高端数据通信设备中对两块主 控板以及主控板与线卡之间的状态进行控制。
技术名词解释
MSU—主控板,在系统中处于主控位置的线卡,具有协调整个系统运作、
控制线卡功能和保存配置等功能。
LineCard—线卡,在系统中处于从属位置的线卡,主要用于系统IO控制。 HG—HiGig Port。线卡之间互连并承载业务的端口。在HG端口上传递业
务是交换芯片独立于线卡CPU完成的。
发明内容
鉴于上述技术问题和原理分析,本发明的目的是提供一种高端数据通信设 备中通用而可靠的主备倒换方法。该方案中所涉及的主备倒换的技术核心以提 供双主控单元的硬件为前提,通过软件的一系列控制,使系统所包含的其它设 备在某个主控单元失效的情况下,能够无缝地启用另外一个备用主控单元,从 而保证了设备系统整体的继续运行。
下面对该方法进行具体的描述
本发明所述的高端数据通信设备中的主备倒换方法,在硬件环境上适用于 采用双主控单元的高端交换机或路由器设备。该设备系统包含两个充当控制单 元的主控板(板卡)以及复数个线卡(业务板卡);两个主控板(下称主板和 备板)之间通过各自所设有的千兆全双工接口以信号线(2根)实现数据通信; 主控板上还设有用来与线卡通信的交换芯片,线卡也设有用来与两个主控板通 信的交换芯片。
方法中的具体步骤包括
(1) 主板和备板之间心跳控制机制;
(2) 主板失效时备板倒换为主板机制;
(3) 备板失效时主板发出告警机制;
(4) 主板和备板信息同步机制;
主要内容是在主板和备板上通过各自设置主备倒换模块来互相探测对方 主控板的状态;主备倒换模块同时提供一组应用程序接口以支持各业务模块的 信息同步;在处于活动状态的主控板出现故障时,备用状态的主控板在不影响 业务的时限内倒换为新的活动主控板,各业务模块在新的主控板上也从倒换前 的状态继续开始工作。
具体机制描述如下
(l)主板和备板之间心跳控制机制;
主备板之间采取定期的探测报文来判断对方是否正常工作;这种报文不区 分主备,两者的关系是对等的,接收方必须响应;目的是备板探测到主板出现 故障时,主动升级为新的主板;主板探测到备板出现故障时,发出告警,并尝 试复位备板。主备板间探测报文发送的时间间隔是小于MSU启动时间,否则可能发生漏检情况。
(2) 主板失效时备板倒换为主板机制;
备用主板通过探测保温发现原主板失效时实施主备倒换;备用主板向所有
在位线卡发送建链请求;线卡识别出主控发来的建链请求时,若线卡已经注册成功,则接受注册请求;若线卡尚未注册成功,则自行重启;此时原主控板重启。 '系统发生主备倒换时满足以下几个时限需求
1、 识别出原主控失效到新主控与线卡建链的时间应该小于线卡链路层超时的时间,否则线卡将认为与主控断链而自我重启。特别的,如果链路层在某个定时器几次超时后认为链路断开,则上述时间应该小于该定时器一次超时的周期;
2、 线卡应该在原主控的交换矩阵复位之前完成倒换,否则系统跨板交换将出现中断现象。
关于主备倒换的时限要求
备板倒换为新的主板不会造成业务的中断。应防止备板倒换为主板的过程中原来的主板也抢占为主板。也就是说备板检测到主板失效加上倒换为主板的时间小于原主板启动时间。线卡识别出原主控失效到与新主板建立链路的时间小于线卡链路层协议超时的时间。线卡能够在原主控的交换矩阵复位之前完成倒换,以保证系统跨板交换不会中断现象。
(3) 备板失效时主板发出告警机制;
在备板在位的情况下,如果主板无法收到备板心跳响应,并且通过两者的IO脚也无法得到备板的响应,则主板发出告警。
(4) 主板和备板信息同步机制;
主备信息同步是指通过主板和备板上主备倒换模块提供给应用程序一组
接口来实现支持其它模块了解当前所处板卡的主备状态以及同步状态。
主板上的应用程序模块通过这组接口将各自的状态信息同步到备板,备板
则通过这组接口加载主板的状态信息。这组主备倒换应用程序接口可以支持批量同步与实时同步两种方式;
实时同步适用于系统启动后配置信息和关键状态信息的同步;批量同步适用于系统启动时初始状态的同步和次要状态信息的同步。上述机制规定同步方式有两个优先级实时同步高于批量同步。系统应优先保证优先级较高的同步方式的资源需求。
除了上述机制外,主控板与线卡通信还包含以下特征;
主备之间的通路可以看作独立于主从之间的通路,即线卡通路对主备之间不起到中继的作用。各个线卡只需要知道当前是否有MSU存在,而不必关心其在哪一个槽位。
主板与备板,主控板与线卡之间都通过独立的交换芯片以及独立的与业务无关的链路进行通信。每个主控板和线卡有自己的MAC地址;每个主控板将到各个线卡的端口分到不同的VLAN;每个线卡不关心哪个主控板当前是活动状
态,它发的报文的目的地址是广播地址,而各个线卡处在不同的VLAN,故线
卡之间的报文不会互相被收到。主控板向线卡发送的报文是单播,主控板与线卡之间运行点到点的通信协议。由于线卡发送报文的目的地址是广播,因此两个主控板都会收到线卡报文,活动状态的主控板可以响应线卡,备板也会试图响应,但因为其处于备用状态,故并未真正响应。
另外,本发明方法中还设置限制备板的命令,通过备份来使得大多数设备配置命令在备板上被禁止。
上述发明方法的有益效果为
1、 完整的支持双控制板卡的系统架构,主和备两块控制板卡通过心跳控制及其它通信机制,互相监视对方的状态,以适应可能产生的各种异常情况。
2、 主板的状态变化可以完整地同步到备板,在主板异常时,备板可以无
缝的接替原主板继续工作。
3、 主板和备板之间的通信和数据同步与业务数据相互独立,主备倒换对
业务板卡的影响被降低到最小。
4、 实现了一套完整且灵活的应用程序接口,以满足设备上层应用软件的
主备同步需求。
以下结合附图和具体实施方式
来进一步说明本发明。
8
图1为本发明中主备、主从单元控制通道关系图。
其中MSU1和MSU2是两块主控板。LPU1和LPU2是两块线卡。
具体实施例方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1所示,主备、主从单元控制通道的关系。主备板之间通过一个千兆
全双工接口通信,另外还有2根信号线连接对方;每个MSU上有一个交换芯片,通过它与各个线卡通信。每个线卡有一个交换芯片,通过它与两个MSU通信。
假设MSU1是出于活动状态的主控板,MSU2是备板,MSU1失效包括以下几种情况l.主板软件故障导致系统重新启动或者挂起(异常);2.主板发现自己存在故障要求进行倒换;3.主板被强行reset (异常);4.主板被强行热拔(异常);5.主板被热拔;6.控制台强制命令(如reboot); 7.主板与线卡控制通路发生部分(全部)故障,而备板与线卡控制通路没有任何故障(异常);8.主板与线卡交换通路发生部分(全部)故障,而备板与线卡交换通路没有任何故障(异常)。在特殊情况下,主板和备板的交换通路断开,而两者均正常运行。此时备板应该通过10脚之间的协议来试图成为主板。如果主板没有将自己的状态改为拒绝态,则证明主板已经失效,备板可以倒换为主板。进一步可以尝试复位原来的主板。
而备板故障可能包括下面的情况1.备板软件故障导致系统重新启动或者挂起(异常);2. 备板发现自己存在故障;3.备板被强行reset (异常);4.备板被强行热拔(异常)。导致A板未收到任何B板要拔出的信息,而B板已经不在位;5. 备板被热拔;6.控制台强制reboot命令;7.备板与线卡控制通路发生部分(全部)故障,而A板与线卡控制通路没有任何故障(异常);8.备板与线卡交换通路发生部分(全部)故障,而A板与线卡交换通路没有任何故障(异常)。
在整个系统启动初期,主备竞争应该尽早完成。通常我们在系统中让所处板卡槽位较大的主控板成为备板。假设MSU1处于系统的第5槽位,MSU2出于第6槽位,则主备竞争过程如下1、 6槽位主控板检査对板是否存在,若对板
9存在则延迟(忙等待)l秒钟;2、读取对板状态位,若为ll (不存在)或01
(备用态)则将自己的状态位设置为10 (主用态)否则将自己设置为01 (备
用态)。
对于主备信息同步,我们按照实时同步与批量同步实现了两种模型a) 备机同步主机的状态变化;b)在初始状态相同的情况下备机与主机同时以相 同的顺序执行事件。对于整个软件架构中的不同子系统,它们使用不同的模型 完成同步。
比如,对于端口管理子系统,系统中大多数配置信息和几乎所有状态信息 都是以端口为索引的,因此端口信息和热插拔信息的同步至关重要。这些信息 通常采用第二种方法同步。同步端口信息的前提条件是i.线卡热插拔前空闲
端口号和起始空闲端口索引(device—index—start)相同;ii.主备板上为相 同的端口分配相同的端口索引;iii.各模块的端口控制块中的各个索引值(指 针除外)的值在主备板上必须一致;这类索引用于主备之间同步数据时标识数 据所属的端口, 一般来说就是端口索引;iv.各模块的端口控制块中的指针值 可以不同,但这样的值不能在主备之间传递;如果此类值需要在主备之间传递, 则应该翻译成全局统一的接口号形式。同步的过程如下1、主板收到线卡热 插拔信息后,将信息解包后同步给备板;2、备板通知物理层进行端口创建操 作,为每个端口分配与主板相同的索引;3、备板不向应用程序下发端口配置 和全局配置,也不进行热插拔资源同步。因为这三个操作都是为了同步控制卡 与线卡之间的信息,而主控板已经完成了,备用板不必再做。
而对于网络层的IP地址同步,因为IP地址涉及到全局索引分配的问题, 若采用第二种模型则无法保证主备为相同ip地址分配得到的索引一致。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业 的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中 描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明 还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本 发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1、一种高端数据通信设备中的主备倒换方法,该方法的步骤包括(1)主板和备板之间心跳控制机制;(2)主板失效时备板倒换为主板机制;(3)备板失效时主板发出告警机制;(4)主板和备板信息同步机制;其特征在于,在主板和备板上通过各自设置主备倒换模块来互相探测对方主控板的状态;主备倒换模块同时提供一组应用程序接口以支持各业务模块的信息同步;在处于活动状态的主控板出现故障时,备用状态的主控板在不影响业务的时限内倒换为新的活动主控板,各业务模块在新的主控板上也从倒换前的状态继续开始工作。
2、 根据权利要求1的主备倒换方法,其特征在于,该方法适用于采用双主控单元的高端交换机或路由器设备;所述设备系统包含两个充当控制单元的主控板以及复数个线卡;两个主控板之间通过各自所设有的千兆全双工接口以信号线实现数据通信;主控板上还设有用来与线卡通信的交换芯片,线卡也设有用来与两个主控板通信的交换芯片。
3、 根据权利要求1的主备倒换方法,其特征在于,所述主板和备板之间心跳控制机制为主备板之间采取定期的探测报文来判断对方是否正常工作;这种报文不区分主备,两者的关系是对等的,接收方必须响应;主备板间探测报文发送的时间间隔是小于MSU启动时间,否则可能发生漏检情况。
4、 根据权利要求1的主备倒换方法,其特征在于,所述主板失效时备板倒换为主板机制为备用主板通过探测保温发现原主板失效时实施主备倒换;备用主板向所有在位线卡发送建链请求;线卡识别出主控发来的建链请求时,若线卡已经注册成功,则接受注册请求;若线卡尚未注册成功,则自行重启;此时原主控板重启。
5、 根据权利要求1或4的主备倒换方法,其特征在于,系统发生主备倒换时须满足两个时限需求(l)识别出原主控失效到新主控与线卡建链的时间应该小于线卡链路层超时的时间,否则线卡将认为与主控断链而自我重启;特别的,如果链路层在某个定时器几次超时后认为链路断开,则上述时间应该小于该定时器一次超时的周期;(2)线卡应该在原主控的交换矩阵复位之前完成倒换,否则系统跨板交换将出现中断现象。
6、 根据权利要求1或4的主备倒换方法,其特征在于,所述主备倒换时备板检测到主板失效加上倒换为主板的时间小于原主板启动时间,以便防止备板倒换为主板的过程中原来的主板也抢占为主板;线卡识别出原主控失效到与新主板建立链路的时间小于线卡链路层协议超时的时间,以便线卡能够在原主控的交换矩阵复位之前完成倒换,以保证系统跨板交换不会中断现象。
7、 根据权利要求1的主备倒换方法,其特征在于,所述备板失效时主板发出告警机制为在备板在位的情况下,如果主板无法收到备板心跳响应,并且通过两者的IO脚也无法得到备板的响应,则主板发出告警。
8、 根据权利要求1的主备倒换方法,其特征在于,所述主板和备板信息同步机制是指通过主板和备板上主备倒换模块提供给应用程序一组接口来实现支持其它模块了解当前所处板卡的主备状态以及同步状态;主板上的应用程序模块通过这组接口将各自的状态信息同步到备板,备板则通过这组接口加载主板的状态信息;这组主备倒换应用程序接口可以支持批量同步与实时同步两种方式;实时同步适用于系统启动后配置信息和关键状态信息的同步;批量同步适用于系统启动时初始状态的同步和次要状态信息的同步。
9、 根据权利要求1或8的主备倒换方法,其特征在于,所述同步方式有两个优先级实时同步高于批量同步。系统应优先保证优先级较高的同步方式的资源需求。
10、 根据权利要求1的主备倒换方法,其特征在于,主板与备板,主控板与线卡之间都通过独立的交换芯片以及独立的与业务无关的链路进行通信;每个主控板和线卡有自己的MAC地址;每个主控板将到各个线卡的端口分到不同的VLAN;每个线卡不关心哪个主控板当前是活动状态,它发的报文的目的地址是广播地址,而各个线卡处在不同的VLAN,故线卡之间的报文不会互相被收到;主控板向线卡发送的报文是单播,主控板与线卡之间运行点到点的通信协议;由于线卡发送报文的目的地址是广播,因此两个主控板都会收到线卡报文,活动状态的主控板可以响应线卡,备板也会试图响应,但因为其处于备用状态,故并未真正响应。
11、 根据权利要求1的主备倒换方法,其特征在于,所述方法中还设置限制备板的命令,通过备份来使得大多数设备配置命令在备板上被禁止。
全文摘要
本发明公开了一种高端数据通信设备中的主备倒换方法,步骤包括(1)主板和备板之间心跳控制机制;(2)主板失效时备板倒换为主板机制;(3)备板失效时主板发出告警机制;(4)主板和备板信息同步机制;主要内容是在主板和备板上通过各自设置主备倒换模块来互相探测对方主控板的状态;主备倒换模块同时提供一组应用程序接口以支持各业务模块的信息同步;在处于活动状态的主控板出现故障时,备用状态的主控板在不影响业务的时限内倒换为新的活动主控板,各业务模块在新的主控板上也从倒换前的状态继续开始工作。该方案能够使系统所包含的其它设备在某个主控单元失效的情况下,能够无缝地启用另外一个备用主控单元,从而保证了设备系统整体的继续运行。
文档编号H04L12/24GK101483540SQ200810032579
公开日2009年7月15日 申请日期2008年1月11日 优先权日2008年1月11日
发明者希 孙, 李一水, 革 汪, 苟利平 申请人:上海博达数据通信有限公司