一种CTDB自定义分配虚拟IP的方法、装置、设备制造方法及图纸

技术编号:16783350 阅读:26 留言:0更新日期:2017-12-13 02:03
本发明专利技术实施例公开了一种CTDB自定义分配虚拟IP的方法、装置、设备和计算机可读存储介质,系统将读取的虚拟IP分配策略文件加载到内存中;从内存中获取一条分配策略,依次判断该条分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将该条分配策略的虚拟IP分配到该节点上,当完成所有分配策略中虚拟IP的分配后,则结束操作。用户可以根据自己的需要随意设置虚拟IP的分配方式,大大提高了CTDB集群的灵活性。当集群业务出现问题时,用户可以根据虚拟IP与节点的对应关系,快速定位问题节点;当需要将虚拟IP与具体业务进行绑定时,用户也可以清楚的知道哪些虚拟IP上绑定了哪些业务和服务,提高了集群的易用性。

【技术实现步骤摘要】
一种CTDB自定义分配虚拟IP的方法、装置、设备
本专利技术涉及存储集群
,特别是涉及一种CTDB自定义分配虚拟IP的方法、装置、设备和计算机可读存储介质。
技术介绍
CTDB是一套集群高可用管理软件,在其启动过程中,会将配置文件中的虚拟IP平均的分配到集群节点上,在集群中的节点发生故障时CTDB会执行恢复,将剩余正常节点重新构成一套CTDB集群,其中恢复过程包括虚拟IP的重新分配,故障节点上分配的虚拟IP会漂移到其他正常节点,相应的读写业务也会漂移到的其他正常节点,从而将集群构成一套高可用集群。传统方式中,在CTDB启动过程中和集群节点故障过程中虚拟IP的分配是根据内置算法随机分配,用户不能直观的知道客户端当前连接的虚拟IP位于哪个节点上,需要通过执行一系列的命令进行查询才能知道,当客户端的业务因各种原因出现问题时,首先得确定客户端当前连接的是哪个节点,然后再进行问题排查。这种情况下严重影响问题排查和解决问题的效率。同时现有的虚拟IP分配算法跟业务没有任何关系,当需要根据业务实际情况进行虚拟IP的分配时,当前分配算法无法满足需求。另外,当集群中的业务和服务复杂时,无法直观的确定一个IP对应的节点上有哪些业务和服务,也必须得经过一系列的操作才能确定,这也增加了集群的使用复杂度,影响使用效率。可见,如何提高问题分析和解决效率,增加虚拟IP与业务的耦合性,提高集群的易用性,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种CTDB自定义分配虚拟IP的方法、装置、设备和计算机可读存储介质,可以提高问题分析和解决效率,增加虚拟IP与业务的耦合性,提高集群的易用性。为解决上述技术问题,本专利技术实施例提供一种CTDB自定义分配虚拟IP的方法,包括:读取预先存储的虚拟IP分配策略文件,并将所述虚拟IP分配策略文件加载到内存中;所述虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且所述虚拟IP对应的所有所述节点按照优先级顺序排列;从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作。可选的,所述从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作包括:S21:初始化分配策略计数值;S22:从所述内存中获取一条分配策略,并将所述分配策略计数值加1;S23:判断所述分配策略计数值是否小于等于分配策略总数值;若是,则执行S24;若否,则结束操作;S24:初始化节点计数值;S25:从所述分配策略中获取第一节点信息,并将所述节点计数值加1;S26:判断所述节点计数值是否小于等于节点总数值;若是,则执行S27;若否,则结束操作;S27:判断所述第一节点是否出现故障;若是,则执行S28;若否,则执行S29;S28:依据所述分配策略中节点的优先级顺序,将出现故障的所述第一节点的下一个节点作为新的第一节点并返回所述S25;S29:将所述分配策略的虚拟IP分配到所述第一节点上,并返回所述S22。可选的,还包括:当所述分配策略中包括的所有节点均出现故障时,则进行告警提示。本专利技术实施例还提供了一种CTDB自定义分配虚拟IP的装置,包括读取单元和分配单元;所述读取单元,用于读取预先存储的虚拟IP分配策略文件,并将所述虚拟IP分配策略文件加载到内存中;所述虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且所述虚拟IP对应的所有所述节点按照优先级顺序排列;所述分配单元,用于从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作。可选的,所述分配单元包括分配策略初始化子单元、分配策略处理子单元、分配策略判断子单元、节点初始化子单元、节点处理子单元、节点判断子单元、故障判断子单元、选取子单元和配置子单元,所述分配策略初始化子单元,用于初始化分配策略计数值;所述分配策略处理子单元,用于从所述内存中获取一条分配策略,并将所述分配策略计数值加1;所述分配策略判断子单元,用于判断所述分配策略计数值是否小于等于分配策略总数值;若是,则触发所述节点初始化子单元;若否,则结束操作;所述节点初始化子单元,用于初始化节点计数值;所述节点处理子单元,用于从所述分配策略中获取分配策略节点信息,并将所述节点计数值加1;所述节点判断子单元,用于判断所述节点计数值是否小于等于节点总数值;若是,则触发所述故障判断子单元;若否,则结束操作;所述故障判断子单元,用于判断所述分配策略节点是否出现故障;若是,则触发所述选取子单元;若否,则触发所述配置子单元;所述选取子单元,用于依据所述分配策略中节点的优先级顺序,将出现故障的所述分配策略节点的下一个节点作为新的分配策略节点并触发所述节点处理子单元;所述配置子单元,用于将所述分配策略的虚拟IP分配到所述分配策略节点上,并触发所述分配策略处理子单元。可选的,还包括提示单元,所述提示单元,用于当所述分配策略中包括的所有节点均出现故障时,则进行告警提示。本专利技术实施例还提供了一种CTDB自定义分配虚拟IP设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如上述CTDB自定义分配虚拟IP的方法的步骤。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述CTDB自定义分配虚拟IP的方法的步骤。由上述技术方案可以看出,系统将读取的虚拟IP分配策略文件加载到内存中;在该虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且虚拟IP对应的所有节点按照优先级顺序排列;从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作。系统中预先存储的虚拟IP分配策略文件中的分配策略可以由用户根据实际使用场景,或者是用户的使用习惯确定,也即用户可以根据自己的需要随意设置虚拟IP的分配方式,而不是由CTDB内置的有限的算法进行虚拟IP的分配,大大提高了CTDB集群的灵活性。同时当集群业务出现问题时,用户可以根据虚拟IP与节点的对应关系,快速定位节点解决问题;当集群业务复杂时需要将虚拟IP与具体业务进行绑定时,用户也可以清楚的知道哪些虚拟IP上绑定了哪些业务和服务,提高了集群的易用性。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种CTDB自定义分配虚拟IP的方本文档来自技高网...
一种CTDB自定义分配虚拟IP的方法、装置、设备

