一种计算机集群系统的故障处理方法

文档序号:7775877阅读:479来源:国知局
一种计算机集群系统的故障处理方法
【专利摘要】本申请公开了一种计算机集群系统的故障处理方法,包括:A、选取计算机集群系统中至少两个节点设置为承担故障处理以及管理计算机集群系统的管理节点,所述管理节点中的一个作为主节点,其余作为备节点;B、计算机集群系统中每一个节点的底层监控服务模块监控本节点的运行状态以及软硬件负荷情况,并判断是否出现故障,若是,底层监控服务模块通知消息中间件服务模块向主节点的管理中心服务模块发送故障消息;C、主节点的管理中心服务模块根据所述故障消息进行故障处理。本申请技术方案能够在不需要人工干预的条件下实现计算机集群系统故障的自动处理功能。
【专利说明】一种计算机集群系统的故障处理方法【技术领域】
[0001]本申请涉及计算机技术,特别涉及计算机集群系统,尤其涉及一种计算机集群系统的故障处理方法。
【背景技术】
[0002]随着信息化技术的推进,无论是企业还是其他组织机构都越来越依赖于计算机系统。伴随着数据量的急剧膨胀,单个计算机已经无法满足其需要,若使用超级计算机又极大的增大了计算机的成本,在这种情况下,计算机集群技术应运而生。
[0003]计算机集群系统由一组松散集成的计算机的软件或硬件连接起来,高度紧密地协作完成计算工作。组成计算机集群系统的多台计算机设备从逻辑上可以被看作是一台计算机。计算机集群系统中的单个计算机通常称为节点,计算机集群系统可以通过局域网连接,也支持其它的连接方式。计算机集群系统通常用来改进单个计算机的计算速度和数据流的负载均衡。计算机集群系统以其极快的计算速度和低廉的价格,受到广泛地青睐,并得到迅速普及。
[0004]计算机集群系统的节点数量从几台到几百台甚至上千台不等,因此当计算机集群系统中的一个或多个节点发生故障时,计算机集群系统的计算速度通常会受到影响,甚至导致计算机集群系统中的所有节点都无法正常使用。因此对于使用人员来说,如何保证计算机集群系统中的任 何一个节点发生故障时,计算机集群系统整体上依然可用,并且不影响计算速度则成为提升工作效率和创造价值的关键。
[0005]对于处理计算机集群系统中的故障,通常方法是维护人员进入机房在计算机集群系统中的多台节点中查找故障机器,然后确定机器的故障原因,再进行维护工作,当节点的数量增加时可能需要增加维护人员的数量和工作量,不仅成本开支较高,而且工作效率很低。

【发明内容】

[0006]本申请提供了一种计算机集群系统的故障处理方法,能够在不需要人工干预的条件下实现计算机集群系统故障的自动处理功能。
[0007]本申请实施例提供的一种计算机集群系统的故障处理方法,包括:
[0008]A、选取计算机集群系统中至少两个节点设置为承担故障处理以及管理计算机集群系统的管理节点,所述管理节点中的一个作为主节点,其余作为备节点;
[0009]B、计算机集群系统中每一个节点的底层监控服务模块监控本节点的运行状态以及软硬件负荷情况,并判断是否出现故障,若是,底层监控服务模块通知消息中间件服务模块向主节点的管理中心服务模块发送故障消息;
[0010]C、主节点的管理中心服务模块根据所述故障消息进行故障处理。
[0011]较佳地,所述故障为节点的内存、CPU或系统盘使用率超过预先规定的阈值;
[0012]步骤C为:主节点的管理中心服务模块将故障内容上报给维护人员。[0013]较佳地,所述故障为硬件故障;
[0014]步骤C为:主节点的管理中心服务模块将出现故障的硬件标识通知管理员,并将故障设备从计算机集群系统中剔除。
[0015]较佳地,发生故障的节点为普通节点,故障为软件故障;
[0016]步骤C为:主节点的管理中心服务模块以已定义的状态值来标识该节点的状态,并将具体故障信息通知维护人员。
[0017]较佳地,发生故障的节点为主节点,故障为软件故障;
[0018]步骤C为:从备节点中选举出一个新的主节点接替原主节点的工作。
[0019]较佳地,该方法进一步包括:
[0020]计算机集群系统通过心跳机制检测到有节点处于了离线状态,若该节点为主节点,从备节点中选举出一个新的主节点接替原主节点的工作后,将原主节点进入老化;若该节点为普通节点则直接进入老化;
[0021]老化期过后,从计算机集群系统中删除该节点所有信息。
[0022]较佳地,计算机集群系统的各节点统一将心跳消息发送到主节点所在的消息中间件模块,由主节点和备节点收取并管理心跳消息,如果所收到的最后一条心跳消息中的时间戳距离当前的时间超出预先设定的阈值还没有收到新的心跳消息,则认为发出该心跳消息的节点离线。
[0023]从以上技术方案可以看出,利用消息中间件以及单节点监控程序组成一个覆盖整个计算机集群系统节点的监控网络,实时监控每个节点的服务状态以及网络状态,若发现节点故障则由该节点上的监控程序将故障信息上报给管理中心统一处理,从而在不需要人工干预的条件下实现计算机集群系统故障的自动处理功能,保证计算机集群系统节点发生故障后能正常使用,减轻维护人员的工作量,提高计算机集群系统的容错能力。
【专利附图】

