在维持集群运行的同时重启多设备集群的方法

文档序号:7606742阅读:156来源:国知局
专利名称:在维持集群运行的同时重启多设备集群的方法
背景技术
提供高度可靠性的设备是提供因特网和内联网服务的机构的主要考虑。为了帮助满足这种需求,将几个设备组合成可配置成充当单个设备的集群的技术已经变得可用了。利用集群布置,其意图是一个设备的失败不会显著影响到集群内其余的组件。
启动设备上软件的术语是“booting(启动)”(“bootstrapping”的缩写);当在活动的设备上执行启动时,术语是“rebooting(重启)”。重启通常因为多种原因而执行,包括激活软件的新版本;及在软件中阻止设备运行的致命错误后恢复设备的功能性。
在集群环境中,由于集群功能性的维护是至关重要的,因此设备的重启需要特定的考虑。但是,重启集群可能会干扰其运行。所需要的是一种重启集群成员使集群运行可以维持的方式。

发明内容
本发明旨在在维持集群运行的同时重启集群。
根据本发明的一方面,集群运行在重启过程中自动维持。在集群重启处理的过程中,至少一个集群成员在其它成员重启的时候保持活动。
根据本发明的另一方面,如管理员的用户触发集群重启处理。管理员不必手动重启每个集群成员。相反,集群重启处理会处理成员的重启。
根据另一方面,执行一种在不同时间重启集群成员的算法。同时重启所有集群成员将导致集群的运行在至少一个成员恢复运行之前丢失。


