在可修复的故障后使群集器系统自动投入运行的制作方法

文档序号:6561655阅读:126来源:国知局
专利名称:在可修复的故障后使群集器系统自动投入运行的制作方法
技术领域
本发明涉及在可修复的故障后使群集器投入运行的方法,所述群集器由多个节点组成,在发生故障情况下,相应地由一个节点接管另外一个节点(12)的任务。
本发明在高可用性系统的领域,尤其是在一个有缺陷的节点的启动之后,要确保向群集器的无故障的操作状态自动过渡。
背景技术
原则上有各种故障源,由于故障很难克服,所以造成只能由计算机重自举机器或系统。此外,这样重自举的系统需要使用人工指令。如果考虑到系统人工干预所需的时间,尤其是通过交互输入,显然为要求高可用性的系统所不能承受。
因此至今为止人们都在不断地努力,使系统重自举自动化。US5708776提出了一种在发生故障之前自动恢复状态的方法。为此,要有一个第一和一个第二重自举分区供使用。如果第一重自举分区的自举不成功,则系统从第二分区启动。监控处理器实施自动恢复的软件,在自动恢复之后发现在操作系统-软件或应用软件中有故障。然而,所述文献没有包括对重自举之后群集器投入运行的说明。群集器再次投入运行意味着主要要考虑各个节点的更多和较复杂的相互依赖性,这一般地是通过一个群集器控制器来控制。
对于以最大可用性为前提的系统,例如通信领域的载波级系统或医疗-或财政领域中的系统,采用高可用性的计算机体系结构,它们要确保有一个最大的可靠性。此时,所执行的任务要能昼夜不停地不间断地进行。
为此,特别要使用群集器系统。此概念包括有各种类型的系统,对于这些系统,多个具有冗余资源的分别独立的机器相互连接成网络,并在它们的使用过程中由一个群集器控制器进行控制。
在主动-被动与主动-主动之间区分群集器体系结构。对于主动-被动群集器,总是,虚拟地,由成对的机器或服务器形成,其中服务器是主动的并提供自己的服务或执行相应的软件。如果此时没有出现故障,则另一个服务器基本上处于待机-或被动-状态。只有当在主动服务器发现故障时,它才接管其任务。此时,被动服务器没有任务地处于待机运行状态并在发生故障情况下尽快介入。
对于主动-主动-群集器,每个服务器在群集器之内接受一个任务,两者平行主动地工作。视系统布局而定,完好的服务器在发生故障情况下接管有缺陷服务器的全部任务。用主动-主动-方案,能比在主动-被动-体系结构实现较好的负荷分配。
与各自的体系结构无关,对于群集器系统,一个还有操作能力的服务器在发生故障情况下接管有缺陷服务器的任务。这个过程称作Fail-Over。
除了计算机硬件,对于高可用性系统还要有外国存储系统与群集器系统匹配。例如,为了提高系统的安全性,能将数据在所分配的存储器上重复存放。这样,所谓的RAID-1-系统(Redundant Array ofInexpensive Disks)利用基于数据组镜像的冗余方案。
所有群集器系统的重要之处在于,它们基于各个群集器计算机之间的“智能”控制、协调和通信。应该确定,哪些传输协议得到应用,各个要划分的过程如何相互通信或按照哪些判据控制Fail-Over。此外,一个重要之处在于保持群集器的高集成度。这样,必须确保,即使在系统重自举之后,在所有的节点上有牢固的数据组存在。
如果在群集器系统出现虽然可消除然而是严重的故障,致使一个节点必须重自举,则到目前为止要求在节点重自举之后,将群集器通过人工输入指令投入运行。
JP 14 87 04 A2对此指出了为保持群集器运行的方法,其中在群集器的存储范围识别出故障。其中,在每个节点设置的系统控制器报告出现故障并将故障报文传送到中心局,以便能阻止这个有错的节点造成群集器的停机时间。然而没有说明,在重自举之后,根据不同的故障,群集器如何能再次自动投入运行。在此还要求在重自举之后人工地使集群集器投入运行。
但是,这个人工措施是基于提高的停机时间(Downtime),这是高可用性群集器所不能承受的。