【技术保护点】
一种CTDB自定义分配虚拟IP的方法,其特征在于,包括:读取预先存储的虚拟IP分配策略文件,并将所述虚拟IP分配策略文件加载到内存中;所述虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且所述虚拟IP对应的所有所述节点按照优先级顺序排列;从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作。

【技术特征摘要】
1.一种CTDB自定义分配虚拟IP的方法,其特征在于,包括:读取预先存储的虚拟IP分配策略文件,并将所述虚拟IP分配策略文件加载到内存中;所述虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且所述虚拟IP对应的所有所述节点按照优先级顺序排列;从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作。2.根据权利要求1所述的方法,其特征在于,所述从所述内存中获取一条分配策略,依次判断所述分配策略中包括的节点是否出现故障,若存在未出现故障的节点,则将所述分配策略的虚拟IP分配到所述节点上;直至完成所有所述分配策略中虚拟IP的分配,则结束操作包括:S21:初始化分配策略计数值;S22:从所述内存中获取一条分配策略,并将所述分配策略计数值加1;S23:判断所述分配策略计数值是否小于等于分配策略总数值;若是,则执行S24;若否,则结束操作;S24:初始化节点计数值;S25:从所述分配策略中获取第一节点信息,并将所述节点计数值加1;S26:判断所述节点计数值是否小于等于节点总数值;若是,则执行S27;若否,则结束操作;S27:判断所述第一节点是否出现故障;若是,则执行S28;若否,则执行S29;S28:依据所述分配策略中节点的优先级顺序,将出现故障的所述第一节点的下一个节点作为新的第一节点并返回所述S25;S29:将所述分配策略的虚拟IP分配到所述第一节点上,并返回所述S22。3.根据权利要求1所述的方法,其特征在于,还包括:当所述分配策略中包括的所有节点均出现故障时,则进行告警提示。4.一种CTDB自定义分配虚拟IP的装置,其特征在于,包括读取单元和分配单元;所述读取单元,用于读取预先存储的虚拟IP分配策略文件,并将所述虚拟IP分配策略文件加载到内存中;所述虚拟IP分配策略文件中包括有多条分配策略,每条分配策略包含有一个虚拟IP及其对应的节点,并且所述虚拟IP对应的所有所述节点按照优先级顺序排列;所述...

【专利技术属性】
技术研发人员:孙业宽
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1