Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
高性能T比特路由器高可用性的研究与实现
来源:电子技术应用   作者:周丽 兰巨龙 国家数字交换工程技术中心
字体大小:[大][中][小]

class=content style=display:block;padding:0px 10px>

  随着计算机网络技术的高速发展,网络设备的安全可靠越来越受到人们的重视。路由器的高可用性成为网络运营商们关注的焦点。高可用性是指路由器的不间断运行能力,即持续操作能力。它要求路由器本身所采用的硬件和软件系统具有稳定可靠的性能,并且可以从软件设计入手,实现一个高可用性的软件产品。

  本文以高性能T比特核心路由器为实例,探讨如何通过高可用性模块的设计保证网络的高可靠性,做到处理器故障不会影响网络的连通性,更不会导致整个网络的瘫痪,从根本上解决数据中心的风险问题。

1 高可用性技术

  高可用性是指可持续的、具有一致性和完整性的数据访问。高可用性系统通过提高服务器可靠性、磁盘可靠性、应用程序可靠性达到高可用性的要求。可以通过共享磁盘阵列提高磁盘可靠性,使用冗余网络提高网络可靠性,使用合作的服务器提高服务器可靠性,通过应用程序的探测与有效恢复提高应用程序的可靠性。

  路由器作为计算机网络的核心设备,其高可用性至关重要。在硬件方面,路由器要有一个很好的体系结构及各种冗余非常完善,关键部件如路由引擎和交换矩阵要有冗余。在软件方面,其自身要强壮,另外在遇到更换硬件、系统升级、增加板卡和改变链路等网络调整时,软件要有能力保证整个网络业务不受局部调整的影响,让整个网络体现出非常高的可用性,保证路由引擎进行不丢包的切换。主引擎发生故障,切换到副引擎时不丢包,平滑切换,否则硬件的冗余就没有意义,是假冗余。另外还要保证平稳重启。当路由重启时,由此产生的路由重新计算和网络范围的路由更新会消耗掉处理资源,并有可能出现黑洞或瞬时转发循环形式的非预期网络行为。而平稳重启会避免这种情况的发生。

  根据以上要求,本文提出了一种适用于T比特路由器的主控软件容错系统设计方案。采用硬件冗余与软件容错相结合、热备与双工相结合的工作方式代替传统的容错热备份方案,并根据该方案设计实现了高可用性模块。测试结果表明,采用该设计方案的主控软件系统具有很好的容错性能和故障恢复能力,能够满足T比特路由器对主控软件系统的高可用性要求。

2 基于高性能T比特路由器的主控软件容错系统设计

2.1 主控软件容错系统设计中的基本问题


  基于容错需求的考虑,当主控系统出现软硬件故障时路由器仍需要正常工作,故硬件配置采用1+1冗余设计,配备主用(Active)和备用(Standby)两块主控板,构建双主控热备容错系统。当主用主控板发生故障,系统自动进行主备切换,由备用主控板接替主用板工作,保证业务的正常运行。当主用模块发生严重故障或主用复位时,将触发自动倒换方式,及时倒换到备用板。这种1+1冗余设计可扩展到N+1冗余设计。

  整个切换过程对用户透明,需要考虑的重点和实现的难点在于主备系统间数据库一致性问题、平滑切换技术的实现和故障监测机制。

  (1)数据库一致性问题

  路由器主控板上记录了系统实时运行数据,因此正常工作中需要进行实时的系统数据备份,以保证主用和备用上的数据库一致,否则在主备切换时,备用不能正常接替主用。针对该问题,在高可用性模块的设计中,采用了一种双工与热备相结合的不完全热备设计。需要备份的数据主要是系统数据库中的路由表项和转发表表项。

  双工与热备相结合的不完全设计是指:双主控板上都运行心跳探测程序用于故障探测,主用主控板上运行路由器正常工作所需要的所有应用程序,而备用主控板上运行部分重要应用程序。这些程序正常工作时与主用主控板上的程序有相同的输入数据,但处理结果并不输出。这样的设计保证了路由器出现故障进行切换时低耗时,减轻了需要备份的数据量,既不像完全双工工作方式那样浪费资源,又避免了热备工作方式的很多不足,性能明显优于纯粹的热备或者双工方式。

  数据备份有冷备份和热备份两种。冷备份是在数据库已经正常关闭的情况下,进行完整数据库的备份,是最快和最安全的方法。冷备份的最大问题是必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

  热备份是在数据库运行时,采用archivelog mode方式备份数据。有双机镜像和共享磁盘阵列两种方案。双机镜像方案可选择将主数据库服务器上的表、文件、数据库或全部内容通过专用连接通道镜像到备用服务器上,优点是简单、便宜,缺点是降低系统资源。共享磁盘阵列方案为两台主机共用一个磁盘阵列,优点是不降低系统性能,为目前较为流行的主流技术,但要求磁盘阵列具有较高的可靠性。

  对于运行在骨干网中的路由器,冷备份显然不适用。因为路由器运行过程中不可能定时关闭数据库来备份数据,更不可能在路由器出现故障时再备份数据。因此采用热备份。鉴于要备份的数据量不大,不必采取双机镜像和共享磁盘阵列方式。在本设计中采用了一种新型的数据热备份方式:将需要备份的数据以日志文件的形式存储,通过TCP传输方法将文件转化为数据流由主用主控板备份到备用主控板上,实现实时备份。面向连接的TCP传输可靠且速度快,丢失文件的概率极小。

  (2)切换延时问题

  路由器主控系统出现故障时,要能够对用户透明地进行主备切换,就要实现系统间的无缝切换,减少切换过程中的时延并降低数据丢失率。无缝切换是一种完美的切换,包括快速切换和平滑切换两方面。快速切换意味着低延迟,平滑切换就是低的数据包丢失率,无缝切换是两者的结合,即低延迟和低丢失率。对于快速切换,要求在单板掉链之前完成切换过程,使备用主控板接替主用主控板的工作,保证路由器中的各个流程正常工作不受主控故障的影响,使网络正常运行。对于平滑切换,有两点要求:一是切换时,主备用主控板上的数据库是一致的;二是在主备用数据库一致的基础上,备用主控板启用后能在规定的时间内完成备份数据的导入。所谓规定的时间,也包含在切换的总时间内,切换时间=发现故障时间+启用切换时间+故障接管时间。

  (3)故障监测机制

  系统中的两块主控板,经过主备协商后确定主备地位,一块为Master状态,控制整个系统;另一块为Slave状态,处于备份状态。两块主控板之间通过UDP传输心跳报文交互自身的状态数据,以识别主控的软/硬件故障。路由器正常运行时,主用和备用主控板之间定时发送keepalive报文进行心跳探测,报文内容中包含了自身的状态信息。备用主控板在定时器到期前未收到来自主用主控板的keepalive报文就认为主用主控板失效,进入主备切换,备用主控板成为新主用,自动接管原主用主控板的服务程序,继续提供服务。原主用主控板从故障中恢复或被更换后,会重新发送协商报文,与新主用主控板取得联系,成为新备用主控板,而不必再进行一次切换,节省了系统资源。

