一种提高在线集群组高可用性能的动态管理方法

文档序号:7552930阅读:160来源:国知局
专利名称:一种提高在线集群组高可用性能的动态管理方法
技术领域
本发明涉及高可用计算机集群管理计数领域,具体地说是一种提高在线集群组高可用性能的动态管理方法。
背景技术
高可用集群系统是指能够保证业务24小时不中断,在系统发生问题或者应用软件发生问题时,能够快速恢复业务,尽可能将宕机时间控制在分钟级别的系统。高可用集群系统由下至上主要包括以下几个模块:心跳模块、资源监控模块、资源管理模块、分布式控制台模块和web服务模块。
其中,资源管理模块负责业务组及组资源的操作管理,用于操作和监控业务组资源,保证其可用性和可靠性。目前在高可用集群系统中,组只有在集群启动后才可以被操作管理,若想实时更改组资源的信息或是添加删除组,必须将集群停止,重新上传配置文件,并重新启动集群。但是在一些需要保证业务连续性的集群系统中(例如:存储池资源),用户随时都有可能添加或删除组,而此时要用户停止集群对外提供服务,这显然是不现实的,用户也是无法接受的。因此,需要一种在线高可用集群组的动态管理方法,保证新添加(删除)的组能够在不中断服务的情况下添加(删除)到高可用集群中,从而实现组及组资源的监控管理,并在出现故障时进行失效切换。发明内容
本发明的目的是提供一种提高在线集群组高可用性能的动态管理方法。
本发明的目的是按以下方式实现的,一个计算机集群系统包括若干集群组,高可用性能的动态管理包括:在线高可用集群组动态管理流程设置、动态添加集群组流程设置、动态删除集群组流程设置,其中: I)在线高可用集群动态集群组管理流程设置,具体步骤如下: 步骤1:在集群组正常运行的过程中,用户在集群组设置界面上进行集群组属性设置,用户即可在不停止集群业务的情况下进行集群组的动态添加或删除,设置内容包括:集群组名称、集群组启动服务器、集群组资源及资源属性、集群组监视资源、监视资源属性和组互斥属性,设置完毕后点击“上传配置文件”; 步骤2:web模块检查集群组属性信息是否完整,是否正确,如果不正确,则给用户提示错误信息;如果正确,执行步骤3 ; 步骤3:主节点执行集群同步配置文件_3例程,将新配置文件上传到各个节点;步骤4:各节点执行同步配置文件_A函数,进行备份存储,并将同步结果返回给主节占.步骤5:主节点执行同步配置文件_R函数,统计集群配置文件同步结果,如果同步成功,则执行步骤6 ;否则,执行配置文件回滚,并给用户提示同步配置文件出错信息,其中,_S函数是主节点进行主动调用超时事件资源例程的函数,用于下达命令广播到集群各个节点,_々函数是集群各个节点收到命令后的执行函数,用于执行命令具体流程,并将执行结果返回给主节点,_1 函数是主节点通过收到命令回复信息,统计命令执行结果,根据执行结果进行某种操作的函数; 步骤6:主节点将当前配置文件与原配置文件比较,按照集群组的深度遍历组,并获取每一个集群组差异,如果集群组差异结果是添加集群组,则走添加集群组流程;如果是删除集群组,则走删除集群组流程;如果没有变化,则直接返回,不做任何集群组的修改; 步骤7:在线高可用集群动态集群组管理流程设置完成,动态上传配置文件,通过比较获取集群组动作,其一,提高时间效率,不需要先停止集群再上传再启动;其二,通过比较获取集群组动作,而不是直接从web模块下发集群组添加或集群组删除命令,一次性满足多个集群组的添加或删除的任意种组合操作;其三,无需中断集群对外提供的服务,使得业务连续运行,从根本上保证了集群的高可靠性高可用性; 2)动态添加组流程设置步骤如下: 步骤1:主节点调用createGroupAdd_S函数执行创建添加集群组例程,并将创建添加集群组消息通过心跳模块广播到集群各个节点; 步骤2:集群各个节点收到创建添加集群组消息后,执行createGroupAdd_A函数,根据新的配置文件,创建添加集群组的管理结构体、集群组属性信息、集群组资源信息和集群组监视资源信息,并将创建结果返回给主节点; 步骤3:主节点执行createGroupAdd_R函数,根据各节点返回信息,统计创建添加集群组结果,如果创建成功,则执行步骤4 ;否则执行步骤5 ; 步骤4:主节点遍历要添加的集群组,根据集群组名和集群组启动服务器,执行启动集群组例程; 步骤5:主节点释放已添加的一些结构体信息,并回滚配置文件; 3)动态删除集群组流程设置,具体步骤如下: 步骤1:主节点根据删除集群组个数grpDelNum遍历每一个要删除的集群组,调用iGetGroupStatus函数获取集群组状态,如果集群组不为停止或是初始化状态,包括启动中,启动完毕或异常,则执行步骤2 ;否则执行步骤5 ; 步骤2:主节点调用SendSt0pGr0up_S函数执行停止集群组例程,停止某个特定的删除集群组; 步骤3:集群各个节点收到停止集群组消息后,执行sendStopGroup_A函数,停止组资源和组监视资源,并将停止结果返回给主节点; 步骤4:主节点执行sendStopGroup_R函数,根据各节点返回信息,统计停止集群组结果,如果停止成功,则执行步骤5 ;否则按照配置文件中停止集群组失败策略执行策略流程; 步骤5:主节点根据要删除集群组个数,查看是否所有删除集群组都处于停止状态,如果是,则执行步骤6 ;否则执行步骤1,遍历下一个要删除的集群组; 步骤6:主节点调用delGr0upByName_S函数执行删除集群组例程,向集群中所有节点广播删除集群组消息; 步骤7:集群各个节点收到删除集群组消息后,执行delGr0upByName_A函数,释放删除集群组的管理结构体、组属性信息、组资源信息、集群组监视资源信息和异常资源、异常监视资源列表里有关该集群组的信息,并将删除结果返回给主节点; 步骤8:主节点执行delGroupByName_R函数,根据各节点返回信息,统计删除集群组结果,如果删除成功,则向用户返回删除结果;否则执行步骤9 ; 步骤9:主节点恢复已删除的一些结构体信息,并回滚配置文件。
本发明的有益效果是:该方法与传统的集群组管理方法相比,可以在集群对外业务不中断情况下,对集群组动态管理,不仅提高了集群管理效率,也使得可靠性连续性要求高的业务对用户呈现无缝式透明式管理。