发明内容
因此,本发明的任务是提供一种方法,在有缺陷的节点基于可修复的故障,经过重自举之后,使群集器系统,尤其是待机-群集器能够自动地以时间最佳方式投入运行。
该任务通过前序部分阐述的方法用下列步骤解决-确定至少一个第一和一个第二故障等级,-分析导致第一节点的重自举的故障,-将故障划分到故障等级之一中,-如果故障划分到第一故障等级中,群集器与节点自动投入运行。
根据总权利要求,该任务的解决办法在于,在群集器的一个节点中可修复的故障之后,该已经进行了重自举的群集器能独立和自动地回到它的运行状态。
在本发明的一个优选实施形式中,用EWSD-系统实施所述方法,SUN-群集器连接在这个系统上。EWSD(电子选择系统,数字的),是一个公共的数字交换系统,在各国已经设立了超过2亿个这种系统的端口。
在这个实施例中,利用中央监控装置,监控地理上远离设立电话网的故障。如果存在可消除的故障,例如由于软件故障或由于电源中断引起的故障(把这些故障归入暂时的故障,要可以通过一种自动方法再消除),则电话网按照本发明能由中心局再次投入运行而无需人工干预。
通过在重自举之后群集器系统自动投入运行,尤其在网络运营商和服务供应商的应用领域,明显改善了所用软件的停机时间。
在本发明的优选实施形式中,所述方法被用于使SUN-群集器系统2.x自动投入运行。
本发明的一个特别有利的实施形式涉及一个由一对或多对服务器组成的主动-被动群集器系统,其中服务器执行一个分配给它的特定任务。其它的机器处于待机状态。只有当第一机器发出出现问题的信号,第二机器才接管第一机器的任务。因此,必须连续地监控相应的主动服务器。主动服务器例如可能由于硬件故障、操作系统的阻塞或由于电源中断而失灵。
为了提高可用性和有利地影响其它系统参数,还多次使用主动-主动-群集器。根据本发明方法的一个可选择的实施形式,在应用中要考虑这种类型的体系结构。
在本发明的另一种有利的实施形式中,作为操作系统环境“Solaris”利用。
本发明尤其是根据预先发生的并导致服务器复位故障的分析为群集器进行自动和首先是动态产生的投入运行策略。
本发明的其它有利的进一步扩展由从属权利要求得出。