图1说明了示例集群重启环境;图2说明了可以使用的示例计算设备;图3示出了集群的示例体系结构;图4说明了RMB的组件;及图5示出了根据本发明各方面重启集群的处理。
具体实施例方式
在以下本发明示例实施方式的具体描述中,参考构成本发明的一部分并且是作为说明示出的附图,及可以实践本发明的特定的示例实施方式。每种实施方式都描述得足够具体,以便使本领域技术人员能够实践本发明,而且应当理解其它实施方式也可以使用,而且在不背离本发明主旨或范围的前提下可以进行其它变化。因此,以下具体描述不应当从限制的意义上去理解,而且本发明的范围只能由所附权利要求定义。
除非上下文明确地另外指出,贯穿说明书与权利要求,以下术语都采用在此明确关联的意义。
术语“IP”的意思是任何类型的因特网协议。术语“节点”的意思是实现IP的设备。术语“路由器”的意思是转发未明确寻址到它自己的IP包的节点。术语“可路由地址”的意思是接口的标识符,使得包可以发送到由该地址标识的接口。术语“链路”的意思是通过其节点能够通信的通信工具或介质。术语“集群”的意思是配置成充当单个节点的一组节点。
以下缩写贯穿说明书与权利要求使用RMB=远程管理代理;CS=配置子系统;CLI=命令行接口;CM=集群管理;GUI=图形用户接口;MAC=消息认证码;及NM=网络管理。
参考附图,贯穿视图,相同的编号指示相同的部件。此外,除非另外声明或与公开内容不一致,否则对单数的引用包括对复数的引用。
图1说明了根据本发明各方面的示例集群重启环境。如图所示,重启环境100包括管理计算机105和108、集群130、外部网络110、管理网络120、路由器125及内部网络145。集群130包括布置成充当单个节点的节点135。网络可以是耦合到有线或无线设备的有线或无线网络。
本发明旨在在维持集群运行的同时重启集群。至少一个集群成员在重启处理过程中保持活动。管理员触发重启处理,然后在重启处理过程中不需要执行任何其它步骤。执行一种可以在不同时间重启集群成员,同时总能维持至少一个集群成员运行的算法。
如所说明的,内部网络145是基于IP包的主干网,包括连接网络中支持节点的路由器,如路由器125。路由器是通信网络中加速消息传输的中间设备。当单个网络通过错综复杂的可能连接链接多台计算机时,路由器接收发送的消息并将它们通过可用路由转发到它们正确的目的地。在一组互连的LAN上,路由器充当LAN之间的链路,使得消息可以从一个LAN发送到另一个LAN,该组互连的LAN包括那些基于不同体系结构和协议的LAN。LAN内部的通信链路一般包括双绞线、光纤或同轴电缆,而网络间的通信链路可以使用模拟电话线、包括T1、T2、T3和T4的全部或部分专用数字线、综合业务数字网(ISDN)、数字用户线(DSL)、无线链路或其它通信链路。
管理计算机105通过通信介质耦合到管理网络120。管理计算机108通过通信介质耦合到内部网络145。管理计算机105和108既可以用于管理集群,如集群130,又可以触发集群的重启。
此外,计算机和其它相关的电子设备可以连接到网络110、网络120及网络145。公共因特网本身可以由大量这种互连的网络、计算机和路由器构成。IP网络100可以包括比图1所示多得多的组件。但是,所示出的组件足够公开用于实践本发明的说明性实施方式。
如上所述通信链路中用于发送信息的介质说明了一种类型的计算机可读介质,即通信介质。通常,计算机可读介质包括可以由计算设备访问的任何介质。通信介质一般包含计算机可读指令、数据结构、程序模块或如载波或其它传输机制的调制数据信号中的其它数据,并且包括任何信息传输介质。术语“调制数据信号”的意思是其一个或多个特征以编码信号中信息的方式设置或变化的信号。作为例子,通信介质包括如双绞线、同轴电缆、光纤、波导和其它有线介质的有线介质及如声波、射频、红外线和其它无线介质的无线介质。
图2说明了根据本发明各方面可以使用的示例计算设备。为了说明的目的,节点200仅仅示为具有通常可以在计算设备中找到的组件的子集。能够在本发明中工作的计算设备可以具有比图2所示更多、更少或不同的组件。节点200可以包括各种硬件组件。在非常基本的配置中,组件200一般包括中央处理单元202、系统存储器204和网络组件216。
依赖于计算设备确切的配置和类型,系统存储器204可以包括易失存储器、非易失存储器、数据存储设备等。系统存储器204的这些例子全部都被看作是计算机存储介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存存储器或其它存储器技术,CD-ROM、数字化视频光盘(DVD)或其它光学存储器,磁带、磁盘存储器或其它磁性存储设备,或者任何其它可以用于存储期望信息并且可以由节点200访问的介质。任何此类计算机存储介质都可以是节点200的一部分。
节点200可以包括用于接收输入的输入组件212。输入组件212可以包括键盘、触摸屏、鼠标或其它输入设备。输出组件214可以包括显示器、扬声器、打印机等。
节点200还可以包括用于与IP网络中其它设备通信的网络组件216。特别地,网络组件216使节点200能够与移动节点和对应节点通信。节点200可以配置成使用网络组件216从对应节点和移动节点接收包或向其发送包。通信可以是有线或无线的。
由网络组件216发送和接收的信号是通信介质的一种例子。如在此所使用的,术语计算机可读介质既包括存储介质,又包括通信介质。
节点200的软件组件一般存储在系统存储器204中。系统存储器204一般包括操作系统205、一个或多个应用程序206及数据207。如图所示,系统存储器204还可以包括集群重启程序208。程序208是用于执行与在此所述重启集群相关的操作的组件。程序208包括用于执行与集群重启相关的处理的计算机可执行指令。
图3示出了根据本发明各方面集群的示例体系结构。如图所示,集群300包括节点305、310和315;GUI 320、CLI 325、配置子系统335、340和345,及RMB 350。
GUI和CLI可以配置成显示集群内节点的视图。RMB 350在集群内的节点之间分发信息。
根据一种实施方式,GUI 305配置成在工作站(未示出)上执行,并与设备305的配置子系统325交互。GUI 320提供图形接口,来执行与设备305相关的操作。这些操作中的一种是执行集群的重启。CLI325提供允许用户通过在设备305上执行的应用程序在设备305上执行操作的命令行接口。与设备305关联的GUI和CLI还可以用于触发集群重启。
RMB 350配置成与集群内的设备305和其它设备(设备310及设备315)通信。RMB 350可以包括在设备305中,或者也可以独立于设备305。通常,RMB 305用于在集群成员之间交换信息。
根据一种实施方式,在重启处理过程中,系统获得集群的独占权限。这有助于防止多于一个用户或系统影响在重启过程中的设备。
根据一种实施方式,GUI 320实现为浏览器和Web服务器中的一组Web页面。服务器可以在集群内的设备或独立于集群的设备上运行。服务器可以在全部或部分集群成员上运行。
CLI 325是以文本向用户显示关于设备和集群的集群信息的管理CLI。
当启动重启处理时,RMB 350与要重启的设备的配置子系统交互。根据一种实施方式,当在对一个集群成员的重启过程中发生错误时,重启处理停止。根据一种实施方式,RMB 350可以配置成将设备恢复到重启处理开始之前的配置。这有助于确保所有集群成员都维持相同的属性。当发生问题时,RMB 350可以向GUI和CCLI指示有故障,或者向某个其它位置发送错误。当重启完成后,管理员可以执行其它操作。
重启动作是由应用程序中的控制利用图形用户接口(GUI)或命令行接口(CLI)外壳中的命令触发的。
控制或命令使执行集群重启处理的脚本运行。该脚本通过联系每个集群成员来启动重启,提供使每个成员能够暂时从集群中除去的属性,然后提供使重启操作开始的属性。然后,该脚本检测与设备的联系失败并试图重新建立联系。当脚本建立联系以后,它在内部指示设备现在重启了,并通知管理员哪个设备重启了。根据一种实施方式,启动重启处理的设备在所有其它设备重启之前不会重启。
除了启动重启处理的设备,对所有设备的重启可以顺序(每次一个设备)或并行执行。并行方法减少了将集群恢复到完全运行所需的总时间。
如果重启在任何设备上失败,如由重新建立与该设备联系失败所指示的,则重启处理中断,由此保存未重启的设备的状态。与失败设备的标识符一起,管理员得到集群重启已经过早停止的通知。
图4说明了根据本发明各方面RMB的组件。如图所说明的,RMB400包括RMB客户端420、配置子系统410、RMB服务器440及安全传输435。RMB客户端420包括集群API(应用编程接口)425和远程API 430。集群API 425维护关于集群成员的信息。远程API 430维护关于每个集群成员的信息并跟踪NM操作。安全传输435传输并接收执行如集群重启操作的NM操作和对消息执行完整性检查的消息。RMB服务器440布置成通过安全传输435与配置子系统410通信并与RMB客户端420通信。
远程管理系统400充当集群内节点的主干。RMB 400提供基础机制,包括发现集群内的成员;向集群中的设备传输关于NM属性的查询与操作;确保消息的完整性;用于管理应用程序的接口;及与各设备本地配置子系统的接口。RMB 400还包括用于在集群内节点之间发送的消息中传输信息的安全机制。
为了确定集群成员,RMB 400还配置成自动查询节点是否耦合。这些查询是周期性执行的,以帮助确保所有集群成员在任何给定的时间都可用。
根据一种实施方式,RMB 400通过使用数据库事务来确保配置的一致性。例如,在属性要变化的任何时候开始事务,并且如果变化对所有设备成功则应用“提交”数据库操作,而当变化在任何设备失败时应用“回退”操作。RMB可以在内部或通过使用配置子系统的事务能力来实现这些事务。根据一种实施方式,由于这些操作可能是复杂操作,因此使用配置子系统的事务。
RMB客户端420利用集群API 425发现集群的成员设备。
RMB 400利用消息执行系统和NM操作。系统操作包括获得和释放配置锁。当消息要发送时,RMB填充消息头并传输消息。当消息被接收时,RMB检查消息头并且只有消息头域中的值有效时才接收消息。RMB丢弃任何其消息头域中有无效值的消息。
RMB客户端420构成RMB消息的主体并利用集群API 425向集群成员传输消息;从成员接收响应;及从消息中提取操作结果。远程API 430向特定的集群成员传输消息并检查响应消息对每个发送出的请求消息是否都接收到了。安全传输435是真正发送和接收消息的传输机制。
RMB客户端可用实现为一组具有良好定义的应用编程接口(API)的共享对象库。CGUI和CCLI可以利用这些API与RMB交互,以执行NM操作。
RMB服务器可用实现为在系统启动时装入的端口监控程序。
RMB安全传输可用实现为安全套接字协议层(SSL)套接字。这通过提供加密RMB消息的能力提供了额外的安全层。
图5示出了根据本发明各方面重启集群的处理。在开始块后,处理500进行到块505,其中获得集群成员列表。集群成员列表用于帮助确保所有的集群成员都被重启。移动到块510,获得从其启动重启的成员的标识符。进行到块515,对除启动重启的成员之外的每个集群成员执行重启。根据一种实施方式,除启动成员以外的集群成员是并行重启的。例如,如果有5个集群成员,则5个成员中的4个是同时重启的。如上面所讨论的,成员可以任何顺序重启,只要至少有一个成员在其它成员重启过程中保持活动。移动到决定块520,确定在对除启动成员以外的成员进行集群重启过程中是否发生错误。当发生错误时,处理进行到块530,其中重启处理中断。转到块525,对启动集群重启的成员执行重启。移动到决定块530,确定在集群重启的任何步骤中是否发生错误。当发生错误时,处理进行到块530,其中重启处理中断。当没有错误时,处理进行到结束块并返回处理其它动作。
以上说明书、例子和数据提供了本发明的完整描述。由于在不背离本发明主旨与范围的前提下可以构造本发明的许多实施方式,因此本发明在于下文所附的权利要求。
权利要求
1.一种用于重启集群的方法,包括启动集群的重启;确定集群成员;及重启每个集群成员而同时至少一个集群成员在其它集群成员重启的时候保持活动。
2.如权利要求1所述的方法,还包括确定启动重启的启动集群成员并控制来自启动集群成员的重启。
3.如权利要求1所述的方法,其中重启每个集群成员而同时至少一个集群成员在其它集群成员重启的时候保持活动的步骤还包括并行重启除该至少一个保持活动的集群成员之外的集群成员。
4.如权利要求2所述的方法,其中该至少一个保持正常运行的集群成员是启动集群成员。
5.如权利要求1所述的方法,其中启动集群的重启的步骤是由用户执行的。
6.如权利要求1所述的方法,其中重启每个集群成员的步骤还包括除去重启的集群成员并确定何时该除去的集群成员已重启。
7.如权利要求6所述的方法,其中确定何时该除去的集群成员已重启的步骤还包括试图重新建立与该除去的集群成员的联系。
8.如权利要求1所述的方法,还包括当确定在重启处理过程中发生错误时中断重启处理。
9.一种在维持集群运行的同时重启集群的系统,包括网络接口,配置成与集群成员通信;存储器,配置成存储关于该集群的信息;远程管理代理(RMB),配置成向集群成员分发信息;及处理器,配置成执行动作,动作包括启动集群的重启;确定集群成员;及重启每个集群成员,同时至少一个集群成员在其它集群成员重启的时候保持活动。
10.如权利要求9所述的系统,还包括确定启动重启的启动集群成员并控制来自启动集群成员的重启。
11.如权利要求9所述的系统,其中重启每个集群成员的步骤还包括并行重启除该至少一个保持活动的集群成员之外的每一集群成员。
12.如权利要求11所述的系统,其中该至少一个集群成员是启动集群成员。
13.如权利要求9所述的系统,还包括用于启动集群重启的用户接口。
14.如权利要求10所述的系统,其中重启每个集群成员的步骤还包括除去重启的集群成员并确定何时该除去的集群成员已重启。
15.如权利要求14所述的系统,其中确定何时该除去的集群成员已重启的步骤还包括试图重新建立与该除去的集群成员的联系。
16.如权利要求9所述的系统,还包括当确定在重启处理过程中发生错误时中断重启处理。
17.一种在维持集群运行的同时重启集群的装置,包括用于启动集群重启的装置;用于确定集群成员的装置;及用于重启每个集群成员而同时至少一个集群成员在其它集群成员重启的时候保持活动的装置。
18.如权利要求17所述的装置,其中用于重启每个集群成员的装置还包括用于除去重启的集群成员的装置和用于确定何时该除去的集群成员已重启的装置。
19.如权利要求18所述的装置,其中确定何时该除去的集群成员已重启的步骤还包括用于试图重新建立与该除去的集群成员的联系的装置。
全文摘要
本发明旨在在维持集群运行的同时重启集群。由于至少一个集群成员在处理过程中保持活动,因此集群运行可以在重启过程中自动维持。管理员触发重启处理,然后在重启处理过程中不需要执行任何其它步骤。执行一种在不同时间重启集群成员而同时总能维持至少一个集群成员运行的算法。
文档编号H04LGK1864134SQ200480017635
公开日2006年11月15日 申请日期2004年6月10日 优先权日2003年6月25日
发明者阿加伊·米塔尔, 劳拉·许, 斯里坎斯·科内鲁 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1