图1是高可用集群系统的动态组管理流程示意图; 图2是动态添加集群组流程示意图; 图3是动态删除集群组流程示意图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
结合高可用集群系统中动态组管理流程图1,下面对各个步骤进行详细描述: 步骤1:在集群正常运行的过程中,用户可以在不停止集群业务的情况下动态添加或删除组,对于动态组需要用户在集群的设置界面进行组属性的设置,包括:组名称、组启动服务器、组资源及资源属性、组监视资源及监视资源属性和组互斥属性等,设置完毕后点击“上传配置文件”; 步骤2:web模块检查组属性信息是否完整,是否正确。如果不正确,则给用户提示错误信息;如果正确,执行步骤3 ; 步骤3:主节点执行集群同步配置文件_3例程,将新配置文件上传到各个节点; 步骤4:各节点执行同步配置文件_A函数,进行备份存储,并将同步结果返回给主节占.步骤5:主节点执行同步配置文件_R函数,统计集群配置文件同步结果。如果同步成功,则执行步骤6 ;否则,执行配置文件回滚,并给用户提示同步配置文件出错信息; 其中,_S函数是主节点进行主动调用超时事件资源例程的函数,用于下达命令广播到集群各个节点,_々函数是集群各个节点收到命令后的执行函数,用于执行命令具体流程,并将执行结果返回给主节点,_1 函数是主节点通过收到命令回复信息,统计命令执行结果,根据执行结果进行某种操作的函数; 步骤6:主节点将当前配置文 件与原配置文件比较,按照组的深度遍历组,并获取每一个组差异。如果组差异结果是添加组,则走添加组流程;如果是删除组,则走删除组流程;如果没有变化,则直接返回,不做任何组的修改。
至此,在线高可用集群动态组管理的整体流程完成,动态上传配置文件,通过比较获取组动作,一方面提高时间效率,不需要先停止集群再上传再启动;一方面,通过比较获取组动作,而不是直接从web模块下发组添加或组删除命令,可以一次满足多个组的添加或删除的任意种组合操作;另一方面,无需中断集群对外提供的服务,使得业务连续运行,从根本上保证了集群的高可靠性高可用性。
结合动态添加组流程图2,下面对该流程各个步骤进行详细描述: 步骤1:主节点调用createGroupAdd_S函数执行创建添加组例程,并将创建添加组消息通过心跳模块广播到集群各个节点; 步骤2:集群各个节点收到创建添加组消息后,执行createGroupAdd_A函数,根据新的配置文件,创建添加组的管理结构体、组属性信息、组资源信息和组监视资源信息等,并将创建结果返回给主节点; 步骤3:主节点执行createGroupAdd_R函数,根据各节点返回信息,统计创建添加组结果。如果创建成功,则执行步骤4 ;否则执行步骤5 ; 步骤4:主节点遍历要添加的组,根据组名和组启动服务器,执行启动组例程; 步骤5:主节点释放已添加的一些结构体信息,并回滚配置文件。
结合动态删除组流程图3,下面对该流程各个步骤进行详细描述: 步骤1:主节点根据删除组个数grpDelNum遍历每一个要删除的组A,调用iGetGroupStatus函数获取组A状态。如果组A不为停止或是初始化状态(可能是启动中,启动完毕,异常等),则执行步骤2 ;否则执行步骤5 ; 步骤2:主节点调用sendSt0pGr0up_S函数执行停止组例程,停止某个特定的删除组;步骤3:集群各个节点收到停止组消息后,执行sendStopGroup_A函数,停止组资源和组监视资源,并将停止结果返回给主节点; 步骤4:主节点执行sendStopGroup_R函数,根据各节点返回信息,统计停止组结果。如果停止成功,则执行步骤5 ;否则按照配置文件中停止组失败策略执行策略流程; 步骤5:主节点根据要删除组个数,查看是否所有删除组都处于停止状态。如果是,则执行步骤6 ;否则执行步骤1,遍历下一个要删除的组; 步骤6:主节点调用delGr0upByName_S函数执行删除组例程,向集群中所有节点广播删除组消息; 步骤7:集群各个节点收到删除组消息后,执行delGr0upByName_A函数,释放删除组的管理结构体、组属性信息、组资源信息、组监视资源信息和异常资源、异常监视资源列表里有关该组的信息,并将删除结果返回给主节点; 步骤8:主节点执行delGroupByName_R函数,根据各节点返回信息,统计删除组结果。如果删除成功,则向用户返回删除结果;否则执行步骤9 ; 步骤9:主节点恢复已删除的一些结构体信息,并回滚配置文件。
至此,已经完整实现了在线集群的动态组管理方法,该方法与传统的集群组管理方法相比,可以在集群对外业务不中断情况下,对组动态管理,不仅提高了集群管理效率,也使得可靠性连续性要求高的业务对用户呈现无缝式透明式管理。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种提高在线集群组高可用性能的动态管理方法,其特征在于一个计算机集群系统包括若干集群组,高可用性能的动态管理包括:在线高可用集群组动态管理流程设置、动态添加集群组流程设置、动态删除集群组流程设置,其中: 1)在线高可用集群动态集群组管理流程设置,具体步骤如下: 步骤1:在集群组正常运行的过程中,用户在集群组设置界面上进行集群组属性设置,用户即可在不停止集群业务的情况下进行集群组的动态添加或删除,设置内容包括:集群组名称、集群组启动服务器、集群组资源及资源属性、集群组监视资源、监视资源属性和组互斥属性,设置完毕后点击“上传配置文件”; 步骤2:web模块检查集群组属性信息是否完整,是否正确,如果不正确,则给用户提示错误信息;如果正确, 执行步骤3 ; 步骤3:主节点执行集群同步配置文件_3例程,将新配置文件上传到各个节点; 步骤4:各节点执行同步配置文件_A函数,进行备份存储,并将同步结果返回给主节占.步骤5:主节点执行同步配置文件_R函数,统计集群配置文件同步结果,如果同步成功,则执行步骤6 ;否则,执行配置文件回滚,并给用户提示同步配置文件出错信息,其中,_S函数是主节点进行主动调用超时事件资源例程的函数,用于下达命令广播到集群各个节点,_々函数是集群各个节点收到命令后的执行函数,用于执行命令具体流程,并将执行结果返回给主节点,_1 函数是主节点通过收到命令回复信息,统计命令执行结果,根据执行结果进行某种操作的函数; 步骤6:主节点将当前配置文件与原配置文件比较,按照集群组的深度遍历组,并获取每一个集群组差异,如果集群组差异结果是添加集群组,则走添加集群组流程;如果是删除集群组,则走删除集群组流程;如果没有变化,则直接返回,不做任何集群组的修改; 步骤7:在线高可用集群动态集群组管理流程设置完成,动态上传配置文件,通过比较获取集群组动作,其一,提高时间效率,不需要先停止集群再上传再启动;其二,通过比较获取集群组动作,而不是直接从web模块下发集群组添加或集群组删除命令,一次性满足多个集群组的添加或删除的任意种组合操作;其三,无需中断集群对外提供的服务,使得业务连续运行,从根本上保证了集群的高可靠性高可用性; 2)动态添加组流程设置步骤如下: 步骤1:主节点调用createGroupAdd_S函数执行创建添加集群组例程,并将创建添加集群组消息通过心跳模块广播到集群各个节点; 步骤2:集群各个节点收到创建添加集群组消息后,执行createGroupAdd_A函数,根据新的配置文件,创建添加集群组的管理结构体、集群组属性信息、集群组资源信息和集群组监视资源信息,并将创建结果返回给主节点; 步骤3:主节点执行createGroupAdd_R函数,根据各节点返回信息,统计创建添加集群组结果,如果创建成功,则执行步骤4 ;否则执行步骤5 ; 步骤4:主节点遍历要添加的集群组,根据集群组名和集群组启动服务器,执行启动集群组例程; 步骤5:主节点释放已添加的一些结构体信息,并回滚配置文件; 3)动态删除集群组流程设置,具体步骤如下:步骤1:主节点根据删除集群组个数grpDelNum遍历每一个要删除的集群组,调用iGetGroupStatus函数获取集群组状态,如果集群组不为停止或是初始化状态,包括启动中,启动完毕或异常,则执行步骤2 ;否则执行步骤5 ; 步骤2:主节点调用SendSt0pGr0up_S函数执行停止集群组例程,停止某个特定的删除集群组; 步骤3:集群各个节点收到停止集群组消息后,执行sendStopGroup_A函数,停止组资源和组监视资源,并将停止结果返回给主节点; 步骤4:主节点执行sendStopGroup_R函数,根据各节点返回信息,统计停止集群组结果,如果停止成功,则执行步骤5 ;否则按照配置文件中停止集群组失败策略执行策略流程; 步骤5:主节点根据要删除集群组个数,查看是否所有删除集群组都处于停止状态,如果是,则执行步骤6 ;否则执行步骤1,遍历下一个要删除的集群组; 步骤6:主节点调用delGr0upByName_S函数执行删除集群组例程,向集群中所有节点广播删除集群组消息; 步骤7:集群各个节点收到删除集群组消息后,执行delGr0upByName_A函数,释放删除集群组的管理结构体、组属性信息、组资源信息、集群组监视资源信息和异常资源、异常监视资源列表里有关该集群组的信息,并将删除结果返回给主节点; 步骤8:主节点执行delGroupByName_R函数,根据各节点返回信息,统计删除集群组结果,如果删除成功,则向用户返回删除结果;否则执行步骤9 ; 步骤9:主节点恢复已删 除的一些结构体信息,并回滚配置文件。
全文摘要
本发明提供一种提高在线集群组高可用性能的动态管理方法,一个计算机集群系统包括若干集群组,高可用性能的动态管理包括在线高可用集群组动态管理流程设置、动态添加集群组流程设置、动态删除集群组流程设置,该方法与传统的集群组管理方法相比,可以在集群对外业务不中断情况下,对集群组动态管理,不仅提高了集群管理效率,也使得可靠性连续性要求高的业务对用户呈现无缝式透明式管理。
文档编号H04L29/08GK103152416SQ20131006677
公开日2013年6月12日 申请日期2013年3月4日 优先权日2013年3月4日
发明者王佳 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1