本发明的其它优点和带有其特征的特别实施形式,以下列的详细图示说明表示。其中有图1群集器系统的示意图示,和图2按照本发明的一个优选实施形式用于进行状态变换流程图。
具体实施例方式
随后示出关于图1的一个现有技术重公知的常规群集器体系结构。
在本发明的一个优选实施形式中,所述方法用于支持高可用性应用的群集器10。它尤其是一个主动-待机-群集器。这些通常包括一对服务器,这里也称这些服务器为节点。将一个第一节点12定义为主服务器,给它分派一定的任务。规定一个第二节点14为待机-服务器。在这个实施例中,第一节点12有故障并因此也被称为有缺陷的节点,其时第二节点14是完好的节点。对于第二节点失灵并被考虑为有缺陷的节点情况当然同样在本发明的范围之内。
第二节点14用在发生故障情况的情况下,就是说在主服务器(第一或有缺陷的节点12)失灵时接管其任务,然后不再作为待机-服务器,而是作为新的主服务器起作用。通过这种体系结构,系统的“停机时间”能最小。
为了识别发生故障状态和控制接管过程,有各种所谓的Failover方案。
例如,要实施的、一般只在一个为此预先规定的机器上运行的软件,在此必须也能在所有其它节点上运行,以便能确保这些节点在一个发生故障情况下有一个无故障的Failover。
当然,该方法同样可用于具有较复杂体系结构的系统。
两个节点12、14经过一个高速接口相互连接在一起,在图1中的两个服务器12、14之间用连接线识别出。
借助于本发明的方法,能将系统预计的和非预计的停机时间最小化,群集器10在一个严重故障之后进行重自举操作,并接着或在此期间自动再次投入运行。
鉴于图2中示出的流程图,在下面阐述本发明的步骤。
方法用于群集器系统基于软件故障或基于中央电源中断必须再次启动起来的情况。
为了在这些与其它故障等级或情况组之间进行区分,使用一个所谓的加电的识别机理。为此,对第一和第二节点12和14进行分析,尤其要挑出两个节点的寿命并在进一步处理中考虑。将第一节点12的所谓正常运行时间(uptime)此时与第二节点14的正常运行时间进行比较。如果除了一个预先规定的公差值(它确定偏差公差)之外两个时间符合一致,则能由此间接得出结论,这应该涉及中央电源中断,系统基于这个结论进行重自举。公差值可通过输入一个阈值来规定。该值可以取决于系统和应用而变化。如果例如包括另一种情况,即第一节点12已经存活数天,而第二节点14只在数分钟的范围内有效,则所涉及的就不会是中央电源中断。
如果在加电-机理时确定相应的正常运行时间相互间有显著的偏差,则能间接推断出另外的故障(例如硬件故障、软件故障、单个节点的断电)。在这种情况下,将推动在群集器10中自动地协调接受两个节点。随后在群集器系统10投入运行时,能因此在所有的群集器节点12、14上激活无故障的状态。
为了方法的一般控制,在投入运行方法的相应进行之前能确定故障等级16,所述等级通过一定的参数说明来规定。这个第一方法步骤能与群集器操作无关地进行并能置于此前;这在图2中用点划线表示。在群集器操作期间或在群集器操作中发生故障时进行其余的方法步骤。
在随后阐述的实施例中,确定两个故障等级16。
一个第一故障等级16-1,包括在其中所述方法用于群集器投入运行要自动推动的情况。
一个第二故障等级16-2,包括在其中要进行故障的一个另外的分析和将方法人工地继续进行的情况。第一故障等级16-1通过参数“软件故障”和/或“中央电源中断”来定义。就是说,系统自动分析系统的状态或基于故障重自举的原因,此时尤其要研究节点12、14的正常运行时间和一个软件故障识别的结果。
如果该结果是必须出示一个软件故障或一个电源中断,则将故障划分到第一故障等级16-1。在此假设所涉及的只是一个暂时的故障,能将它通过一个重自举和在群集器中再接受有缺陷的节点而消除。因此,在这些情况能自动投入运行。
在所有其他情况下,将故障划分到第二故障等级16-2。在此假设涉及的是一个严重的故障,它不能通过一个重自举清除。在下面,例如是包括一个硬件故障或一个严重的硬件和软件组合的故障的情况。
随着通过管理员确定故障等级16,能动态地调节在某些情况下群集器应当自动运行而在某些情况下不自动运行。有利的是,在一个发生故障之后群集器10投入运行的过程能动态地与相应的系统配合,此时给某些故障分配一个专门的要求单独投入运行的故障等级,因为在自动重复将有缺陷的节点捆扎到群集器10中时会出现二次误差。
为了例如还能进行其它的故障分析,第二故障等级16-2能有选择地包括在其中也要进行一个自动的但时间上滞后的投入运行的情况。但是,也能为第二故障等级16-2规定,在这些情况下必须总是以人工方式投入运行。
在第一故障等级16-1的两个情况中(“暂时的软件故障”或“中央电源中断”),在重自举之后将两个节点12、14协调到群集器10中去。
通过控制故障等级控制的进行方式可以使群集器10根据当时现实的故障状态动态地投入运行。
有利的是,对于在此介绍的投入运行方案,自举程序或自举块程序和投入运行方法相互嵌套的。就是说,在群集器投入运行的各个步骤被触发之前,不必要地必然完全结束自举。
Solaris操作系统环境很适合于在高可用性的群集器系统时应用,因为它可以与在此之下的硬件层进行有效的通信,此外支持监控功能并因此是本发明系统的优选实施形式的组成部分。
一个Solaris 2.x-系统能在各种所谓的运行级(Runlevel)自举。运行级指出计算机的操作方式并规定状态和由它提供的服务。这里特别要在八个运行级之间进行区分。在运行级0(也称作为监视器模式)时还没有UNIX运行,而在运行级1时已经激活UNIX内核。运行级3(也称作为多用户模式)阐明机器已经处于支配全部功能的状态,所有文件系统已经处于安装好的状态且网络过程在运行。
有利的是,在达到运行级3之后,能借助于本发明的方法已经使两个群集器节点同步并自动地投入运行。
为了进行所述方法方法的显著时间优化,首先事态有助于,能通过相应的故障等级16分配来识别情况,在这些情况下,可以使群集器自动地再次投入运行。这样,显著降低了系统的停机时间,因为在所有以前被定义为非紧迫的情况下立即再投入运行。迄今在非紧迫情况下也必须人工地投入运行,这导致较长的系统停机时间。
在群集器10投入运行时,尤其要实施下列步骤在第一节点12被接受到群集器10中之后(例如通过指令“scadminstartcluster”),必须检验,是否这个步骤能成功地执行(例如用指令“hastat”)。随后将第二节点14用另一个指令接受到群集器10中(例如用指令“scadmin startnode”),接着再去检验这个步骤的无故障性(指令“hastat”)。在将两个节点12、14成功的捆扎到群集器10中之后,能将后者启动。此时,必须登记属于群集器控制器控制的服务或应用。
群集器10的各个服务器或节点12、14,主要是经过一个所谓的专用-链接-连接相互处于数据交换中。为了能控制节点12、14的失效,这个连接从而以冗余方式设立。
在本发明的一个可选择的、同样示于图2的实施形式中,扩展了所述方法,在发生属于故障等级16-2的故障时,不立即自动投入运行循环,要进行另外的分析。通过自动获取其它参数,可以推断故障的类型,在可能的情况下,在略晚的时刻自动投入运行也许有意义或要不然结束所述方法。
权利要求
1.在发生故障后使群集器(10)投入运行的方法,群集器(10)包括多个节点(12,14),在发生故障的情况下相应地由一个第二节点(14)接管一个第一节点(12)的任务,该方法包括下列步骤-确定至少一个第一和一个第二故障等级(16-1,16-2),-分析导致第一节点(12)重自举的故障,-将故障分级成故障等级(16-1,16-2)之一,-如果故障被分级成第一故障等级(16-1),则具有节点(12,14)的群集器(10)自动投入运行。
2.如权利要求1的方法,其中,对于第二故障等级(16-2)群集器(10)以非自动方式投入运行。
3.如上述权利要求之一的方法,其中,故障分析至少在于一个加电识别,尤其是通过读取和比较节点(12,14)的寿命进行。
4.如上述权利要求之一的方法,其中,将群集器(10)构建成SUN-群集器系统,尤其是构建成2.x型的SUN-群集器系统。
5.如上述权利要求之一的方法,其中,如果第一节点(12)达到一个在其中它支配全部功能,尤其是多用户模式的状态,其中,运行该状态网络过程并已经安装所有的文件系统,则在第一节点(12)重自举后才使群集器(10)投入运行。
6.如上述权利要求之一的方法,其中,群集器(10)是一个主动-主动-群集器。
7.如上述权利要求之一的方法,其中,群集器(10)是一个主动-主动-群集器。
7.如权利要求1至5之一的方法,其中,群集器(10)是一个主动-被动-群集器。
8.如上述权利要求之一的方法,其中,在二个彼此分配给群集器(10)的节点(12,14)上进行重自举故障分析。
9.如上述权利要求之一的方法,其中,用协调的节点(12,14)实施群集器(10)的投入运行,其中将节点(12,14)按顺序用相应不同的指令捆扎到群集器(10)中,检验这些捆扎的每个节点的无故障性。
10.如权利要求6和9的方法,其中,通过求取在群集器(10)两侧在预定的协调时间点的节点(12,14)的状态来进行节点(12,14)的协调。
11.程序或计算机程序产品,包括软件代码程序段,用这些程序段通过至少一个处理器实施上述方法权利要求之一的方法。
12.布置,尤其是群集器,用于实施如上述方法权利要求之一方法。
13.装置,尤其是如上述权利要求的一个布置的节点或FAIL-OVER控制,包括至少一个用于实施如上述方法权利要求之一方法的装置。
全文摘要
本发明涉及在群集器(10)的一个节点(12,14)中出现导致节点(12,14)重自举的故障后,群集器(10)自动投入运行的方法。此时,自动识别涉及是否是一个可自动修复的故障,在发生所述故障时群集器(10)能自动启动。利用该方法,群集器(10)能在发生故障之后自行回到其运行状态,并能因此而使系统的停机时间最小。
文档编号G06F11/00GK1908911SQ200610126718
公开日2007年2月7日 申请日期2002年1月23日 优先权日2001年2月9日
发明者D·克劳斯, J·布拉古拉 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1