首页 >> 通信新闻 >> 滚动新闻 >> 正文
 
软件架构的可靠性设计
http://www.cww.net.cn   2011年1月14日 10:32    通信世界网    
作 者:H3C 王飓

一旦监控进程发现某个用户态程序异常,就会通知SCM,SCM重复步骤一:回收它的资源,然后重新启动一个相同的用户态程序,接替崩溃的程序继续工作。

以上是对故障隔离与自愈机制的简单描述,Comware V7实际的工作方式要复杂的多。因为作为一个通信系统,各个独立的用户态程序之间并不是真正完全“孤立”的,它们之间会进行各种通信,协作完成网络设备的各种功能。所以,想要让重新运行的用户态程序真正的正常工作,还需要记录大量的程序正常工作时的状态信息,以便在重启以后,使其恢复到故障之前的正常状态。

同时,Comware V7拥有EEM(Embedded Event Manager)系统,系统管理员可以编写脚本,在异常发生时通过EEM触发这个脚本。这样,除上述所提到的中止异常程序重新运行的动作外,还能够按照脚本做更为复杂的动作,进行异常的远程上报、进一步的异常诊断分析,或者其他任何可以通过脚本触发的动作。这样,软件系统的可维护性也大大提升。

进程级备份

故障隔离与自愈功能,仅仅是单硬件系统上的行为。单硬件系统是指只有一个硬件主板的集中式系统(大部分盒式产品都属于这种情况),或者是分布式设备上的IO板,没有另外一块单板作为备份(如分布式设备的大部分接口板、业务板)。

在硬件有冗余备份的情况下,则需要进程级备份功能,也称为进程级HA。所谓进程级备份,是相对于单板级HA而言的,主要是指参与备份和倒换的实体不再是整个单板,而是单板上的一个个用户态进程。具体过程如图2所示。

图2 进程级HA倒换过程示意

在主板Master和备板Slave上都有相同的用户态程序OSPF在运行,一个工作在“主”状态,一个工作在“备”状态。初始化时,OSPF的“主”进程运行在Master Board上,“备”进程运行在Slave Board上。一旦“主”状态的程序异常,Master Board上的Monitor发现以后,就会通知本板的HA,同时也通知本板SCM。SCM关闭本端的异常程序,再重新启动,并使其工作在“备”状态;而HA接到通知后,就会通知Slave Board上的HA,Slave Board上的HA在通知本板的OSPF进程由“备”升级为“主”。

可见,进程级HA是在自愈机制的基础上,增加了进程级的主备倒换。那么它能带来哪些额外的好处呢?

自愈过程中,系统会中止“旧”程序、重启“新”程序,而新程序从启动到正常工作需要一段时间,在某些情况下可能会很长。在这段时间内,由于程序还不能够正常工作,无法完成同外界设备的交互,会引起网络上的振荡,造成流量中断。而进程级HA,工作在“备”状态的程序“时刻准备着”接替“主”用程序,一旦发现异常,立即切换工作状态,可以大大缩短切换时间,让外界几乎感觉不到设备曾经“切换过”。

[1]  [2]  [3]  
相关新闻
编 辑:石美君    联系电话:010-67110006-818
分享到新浪微博 分享到搜狐微博 分享到网易微博 分享到139说客 分享到校内人人网 分享到开心网 分享到QQ空间 分享到豆瓣 分享到QQ书签       收藏   打印  进入论坛   推荐给朋友
文章评论查看评论()
昵称:  验证码:
 
重要新闻
通信技术
企业黄页
会议活动