【附图说明】
[0024]图1为本申请实施例提供的一种计算机集群系统的故障处理方法流程示意图;
[0025]图2为本申请实施例提供的计算机集群系统的故障处理方法的部署过程示意图。
【具体实施方式】
[0026]针对现有技术中存在的问题,本申请提供了一种计算机集群系统的故障处理方法,利用消息机制实现计算机集群系统故障的上报,由特定节点处理故障,从而在不需要人工干预的条件下实现计算机集群系统故障的自动处理功能,保证计算机集群系统节点发生故障后能正常使用,减轻维护人员的工作量,提高计算机集群系统的容错能力。
[0027]本申请技术方案的主要设计思想是:利用消息中间件以及单节点监控程序组成一个覆盖整个计算机集群系统节点的监控网络,实时监控每个节点的服务状态以及网络状态,若发现节点故障则由该节点上的监控程序将故障信息上报给管理中心统一处理,其中节点的监控程序以及故障消息都有着规范化的定义,对于各类故障的处理也有统一的标准,力争在节省成本以及人力物力的情况下实现计算机集群系统的高可用,保证计算机集群系统在不发生重大事故的前提下持续可用。
[0028]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0029]本申请实施例提供的一种计算机集群系统的故障处理方法流程如图1所示,包括:
[0030]步骤101:选取计算机集群系统中至少两个节点设置为承担故障处理以及管理计算机集群系统的管理节点,所述管理节点中的一个作为主节点,其余作为备节点;
[0031]步骤102:计算机集群系统中每一个节点的底层监控服务模块监控本节点的运行状态以及软硬件负荷情况,并判断是否出现故障,若是,底层监控服务模块通知消息中间件服务模块向主节点的管理中心服务模块发送故障消息;
[0032]步骤103:主节点的管理中心服务模块根据所述故障消息进行故障处理。
[0033]本申请实施例方案中主要利用消息中间件,由底层监控程序监控各个节点的状况,一旦发现故障及时上报,由计算机集群系统的特定节点统一收取故障消息并处理。在本发明中,需要安装消息中间件,以及我们所制定的计算机集群系统单节点监控服务,计算机集群系统管理中心服务等,所使用的操作系统为Linux系统。本申请实施例的故障处理系统主要涉及四个较关键的部分:消息中间件服务模块、底层监控服务模块、管理中心服务模块以及故障切换处理模块。
[0034]本申请实施例提供的计算机集群系统的故障处理方法的部署过程如图2所示,包括:
[0035]步骤201:安装并启动Linux系统。
[0036]对于计算机集群系统中的每一个节点,分别正确安装好所需要的Linux系统,并对Linux系统配直后启动。
[0037]步骤202:安装并启动消息中间件服务。
[0038]在计算机集群系统的每个节点上都正确安装消息中间件并启动,并确保其工作正常,能准确收发消息。
[0039]步骤203:启动计算机集群系统其他服务。
[0040]在计算机集群系统中所有节点上正确启动计算机集群系统中的管理中心服务模块以及底层监控服务模块。底层监控服务模块负责监控每个节点的运行状态,以及软硬件负荷情况,管理中心服务模块负责处理消息,以及分析故障的类型,并根据故障类型进行分别处理。
[0041]步骤204:配置主备节点。
[0042]通过应用程序接口(API)或者运维软件的web界面选取计算机集群系统中的2个或3个节点设置为承担故障处理以及管理计算机集群系统的管理节点,保证计算机集群系统正常工作并具有故障切换功能,选取的管理节点中一个为主节点其余为备节点。相对应的,计算机集群系统中除了管理节点以外的节点称为普通节点。
[0043]经过上述流程处理后,计算机集群系统处于正常工作状态,若出现故障,则计算机集群系统可快速响应故障并处理,根据需要接管故障节点,确保计算机集群系统的高可用性。
[0044]以下给出常见的几种故障类型以及相应的处理方法:
[0045]系统故障
[0046]系统故障包括但不限于内存、CPU、系统盘使用率过高(默认为70%,可根据实际情况配置)。当底层监控服务模块检测到上述故障时,会将故障信息通知消息中间件服务模块,消息中间件服务模块向主节点的管理中心服务模块发送故障消息,该消息包含故障节点信息,故障时间等。
[0047]由于上述故障不影响主节点的正常工作,主节点的管理中心服务模块通过邮件或其他方式告知维护人员其故障内容或者通过运维软件的web页面查看对应的系统指标,无需管理员进入机房检查机器,极大的便利了管理员的工作处理。
[0048]设备硬件故障
[0049]设备硬件故障包括但不限于磁盘故障、raid故障、网卡故障等,当底层监控服务模块检测到此类故障,会将故障信息通知消息中间件服务模块,消息中间件服务模块向主节点的管理中心服务模块发送故障消息,管理中心服务模块负责处理故障,具体方法是通知管理员出现故障的硬件标识,剔除故障设备。
[0050]普通节点软件故障
[0051]软件故障包括计算机集群系统所使用的各种软件发生了故障,例如消息中间件故障,管理服务中心故障,底层监控服务故障等。此类故障主要是指计算机集群系统中各个节点上都拥有的用于提供单节点的服务发生了故障,此时对于该节点的处理是以已定义的状态值来标识该节点的状态并通过邮件或其他方式告知维护人员具体故障信息,此类故障需要人为干预故障节点,手动修复故障。
[0052]管理中心软件故障
[0053]软件故障包括计算机集群系统所使用的各种软件发生了故障,例如消息中间件故障,管理服务中心故障,底层监控服务故障等。当主节点的管理中心服务模块发生了故障,此时主节点已经无法正常工作,需要从备节点中按照一定的原则(比如节点负载情况或者小IP原则等),选举出一个新的主节点,接替原主节点的工作。即承担起提供对外服务对内提供管理的工作,或者备节点发生故障或离线被其他备节点接管,此过程称为管理节点自动切换。
[0054]以下给出一种管理节点自动切换的实现过程示例:备节点通过消息机制获取到主节点发生了故障或者离线,,备节点启动选举机制,从数据库中得知自己为小IP节点,则接管主节点之前担任的工作,。成为新的主节点。
[0055]上述故障发生时需进行故障的切换,保证计算机集群系统的高可用,切换过程无需人工干预,全程自动监控,管理员可用过web运维页面监控切换过程。故障发现迅速,切换过程短暂不影响计算机集群系统的正常使用。
[0056]节点离线
[0057]该类故障主要指节点发生了断电,断网等情况。计算机集群系统通过消息中间件实现的心跳机制检测到该节点处于了离线状态,若为主节点,则进行主节点自动切换后进入老化,若为普通节点则直接进入老化,老化期过后将从整个计算机集群系统中删除该节点所有信息。即为该节点不再作为计算机集群系统中的节点,不再承担任何计算机集群系统工作。本申请实施例中的心跳机制为:计算机集群系统的各节点统一将心跳消息发送到主节点所在的消息中间件模块,由主节点和备节点收取并管理心跳消息,如果所收到的最后一条心跳消息中的时间戳距离当前的时间超出预先设定的阈值还没有收到新的心跳消息,则认为发出该心跳消息的节点离线。[0058]通过本发明,可以达到如下效果:
[0059]I。由于使用了消息机制实现计算机集群系统的故障处理,确保了计算机集群系统中的节点故障能够及时准确的上报,能够根据不同的故障类型进行处理,无论硬件故障还是软件故障都能迅速响应,极大地减少了管理员的维护难度。
[0060]2。将计算机集群系统中的多个节点统一管理,由主节点统一进行负载均衡,数据分流等操作大大提高了计算机集群系统的效率。计算机集群系统中的节点越多,这种优势越明显。
[0061]3。在计算机集群系统的故障处理过程中,多数情况下由程序自动执行,无需人工干预,不影响计算机集群系统正常运转,不需要复杂的配置和额外的工具,因此本方案具有易操作、易维护的特点。
[0062]4。本发明不仅适用于不同品牌的服务器平台,对于各种虚拟机也同样适用因此具有很好的硬件平台适应性。得益于消息中间件,消息的可靠率极高,保证了计算机集群系统切换的准确性;切换时间短暂不影响计算机集群系统的正常使用;Linux系统稳定性极高,减少了维护计算机集群系统时对用户业务的影响。
[0063]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【权利要求】
1.一种计算机集群系统的故障处理方法,其特征在于,包括: A、选取计算机集群系统中至少两个节点设置为承担故障处理以及管理计算机集群系统的管理节点,所述管理节点中的一个作为主节点,其余作为备节点; B、计算机集群系统中每一个节点的底层监控服务模块监控本节点的运行状态以及软硬件负荷情况,并判断是否出现故障,若是,底层监控服务模块通知消息中间件服务模块向主节点的管理中心服务模块发送故障消息; C、主节点的管理中心服务模块根据所述故障消息进行故障处理。
2.根据权利要求1所述的方法,其特征在于,所述故障为节点的内存、CPU或系统盘使用率超过预先规定的阈值; 步骤C为:主节点的管理中心服务模块将故障内容上报给维护人员。
3.根据权利要求1所述的方法,其特征在于,所述故障为硬件故障; 步骤C为:主节点的管理中心服务模块将出现故障的硬件标识通知管理员,并将故障设备从计算机集群系统中剔除。
4.根据权利要求1所述的方法,其特征在于,发生故障的节点为普通节点,故障为软件故障; 步骤C为:主节点的管理中心服务模块以已定义的状态值来标识该节点的状态,并将具体故障信息通知维护人员。
5.根据权利要求1所述的方法,其特征在于,发生故障的节点为主节点,故障为软件故障; 步骤C为:从备节点中选举出一个新的主节点接替原主节点的工作。
6.根据权利要求1至5任一项所述的方法,其特征在于,该方法进一步包括: 计算机集群系统通过心跳机制检测到有节点处于了离线状态,若该节点为主节点,从备节点中选举出一个新的主节点接替原主节点的工作后,将原主节点进入老化;若该节点为普通节点则直接进入老化; 老化期过后,从计算机集群系统中删除该节点所有信息。
7.根据权利要求6所述的方法,其特征在于,所述心跳机制为:计算机集群系统的各节点统一将心跳消息发送到主节点所在的消息中间件模块,由主节点和备节点收取并管理心跳消息,如果所收到的最后一条心跳消息中的时间戳距离当前的时间超出预先设定的阈值还没有收到新的心跳消息,则认为发出该心跳消息的节点离线。
【文档编号】H04L12/24GK103607297SQ201310548737
【公开日】2014年2月26日 申请日期:2013年11月7日 优先权日:2013年11月7日
【发明者】陈浩, 赵亚萍 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1