2.2 高可用性模块的设计及实现

  在主控软件容错系统设计中,采用了两块主控板挂载八块单板。两块主控板之间通过面向无连接的UDP通信机制交互心跳数据,通过面向连接的TCP通信机制传输备份文件数据流;主控板与单板之间通过高速以太网连接。图1给出了该系统的总体结构图。

 


  按照功能的不同,在设计方案中将高可用性模块划分为三个子模块:AS通信模块、AS系统监控模块和AS keepalive模块,如图2所示。

  AS通信模块负责主控系统上高可用性模块与系统数据维护模块(SYSDATA)和板间通信模块(BDCOM)间的通信、数据备份和TCP传输。

  AS监控模块负责主控软件各个系统进程的监控、维护、管理等核心功能。当某个软件占CPU使用百分比过大时,则认为该主控软件运行不正常,根据该软件的运行规则和重要性选择恢复策略,重启该进程或者进入主备切换。

  AS keepalive模块负责两块主控板之间的主备协商,确定主控板的主备地位;在路由器正常运行过程中,定时向对方主控板发送keepalive报文进行心跳探测;针对网络拥塞可能导致的丢包以及CPU排队处理多线程时可能超时处理keepalive报文造成的主用主控板“假死”现象,采用再协商(Re-negotiation)技术,在超时收不到对方主控板发送的keepalive报文时不直接认为对方主控板故障,而是进行一次退避,与对方发送协商报文进行再协商。再协商与初始化过程中的主备协商不完全相同。Re-negotiation技术与通常采用的单纯固定不变的心跳探测技术相比,可以更好地提高系统心跳环境的适应能力和稳定性,更好地保证系统的高可用性。

2.3 AS系统设计的特点

  (1)整个AS系统的设计采用层次与模块相结合的结构模型,克服了软、硬件分离和脱节的问题,提高系统的灵活性和可移植性。模型的每一层均可以看作是一个相对独立的系统。在每一层中又按照系统功能,划分不同的功能模块。各个模块之间独立工作,完成不同的功能,降低故障的概率。
  (2)硬软件相结合实现主控板的热备份容错。
  (3)采用热备与双工相结合的设计,系统切换时间短,平均切换时间为0.8秒。
  (4)切换过程中对用户透明,无需重新启动主控板,对故障板支持热插拔,方便维修。
  (5)系统工作效率高。整个系统中,各个子模块分工合作,数据备份及传输由AS通信模块通过消息队列和TCP传输完成。主控系统软件的监控和部分软件的出错重启由AS监控模块完成。AS keepalive模块用UDP传输进行主备间的心跳监测通信,且在交互的心跳报文中包含了当前主用和备用主控板的状态数据等,用于更新状态机,避免盲目切换和无效切换。
  (6)本设计中数据库实时更新,且一旦备用主控板收到TCP传输的备份文件就导入到本地数据库中,而不是出现故障进行主备切换时再从数据备份文件中读取数据。因此不会产生数据不同步的问题,而且大大地减少了切换时的工作量,加快了切换速度。

