集群中数据迁移方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:21552105 阅读:17 留言:0更新日期:2019-07-07 00:10
本发明专利技术提出一种集群中数据迁移方法、装置、计算机设备及存储介质,该方法应用于集群的OpenStack控制器上,该集群中数据迁移方法包括获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域;确定每个检测子域内的主节点,并将Corosync软件配置在主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将检测结果发送至OpenStack控制器;根据检测结果对集群中的数据进行迁移。通过本发明专利技术能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。

Data migration methods, devices, computer devices and storage media in cluster

【技术实现步骤摘要】
集群中数据迁移方法、装置、计算机设备及存储介质
本专利技术涉及互联网
,尤其涉及一种集群中数据迁移方法、装置、计算机设备及存储介质。
技术介绍
集群是指一组协同工作的服务器(称之为节点),它们作为整体对外提供资源或者服务。集群内各节点通过内部局域网相互通讯,当一个节点发生故障时,该节点上所运行的任务将被迁移至另一个节点上,以防止单点失效,该属性可以被称为HA(HighAvailability,高可用性)。OpenStack是一个开源的云计算管理平台项目,提供了基础设施即服务(InfrastructureASAService,IAAS)的解决方案,其中,计算节点集群负责提供计算虚拟化功能,即租户的虚拟机。相关技术中,每个计算节点上运行的HeartbeatAgent,例如开源软件corosync,负责节点间的心跳检测,其中,主节点连接OpenStack控制器。若某一节点发生故障,主节点可以通过心跳检测软件感知存在宕机的节点,而后可以将存在宕机的节点的信息发送给OpenStack控制器。OpenStack控制器在接收到该信息后,根据调度算法将该宕机节点上的任务迁移到其它节点,从而保证集群中所有租户的虚拟机不受节点故障的影响。这种方式下,由于需要通过网络交互报文进行节点间的心跳检测及选举主节点,随着集群规模的扩大,心跳检测的交互延时增长,网络带宽资源占用过大,且,corosync的节点规格限制在128台,实测甚至更小。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种集群中数据迁移方法,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。本专利技术的另一个目的在于提出一种集群中数据迁移装置。本专利技术的另一个目的在于提出一种非临时性计算机可读存储介质。本专利技术的另一个目的在于提出一种计算机程序产品。本专利技术的另一个目的在于提出一种计算机设备。为达到上述目的,本专利技术第一方面实施例提出的集群中数据迁移方法,所述方法应用于集群的OpenStack控制器上,包括:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。本专利技术第一方面实施例提出的集群中数据迁移方法,通过获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域,由于是基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,并由OpenStack控制器根据检测结果对集群中的数据进行迁移,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。为达到上述目的,本专利技术第二方面实施例提出的集群中数据迁移装置,所述装置应用于集群的OpenStack控制器上,包括:获取模块,用于获取集群中的检测域;分区处理模块,用于对所述检测域进行分区处理,得到多个检测子域;第一确定模块,用于确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;检测模块,用于基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;迁移模块,用于根据所述检测结果对所述集群中的数据进行迁移。本专利技术第二方面实施例提出的集群中数据迁移装置,通过获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域,由于是基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,并由OpenStack控制器根据检测结果对集群中的数据进行迁移,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。为达到上述目的,本专利技术第三方面实施例提出的集群中数据迁移装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。本专利技术第三方面实施例提出的集群中数据迁移装置,通过获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域,由于是基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,并由OpenStack控制器根据检测结果对集群中的数据进行迁移,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。为达到上述目的,本专利技术第四方面实施例提出的非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器被执行时,使得移动终端能够执行一种集群中数据迁移方法,所述方法应用于集群的OpenStack控制器上,所述方法包括:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。本专利技术第四方面实施例提出的非临时性计算机可读存储介质,通过获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域,由于是基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,并由OpenStack控制器根据检测结果对集群中的数据进行迁移,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。为达到上述目的,本专利技术第五方面实施例提出的计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种集群中数据迁移方法,所述方法应用于集群的OpenStack控制器上,所述方法包括:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。本专利技术第五方面实施例提出的计算机程序产品,通过获取集群中的检测域,并对检测域进行分区处理,得到多个检测子域,由于是基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,并由OpenStack控制器根据检测结果对集群中的数据进行迁移,能够有效避免集群中心跳检测受限于集群中节点的规模,降低心跳检测时延及其所占网络带宽,有效提升集群中资源调度效率。为达到上述目的,本专利技术第六方面还本文档来自技高网...

【技术保护点】
1.一种集群中数据迁移方法,其特征在于,所述方法应用于集群的OpenStack控制器上,包括以下步骤:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。

【技术特征摘要】
1.一种集群中数据迁移方法,其特征在于,所述方法应用于集群的OpenStack控制器上,包括以下步骤:获取集群中的检测域,并对所述检测域进行分区处理,得到多个检测子域;确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发送至所述OpenStack控制器;根据所述检测结果对所述集群中的数据进行迁移。2.如权利要求1所述的集群中数据迁移方法,其特征在于,所述基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,包括:通过所述每个检测子域内的主节点中的Corosync软件,采集所述检测子域内多个节点之间的心跳检测数据帧,以根据所述心跳检测数据帧进行心跳检测。3.如权利要求1所述的集群中数据迁移方法,其特征在于,所述根据所述检测结果对所述集群中的数据进行迁移,包括:根据所述检测结果判断所述检测子域内是否存在处于宕机状态的节点;在存在处于所述宕机状态的节点时,调用预设调度算法;根据所述预设调度算法将所述节点中的数据迁移至所述检测子域内除所述处于宕机状态的节点之外的集群节点上。4.如权利要求1所述的集群中数据迁移方法,其特征在于,所述确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中之后,还包括:采用所述Corosync软件判断所述主节点是否处于宕机状态;在所述主节点处于所述宕机状态时,重新从所述检测子域内除处于宕机状态的主节点之外的节点中确定出主节点;将所述Corosync软件配置在重新确定的主节点中。5.如权利要求1所述的集群中数据迁移方法,其特征在于,所述对所述检测域进行分区处理,得到多个检测子域,包括:根据集群性能确定预设个数;基于所述预设个数对所述检测域进行分区处理,得到预设个数的检测子域。6.一种集群中数据迁移装置,其特征在于,所述装置应用于集群的OpenStack控制器上,包括:获取模块,用于获取集群中的检测域;分区处理模块,用于对所述检测域进行分区处理,得到多个检测子域;第一确定模块,用于确定所述每个检测子域内的主节点,并将所述Corosync软件配置在所述主节点中;检测模块,用于基于每个检测子域内的集群节点,采用Corosync软件进行心跳检测,得到检测结果,并将所述检测结果发...

【专利技术属性】
技术研发人员:郝滨
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:浙江,33

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

1