本文研究了T比特核心路由器的主控软件结构,设计了高可用性模块。该模块采用热备份模式,通过对主控板的硬件冗余设置,配合软件实现的数据热备份及心跳探测等技术消除T比特路由器中主控单点故障。该模块应用于T比特路由器主控软件系统中,当主用主控板发生故障时,可以快速、准确、平滑地进行主备切换,从而提高了系统的稳定性和可靠性,最终实现路由器的高可用性。

参考文献
1 James Aweya.On the design of IP routers Part 1:Router architectures.Journal of Systems Architecture 46(2000):483~511
2 使用热备份进行分时恢复.http://www.eygle.com/ha/Use.Hot.Backup.Recover.Day.by.Day.htm
3 双机热备指南.http://www.ha999.com/index.htm
4 申志冰,罗 宇.利用Heartbeat实现Linux上的双机热备份系统.计算机工程与应用,2002;(19)

Upload by 小刘(2008-8-13)
IC
·嵌入式网络智能控制系统的研究
·蜂窝/WLAN多模终端的设计考虑
·基于HMS30C7202嵌入式系统的..
·基于SEP3203的嵌入式以太网口的..
·利用CAN收发器提高CAN网络的安全..
·从以太网供电中获取更多的电力
·串行ATA总线应用技术
·基于USB2.0与FPGA技术的高速..
·基于嵌入式Linux的便携式RFID..
·滑动相关法伪码捕获的FPGA实现
·基于嵌入式Linux的智能手机系统设..
·电源应用中场效应晶体管的崩溃效应
·基于AD7888的高稳定度激光器多路..
·一种高速低压低静态功耗欠压锁定电路
·MAX2140内部ESD二极管的保护..
·电流测量的原理和产品
·利用PCI1510实现PCI板卡的热..
·基于VC的USB接口通信程序设计
·基于I2C总线技术的USB接口设计
·LCD控制器驱动的24位TFT真彩屏..
·GPS99808模块在汽车防盗系统中..
·热插拔可靠性的新标准
·基于LT1641的双路热插拔电路设计
·四通道I2C多路复用器提供了地址扩展..
·基于PCI总线和DSP芯片的图像处理..
·Linux 2.6 内核中的最新电源..
·高功率以太网供电不再困难
·采用UCC28051的100W通用线..
·电压不足期间支持电信电源的小电容
·负载管理与负载开关的设计与实现
·交叉耦合门防止推挽驱动器交叠
·台式电源测试的革命
·锂电池组的主动电荷平衡
·绿色动力新潮流——燃料电池
·输出电容器的等效串联电阻对滞环控制功..
·动态电源路径管理简化了太阳能板对电池..
·今天的绿色 POL DC/DC 转换..
·使用LXI加强汽车电子测试
·针对无线宽带相位噪声的测试方案
·在低成本测试夹具上实现对表面贴装射频..
IC
推荐技术文章:
·基于CC1100的无线手持终端的设计..
·核磁共振系统中微波射频开关的设计与应....
·基于无线传感器网络的电机运行状态监测....
·Zigbee无线传感器网络平台的设计....
·利用红外技术解决音频无线传输难题..
·温度传感器TMP275在家庭环境监控....
·CF+插槽宿主的供电及热插拔控制设计..
·一种新型的高压变频分布式控制系统..
·固定翼飞机竖直飞行控制系统的设计..
·霍尔效应技术提供紧凑型电流测量传感器..
·语音控制的智能小车设计..
·高精度超声波测距系统的设计与实现..
·基于PLC的玩具整体燃烧自动测试仪的....
·用于各类摄像应用的高速CMOS图像传....
·设计下一代自动化测试系统..
·基本电能质量测量方法和常见问题原因..
·基于FPGA的通用开关电源控制器硬件....
·FPGA器件的设计实现、设计优化与模....
·ARM的位置无关程序设计在Bootl....
·基于OV6630图像传感器和DSP的....
·基于DSP和CPLD的软开关电源数字..
·解决DSP设计面临的终极挑战
·基于P89C52RD2和FPGA的可..
·单片机的图形化编程方法探讨
·单片机系统多串行口设计技术研究
·51单片机红外遥控解码程序
·基于16位单片机的无刷直流电动机控制..
·PIC单片机控制lcd12864液晶..
·用PIC单片机实现LCD显示单个B字
·AVR内部EEPROM读写范例
·AVR模拟比较器使用范例
·用51单片机做的拉幕式数码显示课程设..
·用AT89S51单片机来制作的手动计..
·用AT89S51单片机多路开关状态指..
·单片机AT89S51与ADC0809..
·报警产生器-课程设计
·USB总线在光栅位移传感器检测系统中..
·无线传感器网络低占空比MAC协议研究
·基于微控制器的web服务器设计
·基于OMAP5910的移动媒体播放机..
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