分布式应用系统在平台间迁移的实现方法及装置.pdf

上传人:v**** 文档编号:6189720 上传时间:2019-05-18 格式:PDF 页数:23 大小:1.66MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310547871.0

申请日:

2013.11.06

公开号:

CN103577122A

公开日:

2014.02.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20131106|||公开

IPC分类号:

G06F3/06; G06F9/30; H04L29/08

主分类号:

G06F3/06

申请人:

杭州华为数字技术有限公司

发明人:

蔡毅; 池金燕

地址:

310052 浙江省杭州市滨江区滨兴路301号3幢A楼301室

优先权:

专利代理机构:

深圳市威世博知识产权代理事务所(普通合伙) 44280

代理人:

何青瓦

PDF下载: PDF下载
内容摘要

本发明公开了一种分布式应用系统在平台间迁移的实现方法及装置,方法包括:获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过上述方式,本发明能够支持从传统X86架构服务器到ARM架构服务器的迁移,支持分布式应用系统的N个节点对M个节点迁移场景。

权利要求书

权利要求书
1.  一种分布式应用系统在平台间迁移的实现方法,其特征在于,包括:
获得目标平台所需要的节点的数目n,以使得所述目标平台n个节点的硬件能够负载源平台所有节点的业务;
利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述源平台所有节点的总的数据容量大小等于所述目标平台n个节点总的数据存储空间的大小;
根据所述目标平台n个节点的硬件配置所述目标平台的操作系统,以使得所述目标平台的操作系统和所述目标平台n个节点的硬件匹配;
根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统,以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间的差异在预定范围内;
在配置好所述目标平台的操作系统和分布式应用系统后,按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上。

2.  根据权利要求1所述的方法,其特征在于,所述源平台节点是X86架构服务器或虚拟机,所述目标平台节点是先进的精简指令集计算机设备ARM架构服务器或虚拟机。

3.  根据权利要求1所述的方法,其特征在于,所述获得目标平台所需要的节点的数目n的步骤,包括:
将所述源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义所述源平台的节点个数为m,所述m为不为零的自然数;
根据所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得 所述集群扩容系数C与所述节点个数x之间的函数关系式C(x);
根据所述集群扩容系数与所述节点个数之间的函数关系式C(x)、所述源平台单节点的硬件性能S、所述源平台单节点的综合性能利用率δ、所述目标平台单节点的硬件性能T以及所述目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得所述目标平台所需要的节点的数目n。

4.  根据权利要求1所述的方法,其特征在于,所述利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小的步骤,包括:所述目标平台n个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总的数据容量大小除以所述n的商。

5.  根据权利要求1所述的方法,其特征在于,所述按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上的步骤,包括:
确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据;
按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到所述目标平台的n个节点上。

6.  一种分布式应用系统在平台间迁移的实现装置,其特征在于,所述装置包括:获得模块、确定模块、第一配置模块、第二配置模块以及数据迁移模块;
所述获得模块用于获得目标平台所需要的节点的数目n,以使得所述目标平台n个节点的硬件能够负载源平台所有节点的业务;
所述确定模块用于在所述获得模块获得目标平台所需要的节点的数目n后,利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述源平台所有节点的总的数据容量大小等于所述目标平台n个节点总的数据存储空间的大小;
所述第一配置模块用于根据所述目标平台n个节点的硬件配置所述目标平台的操作系统,以使得所述目标平台的操作系统和所述目标平台n个节点的硬件匹配;
所述第二配置模块用于根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统,以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间的差异在预定范围内;
所述数据迁移模块在所述第一配置模块和第二配置模块分别配置好所述目标平台的操作系统和分布式应用系统后,按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上。

7.  根据权利要求6所述的装置,其特征在于,所述源平台节点是X86架构服务器或虚拟机,所述目标平台节点是先进的精简指令集计算机设备ARM架构服务器或虚拟机。

8.  根据权利要求6所述的装置,其特征在于,所述获得模块包括:第一获得单元、第二获得单元以及第三获得单元;
所述第一获得单元用于将所述源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义所述源平台的节点个数为m,所述m为不为零的自然数;
所述第二获得单元用于根据所述第一获得单元获得的所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得所述集群扩容系数C与所述节点个数x之间的函数关系式C(x);
所述第三获得单元用于根据所述第二获得单元获得的所述集群扩容系数与所述节点个数之间的函数关系式C(x)、所述源平台单节点的硬件性能S、所述源平台单节点的综合性能利用率δ、所述目标平台单节点的硬件性能T以及所述目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得所述目标平台所需要的 节点的数目n。

9.  根据权利要求6所述的装置,其特征在于,所述确定模块具体用于所述利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述目标平台n个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总的数据容量大小除以所述n的商。

10.  根据权利要求6所述的装置,其特征在于,所述数据迁移模块包括:确定单元和数据迁移单元;
所述确定单元用于确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据;
所述数据迁移单元用于按照所述目标平台每个节点的数据存储空间的大小,将所述确定单元确定的所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到所述目标平台的n个节点上。

说明书

说明书分布式应用系统在平台间迁移的实现方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种分布式应用系统在平台间迁移的实现方法及装置。
背景技术
在目前IT市场中,传统的服务器硬件提供商已经难以影响客户选型,新产品的面世更多依靠整体解决方案和咨询服务推动市场应用,同时催生增值价值和利润,客户应用迁移服务就是其中的一个关键。既要保证客户应用系统的平滑迁移,也要减小客户迁移风险和工作量,才能降低客户总体拥有成本TCO,赢得客户的满意度和使用意愿。
IBM系统服务迁移技术包括以下步骤:应用系统在源平台运行过程中时,发现应用系统所直接依赖的系统服务;由源平台上的系统服务之间的依赖关系模型以及所述发现的应用系统所直接依赖的系统服务,获得应用系统所间接依赖的系统服务;发现应用系统所直接和间接依赖的系统服务的配置;根据应用系统所直接和间接依赖的系统服务及其配置在源平台与目标平台之间的映射关系,将源平台上应用系统所直接和间接依赖的系统服务及其配置映射为用于目标平台的、应用系统所直接和间接依赖的系统服务及其配置;将所述用于目标平台的、应用系统所直接和间接依赖的系统服务及其配置设置到目标平台上,从而实现应用系统所依赖的系统环境从源平台到目标平台的迁移。
本申请的发明人在长期的研发中发现,上述现有技术不支持从传统X86架构服务器到ARM架构服务器的迁移;无法支持分布式应用系统的N个节点对M个节点迁移场景。
发明内容
本发明主要解决的技术问题是提供一种分布式应用系统在平台间迁移的实现方法及装置,能够支持从传统X86架构服务器到ARM架构服务器的迁移,支持分布式应用系统的N个节点对M个节点迁移场景。
第一方面,本发明提供一种分布式应用系统在平台间迁移的实现方法,包括:获得目标平台所需要的节点的数目n,以使得所述目标平台n个节点的硬件能够负载源平台所有节点的业务;利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述源平台所有节点的总的数据容量大小等于所述目标平台n个节点总的数据存储空间的大小;根据所述目标平台n个节点的硬件配置所述目标平台的操作系统,以使得所述目标平台的操作系统和所述目标平台n个节点的硬件匹配;根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统,以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间的差异在预定范围内;在配置好所述目标平台的操作系统和分布式应用系统后,按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上。
在第一方面的第一种可能的实现方式中,所述源平台节点是X86架构服务器或虚拟机,所述目标平台节点是先进的精简指令集计算机设备ARM架构服务器或虚拟机。
在第一方面的第二种可能的实现方式中,所述获得目标平台所需要的节点的数目n的步骤,包括:将所述源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义所述源平台的节点个数为m,所述m为不为零的自然数;根据所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得所述集群扩容系数C与所述节点个数x之间的函数关系式C(x);根据所述集群扩容系数与所述节点个数之间的函数关系式C(x)、所述源平台单节点的硬件性能S、所述源平台单节点的综合性能利用率δ、所述目标平台单节点的硬件性能T以 及所述目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得所述目标平台所需要的节点的数目n。
在第一方面的第三种可能的实现方式中,所述利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小的步骤,包括:所述目标平台n个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总的数据容量大小除以所述n的商。
在第一方面的第四种可能的实现方式中,所述按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上的步骤,包括:确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据;按照所述目标平台每个节点的数据存储空间的大小,将所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到所述目标平台的n个节点上。
第二发明,本发明提供一种分布式应用系统在平台间迁移的实现装置,所述装置包括:获得模块、确定模块、第一配置模块、第二配置模块以及数据迁移模块;所述获得模块用于获得目标平台所需要的节点的数目n,以使得所述目标平台n个节点的硬件能够负载源平台所有节点的业务;所述确定模块用于在所述获得模块获得目标平台所需要的节点的数目n后,利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述源平台所有节点的总的数据容量大小等于所述目标平台n个节点总的数据存储空间的大小;所述第一配置模块用于根据所述目标平台n个节点的硬件配置所述目标平台的操作系统,以使得所述目标平台的操作系统和所述目标平台n个节点的硬件匹配;所述第二配置模块用于根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统,以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间的差异在预定范围内;所述数据迁移模块在所述第一配置模块和第二配置模块分别配置好所述目标平台的操作系统和分布式应用系统后,按照所述目标平台每个节点的数据存储空间的大小,将 所述源平台上的应用数据分别迁移到所述目标平台的n个节点上。
在第二方面的第一种可能的实现方式中,所述源平台节点是X86架构服务器或虚拟机,所述目标平台节点是先进的精简指令集计算机设备ARM架构服务器或虚拟机。
在第二方面的第二种可能的实现方式中,所述获得模块包括:第一获得单元、第二获得单元以及第三获得单元;所述第一获得单元用于将所述源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义所述源平台的节点个数为m,所述m为不为零的自然数;所述第二获得单元用于根据所述第一获得单元获得的所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得所述集群扩容系数C与所述节点个数x之间的函数关系式C(x);所述第三获得单元用于根据所述第二获得单元获得的所述集群扩容系数与所述节点个数之间的函数关系式C(x)、所述源平台单节点的硬件性能S、所述源平台单节点的综合性能利用率δ、所述目标平台单节点的硬件性能T以及所述目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得所述目标平台所需要的节点的数目n。
在第二方面的第三种可能的实现方式中,所述确定模块具体用于所述利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述目标平台n个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总的数据容量大小除以所述n的商。
在第二方面的第四种可能的实现方式中,所述数据迁移模块包括:确定单元和数据迁移单元;所述确定单元用于确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据;所述数据迁移单元用于按照所述目标平台每个节点的数据存储空间的大小,将所述确定单元确定的所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到所述目标平台的n个节点上。
本发明的有益效果是:区别于现有技术的情况,本发明获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系统的N个节点对M个节点迁移场景。
附图说明
图1是本发明分布式应用系统在平台间迁移的实现方法一实施方式的流程图;
图2是本发明分布式应用系统在平台间迁移的实现方法的迁移效果示意图;
图3是本发明分布式应用系统在平台间迁移的实现方法另一实施方式的流程图;
图4是本发明分布式应用系统在平台间迁移的实现方法在Hadoop分布式应用系统中的应用示意图;
图5是本发明分布式应用系统在平台间迁移的实现装置一实施方式的结构示意图;
图6是本发明分布式应用系统在平台间迁移的实现装置另一实施方式的结构示意图;
图7是本发明分布式应用系统在平台间迁移的实现装置又一实施方式的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1,图1是本发明分布式应用系统在平台间迁移的实现方法一实施方式的流程图,包括:
步骤S101:获得目标平台所需要的节点的数目n,以使得目标平台n个节点的硬件能够负载源平台所有节点的业务。
源平台的节点即为分布式应用系统在迁移前的平台的节点,例如X86架构的机架或刀片服务器,或虚拟机等。X86架构服务器是指采用X86指令集的处理器集合,它采用复杂指令架构计算机(CISC,Complex Instruction Set Computer)指令集的处理器。
目标平台节点是指分布式应用系统在迁移后的平台的节点,例如ARM架构服务器或虚拟机,ARM架构服务器过去称作先进的精简指令集机器(Advanced RISC Machine),是一个32位元精简指令集(RISC)中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计中。
为了将源平台所有节点上的应用数据迁移到目标平台上,需要保证目标平台的所有节点的硬件能够负载源平台所有节点的业务。因此,根据源平台各个节点的硬件配置和源平台所有节点负载的业务情况,即可确定目标平台所需要的节点的数目n。
源平台硬件配置信息包括节点硬件的中央处理器CPU、内存、网络、硬盘等信息。获取源平台各个节点的硬件配置信息的方式可以通过手动的方式,也可以通过自动的方式,其中通过自动的方式可以是:迁移工具通过安全外壳协议SSH或远程登录协议TELNET或者其它方式建立与源平台和目标平台各节点的通信连接,从而可以获取源平台各个节点的硬件配置信息。当然通过这种自动的方式还可以获取源平台各个节点其它的信息和目标平台其它的信息。其中,迁移工具运行在终端上,与源平台各节点、目标平台各节点均处于同一网络中,可互相通信。
例如,源平台是N个节点,目标平台需要M个节点才可以与源平台的N个节点对应。
步骤S102:利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,其中,源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小。
目标平台各个节点的数据存储空间的大小是指各个节点所能接纳 的数据容量大小;源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小,如果目标平台n个节点的配置是完全一样的,那么源平台所有节点的总的数据容量大小平均到目标平台n个节点上,即为目标平台n个节点中每个节点的数据存储空间的大小;如果目标平台n个节点的配置不是完全一样的,那么可以根据具体配置情况为目标平台n个节点的每个节点合理分配数据存储空间的大小。
步骤S103:根据目标平台n个节点的硬件配置目标平台的操作系统,以使得目标平台的操作系统和目标平台n个节点的硬件匹配。
根据操作系统与硬件相匹配的原则,根据目标平台n个节点的硬件即可配置目标平台的操作系统。
在实际应用中,根据操作系统与硬件相匹配的原则,可以预先制作操作系统OS镜像映射表,给出操作系统与硬件配置之间的对应关系。例如,给出了x86架构与ARM架构的不同linux内核的OS版本对应关系。
步骤S104:根据源平台的分布式应用系统配置目标平台的分布式应用系统,以使得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内。
源平台的分布式应用系统包括应用软件安装文件、应用软件补丁、各个节点的应用配置参数等等。
分布式应用系统在源平台间迁移到目标平台,理想状态是分布式应用系统的应用环境不发生任何变化,但在实际应用中,这是很难做到了,并且也没有必要让目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的没有差异,只要该差异在可以接收的范围都是可以的。因此,根据源平台的分布式应用系统配置目标平台的分布式应用系统,只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内即可。
步骤S105:在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。
在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,即可将源平台上的应用数据分别迁移到目标平台的n个节点上。
参阅图2,图2是本发明分布式应用系统在平台间迁移的实现方法的迁移效果示意图。迁移工具11运行在终端上,与源服务器(源平台)12各节点、目标服务器(目标平台)13各节点均处于同一网络中,可互相通信。业务系统是分布式应用,数据分布在各个节点上,节点之间存在原始数据和备份数据的关系,源服务器12节点可以是X86架构的服务器或者虚拟机,目标服务器13节点为ARM架构的服务器或者虚拟机。分布式应用系统在源平台12上有N个节点服务器,迁移工具11通过对源平台12的N个节点硬件配置的收集,以及目标平台13节点的配置信息,规划出目标平台13为M个ARM架构服务器节点的集群规模;另外根据源平台12所有节点的总的数据容量大小,依据M个节点进行每个节点的数据存储空间的大小的划分,规划出目标平台13各节点的数据存储空间的大小,在配置好目标平台的操作系统和分布式应用系统后,最后完成业务数据迁移和同步,实现分布式应用系统从N个X86架构服务器节点到M个ARM架构服务器节点的整体迁移。
本发明实施方式获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系统的N个节点对M个节点迁移场景。
参阅图3,图3是本发明分布式应用系统在平台间迁移的实现方法另一实施方式的流程图,本实施方式和图1的实施方式基本相同,相同之处请参见图1以及相应的文字说明,不同之处请参见如下内容:
步骤S201:获得目标平台所需要的节点的数目n,以使得目标平台 n个节点的硬件能够负载源平台所有节点的业务。
源平台的节点即为分布式应用系统在迁移前的平台的节点,例如X86架构的机架或刀片服务器,或虚拟机等。X86架构服务器是指采用X86指令集的处理器集合,它采用复杂指令架构计算机(CISC,Complex Instruction Set Computer)指令集的处理器。
目标平台节点是指分布式应用系统在迁移后的平台的节点,例如ARM架构服务器或虚拟机,ARM架构服务器过去称作先进的精简指令集机器(Advanced RISC Machine),是一个32位元精简指令集(RISC)中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计中。
为了将源平台所有节点上的应用数据迁移到目标平台上,需要保证目标平台的所有节点的硬件能够负载源平台所有节点的业务。因此,根据源平台各个节点的硬件配置和源平台所有节点负载的业务情况,即可确定目标平台所需要的节点的数目n。
其中,步骤S201包括三个子步骤,分别是:
子步骤S201a:将源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义源平台的节点个数为m,m为不为零的自然数。
子步骤S201b:根据源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得集群扩容系数C与节点个数x之间的函数关系式C(x)。
子步骤S201c:根据集群扩容系数与节点个数之间的函数关系式C(x)、源平台单节点的硬件性能S、源平台单节点的综合性能利用率δ、目标平台单节点的硬件性能T以及目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得目标平台所需要的节点的数目n。
步骤S202:利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,其中,源平台所有节点 的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小。
目标平台各个节点的数据存储空间的大小是指各个节点所能接纳的数据容量大小;源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小,如果目标平台n个节点的配置是完全一样的,那么源平台所有节点的总的数据容量大小平均到目标平台n个节点上,即为目标平台n个节点中每个节点的数据存储空间的大小;如果目标平台n个节点的配置不是完全一样的,那么可以根据具体配置情况为目标平台n个节点的每个节点合理分配数据存储空间的大小。
其中,如果目标平台n个节点的配置是完全一样的,步骤S202具体为:利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,目标平台n个节点中每个节点的数据存储空间的大小等于源平台所有节点的总的数据容量大小除以n的商。
步骤S203:根据目标平台n个节点的硬件配置目标平台的操作系统,以使得目标平台的操作系统和目标平台n个节点的硬件匹配。
根据操作系统与硬件相匹配的原则,根据目标平台n个节点的硬件即可配置目标平台的操作系统。
在实际应用中,根据操作系统与硬件相匹配的原则,可以预先制作操作系统OS镜像映射表,给出操作系统与硬件配置之间的对应关系。例如,给出了x86架构与ARM架构的不同linux内核的OS版本对应关系。
步骤S204:根据源平台的分布式应用系统配置目标平台的分布式应用系统,以使得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内。
源平台的分布式应用系统包括应用软件安装文件、应用软件补丁、各个节点的应用配置参数等等。
分布式应用系统在源平台间迁移到目标平台,理想状态是分布式应用系统的应用环境不发生任何变化,但在实际应用中,这是很难做到了,并且也没有必要让目标平台的分布式应用系统的应用环境与源平台的 分布式应用系统的应用环境之间的没有差异,只要该差异在可以接收的范围都是可以的。因此,根据源平台的分布式应用系统配置目标平台的分布式应用系统,只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内即可。
步骤S205:在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。
在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,即可将源平台上的应用数据分别迁移到目标平台的n个节点上。
其中,步骤S205包括两个子步骤,内容如下:
子步骤S205a:确定源平台上所有节点的总的原始应用数据与总的备份应用数据。
在源平台上,有些节点上存放的是原始应用数据,有些节点上存放的原始应用数据的备份应用数据,确定了源平台上所有节点的总的原始应用数据与总的备份应用数据后,可以将总的原始应用数据迁移到目标平台一定数目的节点上,将总的备份应用数据迁移到另外一定数目的节点上,从而使得原始应用数据与备份应用数据之间的关系在迁移后依然很清楚明白。
子步骤S205b:按照目标平台每个节点的数据存储空间的大小,将源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到目标平台的n个节点上。
本发明实施方式获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系 统的N个节点对M个节点迁移场景。
下面以从在X86刀片服务器上的Hadoop分布式应用系统迁移到ARM架构服务器节点上为例进行说明,具体应用示意图如图4所示。
通过本发明的技术方案,可完成Hadoop应用系统从X86刀片服务器节点集群迁移到ARM服务器节点集群上,源平台有N个节点,迁移对象包括各个节点的操作系统、Hadoop应用系统、Hadoop应用数据,整体迁移步骤大致如下:
(1)迁移工具客户端与Hadoop应用系统源平台各节点和目标平台各节点处于同一局域网内,在迁移工具客户端上安装部署迁移工具,运行迁移工具。
(2)在迁移工具上输入源平台各节点OS的IP、root账号以及连接方式;同时输入目标平台节点的管理IP和管理账号,支持批量导入,通过SSH/TELNET协议建立与源平台和目标平台各节点的通信连接。
(3)通过迁移工具无代理(Agent)采集方式,收集源平台各节点的硬件配置信息、硬件性能数据、应用数据集合、应用系统配置信息等等;硬件配置信息包括CPU型号与数据、内存型号与数量、Disk型号与数量、Raid(磁盘冗余阵列)关系、网卡型号与数量、bond(绑定)关系;硬件性能数据包括各节点的CPU利用率、内存利用率等,以及各个节点业务承载量的数据信息等;数据集合包括各节点的数据容量、各个节点上存放的是原始应用数据还是备份应用数据;OS配置包括OS版本、系统补丁、主机名、文件系统、业务IP、基础软件包、补丁、信任主机、安全策略等信息;应用系统配置信息包括hadoop软件版本、补丁、应用配置参数等信息。
(3)迁移工具将源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义源平台的节点个数为m;根据源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得集群扩容系数C与节点个数x之间的函数关系式C(x);根据集群扩容系数与节点个数之间 的函数关系式C(x)、源平台单节点的硬件性能S、源平台单节点的综合性能利用率δ、目标平台单节点的硬件性能T以及目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得目标平台所需要的节点的数目n。
(4)迁移工具利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小。具体是:将源平台Hadoop应用业务负载停止,中断服务,停止数据更新。根据源平台节点间的存放的原始应用数据和备份应用数据,将N个节点的Hadoop数据按照原始应用数据和备份应用数据分别进行集中整合,获得总的原始应用数据的大小和总的备份应用数据的大小,然后针对迁移后的目标平台节点数量进行重新划分,计算出目标平台需要多少个节点存放总的原始应用数据和多少个节点存放总的备份应用数据,以及每个节点可以存放的数据存储空间的大小。
(5)通过对目标平台各个节点的硬件配置信息分析,生成目标平台M个节点的OS安装和配置脚本,并结合专家的干预调整,完成目标平台的OS环境搭建和OS配置。
(6)通过源平台N个节点的应用系统配置信息,生成目标平台M个节点的分布式应用软件安装和配置脚本,并结合专家的干预调整,配置目标平台的分布式应用系统,以使得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内。
(7)按照目标平台每个节点的数据存储空间的大小,将源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到目标平台的n个节点上,完成目标平台M个节点的数据同步迁移。
(8)专家介入切换M个目标平台的节点上的IP、域名、DNS和信任关系,调整和确认迁移后的Hadoop配置参数,启动目标平台Hadoop应用,并切换业务负载,完成系统整体迁移。
参阅图5,图5是本发明分布式应用系统在平台间迁移的实现装置一实施方式的结构示意图,该装置包括:获得模块101、确定模块102、 第一配置模块103、第二配置模块104以及数据迁移模块105。
需要说明的是,本实施方式的装置可以执行图1和图3中的步骤。
获得模块101用于获得目标平台所需要的节点的数目n,以使得目标平台n个节点的硬件能够负载源平台所有节点的业务。
源平台的节点即为分布式应用系统在迁移前的平台的节点,例如X86架构的机架或刀片服务器,或虚拟机等。X86架构服务器是指采用X86指令集的处理器集合,它采用复杂指令架构计算机指令集的处理器。
目标平台节点是指分布式应用系统在迁移后的平台的节点,例如ARM架构服务器或虚拟机,ARM架构服务器过去称作先进的精简指令集机器,是一个32位元精简指令集中央处理器架构,其广泛地使用在许多嵌入式系统设计中。
为了将源平台所有节点上的应用数据迁移到目标平台上,需要保证目标平台的所有节点的硬件能够负载源平台所有节点的业务。因此,根据源平台各个节点的硬件配置和源平台所有节点负载的业务情况,即可确定目标平台所需要的节点的数目n。
源平台硬件配置信息包括节点硬件的中央处理器CPU、内存、网络、硬盘等信息。获取源平台各个节点的硬件配置信息的方式可以通过手动的方式,也可以通过自动的方式,其中通过自动的方式可以是:迁移工具通过安全外壳协议SSH或远程登录协议TELNET或者其它方式建立与源平台和目标平台各节点的通信连接,从而可以获取源平台各个节点的硬件配置信息。当然通过这种自动的方式还可以获取源平台各个节点其它的信息和目标平台其它的信息。其中,迁移工具运行在终端上,与源平台各节点、目标平台各节点均处于同一网络中,可互相通信。
确定模块102用于在获得模块101获得目标平台所需要的节点的数目n后,利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,其中,源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小。
目标平台各个节点的数据存储空间的大小是指各个节点所能接纳的数据容量大小;源平台所有节点的总的数据容量大小等于目标平台n 个节点总的数据存储空间的大小,如果目标平台n个节点的配置是完全一样的,那么源平台所有节点的总的数据容量大小平均到目标平台n个节点上,即为目标平台n个节点中每个节点的数据存储空间的大小;如果目标平台n个节点的配置不是完全一样的,那么可以根据具体配置情况为目标平台n个节点的每个节点合理分配数据存储空间的大小。
第一配置模块103用于根据目标平台n个节点的硬件配置目标平台的操作系统,以使得目标平台的操作系统和目标平台n个节点的硬件匹配。
根据操作系统与硬件相匹配的原则,根据目标平台n个节点的硬件即可配置目标平台的操作系统。
在实际应用中,根据操作系统与硬件相匹配的原则,可以预先制作操作系统OS镜像映射表,给出操作系统与硬件配置之间的对应关系。例如,给出了x86架构与ARM架构的不同linux内核的OS版本对应关系。
第二配置模块104用于根据源平台的分布式应用系统配置目标平台的分布式应用系统,以使得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内。
源平台的分布式应用系统包括应用软件安装文件、应用软件补丁、各个节点的应用配置参数等等。
分布式应用系统在源平台间迁移到目标平台,理想状态是分布式应用系统的应用环境不发生任何变化,但在实际应用中,这是很难做到了,并且也没有必要让目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的没有差异,只要该差异在可以接收的范围都是可以的。因此,根据源平台的分布式应用系统配置目标平台的分布式应用系统,只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内即可。
数据迁移模块105在第一配置模块103和第二配置模块104分别配置好目标平台的操作系统和分布式应用系统后,按照确定模块102确定的目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分 别迁移到目标平台的n个节点上。
在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,即可将源平台上的应用数据分别迁移到目标平台的n个节点上。
本发明实施方式获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系统的N个节点对M个节点迁移场景。
参阅图6,图6是本发明分布式应用系统在平台间迁移的实现装置另一实施方式的结构示意图,本实施方式和图5的实施方式基本相同,相同之处请参见图5和相应的文字说明,不同之处请参见下面的内容。
该装置包括:获得模块201、确定模块202、第一配置模块203、第二配置模块204以及数据迁移模块205。
需要说明的是,本实施方式的装置可以执行图3中的步骤。
获得模块201用于获得目标平台所需要的节点的数目n,以使得目标平台n个节点的硬件能够负载源平台所有节点的业务。
源平台的节点即为分布式应用系统在迁移前的平台的节点,例如X86架构的机架或刀片服务器,或虚拟机等。X86架构服务器是指采用X86指令集的处理器集合,它采用复杂指令架构计算机指令集的处理器。
目标平台节点是指分布式应用系统在迁移后的平台的节点,例如ARM架构服务器或虚拟机,ARM架构服务器过去称作先进的精简指令集机器,是一个32位元精简指令集中央处理器架构,其广泛地使用在许多嵌入式系统设计中。
为了将源平台所有节点上的应用数据迁移到目标平台上,需要保证目标平台的所有节点的硬件能够负载源平台所有节点的业务。因此,根 据源平台各个节点的硬件配置和源平台所有节点负载的业务情况,即可确定目标平台所需要的节点的数目n。
其中,获得模块201包括:第一获得单元2011、第二获得单元2012以及第三获得单元2013。
第一获得单元2011用于将源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义源平台的节点个数为m,m为不为零的自然数。
第二获得单元2012用于根据第一获得单元获得的源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得集群扩容系数C与节点个数x之间的函数关系式C(x)。
第三获得单元2013用于根据第二获得单元获得的集群扩容系数与节点个数之间的函数关系式C(x)、源平台单节点的硬件性能S、源平台单节点的综合性能利用率δ、目标平台单节点的硬件性能T以及目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得目标平台所需要的节点的数目n。
确定模块202用于在获得模块201获得目标平台所需要的节点的数目n后,利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,其中,源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小。
目标平台各个节点的数据存储空间的大小是指各个节点所能接纳的数据容量大小;源平台所有节点的总的数据容量大小等于目标平台n个节点总的数据存储空间的大小,如果目标平台n个节点的配置是完全一样的,那么源平台所有节点的总的数据容量大小平均到目标平台n个节点上,即为目标平台n个节点中每个节点的数据存储空间的大小;如果目标平台n个节点的配置不是完全一样的,那么可以根据具体配置情况为目标平台n个节点的每个节点合理分配数据存储空间的大小。
其中,如果目标平台n个节点的配置是完全一样的,那么确定模块 202具体用于利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小,其中,目标平台n个节点中每个节点的数据存储空间的大小等于源平台所有节点的总的数据容量大小除以n的商。
第一配置模块203用于根据目标平台n个节点的硬件配置目标平台的操作系统,以使得目标平台的操作系统和目标平台n个节点的硬件匹配。
根据操作系统与硬件相匹配的原则,根据目标平台n个节点的硬件即可配置目标平台的操作系统。
在实际应用中,根据操作系统与硬件相匹配的原则,可以预先制作操作系统OS镜像映射表,给出操作系统与硬件配置之间的对应关系。例如,给出了x86架构与ARM架构的不同linux内核的OS版本对应关系。
第二配置模块204用于根据源平台的分布式应用系统配置目标平台的分布式应用系统,以使得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内。
源平台的分布式应用系统包括应用软件安装文件、应用软件补丁、各个节点的应用配置参数等等。
分布式应用系统在源平台间迁移到目标平台,理想状态是分布式应用系统的应用环境不发生任何变化,但在实际应用中,这是很难做到了,并且也没有必要让目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的没有差异,只要该差异在可以接收的范围都是可以的。因此,根据源平台的分布式应用系统配置目标平台的分布式应用系统,只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的差异在预定范围内即可。
数据迁移模块205在第一配置模块203和第二配置模块204分别配置好目标平台的操作系统和分布式应用系统后,按照确定模块202确定的目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。
在配置好目标平台的操作系统和分布式应用系统后,按照目标平台每个节点的数据存储空间的大小,即可将源平台上的应用数据分别迁移到目标平台的n个节点上。
其中,数据迁移模块205包括:确定单元2051和数据迁移单元2052。
确定单元2051用于确定源平台上所有节点的总的原始应用数据与总的备份应用数据。
在源平台上,有些节点上存放的是原始应用数据,有些节点上存放的原始应用数据的备份应用数据,确定了源平台上所有节点的总的原始应用数据与总的备份应用数据后,可以将总的原始应用数据迁移到目标平台一定数目的节点上,将总的备份应用数据迁移到另外一定数目的节点上,从而使得原始应用数据与备份应用数据之间的关系在迁移后依然很清楚明白。
数据迁移单元2052用于按照目标平台每个节点的数据存储空间的大小,将确定单元2051确定的源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到目标平台的n个节点上。
本发明实施方式获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系统的N个节点对M个节点迁移场景。
参阅图7,图7是本发明分布式应用系统在平台间迁移的实现装置又一实施方式的结构示意图,该装置包括:处理器71、与所述处理器71偶联的存储器72、迁移引擎73以及数据总线74,其中,存储器72以及迁移引擎73通过数据总线74与处理器71连接。
处理器72用于获得目标平台所需要的节点的数目n,以使得所述目标平台n个节点的硬件能够负载源平台所有节点的业务;利用所述源平 台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述源平台所有节点的总的数据容量大小等于所述目标平台n个节点总的数据存储空间的大小;根据所述目标平台n个节点的硬件控制迁移引擎73配置所述目标平台的操作系统,以使得所述目标平台的操作系统和所述目标平台n个节点的硬件匹配;根据所述源平台的分布式应用系统控制迁移引擎73配置所述目标平台的分布式应用系统,以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间的差异在预定范围内;在配置好所述目标平台的操作系统和分布式应用系统后,按照所述目标平台每个节点的数据存储空间的大小,控制迁移引擎73将所述源平台上的应用数据分别迁移到所述目标平台的n个节点上。
其中,所述源平台节点是X86架构服务器或虚拟机,所述目标平台节点是先进的精简指令集计算机设备ARM架构服务器或虚拟机。
其中,所述处理器72还用于将所述源平台一个节点、两个节点、…、m-1个节点、m个节点实测的业务承载量P1、P2、…、Pm-1、Pm除以理论的业务承载量Q1、Q2、…、Qm-1、Qm,获得所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,其中,Cm=Pm/Qm,定义所述源平台的节点个数为m,所述m为不为零的自然数;根据所述源平台对应的集群扩容系数C1、C2、…、Cm-1、Cm,获得所述集群扩容系数C与所述节点个数x之间的函数关系式C(x);根据所述集群扩容系数与所述节点个数之间的函数关系式C(x)、所述源平台单节点的硬件性能S、所述源平台单节点的综合性能利用率δ、所述目标平台单节点的硬件性能T以及所述目标平台性能资源预留量ρ,通过应用业务负载平衡算法S*δ*Cm=T*(1-ρ)*C(x),获得所述目标平台所需要的节点的数目n。
处理器72还用于利用所述源平台所有节点的总的数据容量大小,确定所述目标平台n个节点中每个节点的数据存储空间的大小,其中,所述目标平台n个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总的数据容量大小除以所述n的商。
处理器72还用于确定所述源平台上所有节点的总的原始应用数据 与总的备份应用数据;按照所述目标平台每个节点的数据存储空间的大小,控制迁移引擎73将所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移到所述目标平台的n个节点上。
本发明实施方式获得目标平台所需要的节点的数目n;利用源平台所有节点的总的数据容量大小,确定目标平台n个节点中每个节点的数据存储空间的大小;根据目标平台n个节点的硬件配置目标平台的操作系统;根据源平台的分布式应用系统配置目标平台的分布式应用系统;按照目标平台每个节点的数据存储空间的大小,将源平台上的应用数据分别迁移到目标平台的n个节点上。通过这种方式,可以支持从传统X86架构服务器到ARM架构服务器的迁移;也可以支持分布式应用系统的N个节点对M个节点迁移场景。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样 的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

分布式应用系统在平台间迁移的实现方法及装置.pdf_第1页
第1页 / 共23页
分布式应用系统在平台间迁移的实现方法及装置.pdf_第2页
第2页 / 共23页
分布式应用系统在平台间迁移的实现方法及装置.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《分布式应用系统在平台间迁移的实现方法及装置.pdf》由会员分享,可在线阅读,更多相关《分布式应用系统在平台间迁移的实现方法及装置.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103577122 A (43)申请公布日 2014.02.12 CN 103577122 A (21)申请号 201310547871.0 (22)申请日 2013.11.06 G06F 3/06(2006.01) G06F 9/30(2006.01) H04L 29/08(2006.01) (71)申请人 杭州华为数字技术有限公司 地址 310052 浙江省杭州市滨江区滨兴路 301 号 3 幢 A 楼 301 室 (72)发明人 蔡毅 池金燕 (74)专利代理机构 深圳市威世博知识产权代理 事务所 ( 普通合伙 ) 44280 代理人 何青瓦 (54) 发明名称。

2、 分布式应用系统在平台间迁移的实现方法及 装置 (57) 摘要 本发明公开了一种分布式应用系统在平台间 迁移的实现方法及装置, 方法包括 : 获得目标平 台所需要的节点的数目 n ; 利用源平台所有节点 的总的数据容量大小, 确定目标平台 n 个节点中 每个节点的数据存储空间的大小 ; 根据目标平台 n 个节点的硬件配置目标平台的操作系统 ; 根据 源平台的分布式应用系统配置目标平台的分布式 应用系统 ; 在配置好目标平台的操作系统和分布 式应用系统后, 按照目标平台每个节点的数据存 储空间的大小, 将源平台上的应用数据分别迁移 到目标平台的n个节点上。 通过上述方式, 本发明 能够支持从传统。

3、 X86 架构服务器到 ARM 架构服务 器的迁移, 支持分布式应用系统的N个节点对M个 节点迁移场景。 (51)Int.Cl. 权利要求书 3 页 说明书 14 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书14页 附图5页 (10)申请公布号 CN 103577122 A CN 103577122 A 1/3 页 2 1. 一种分布式应用系统在平台间迁移的实现方法, 其特征在于, 包括 : 获得目标平台所需要的节点的数目 n, 以使得所述目标平台 n 个节点的硬件能够负载 源平台所有节点的业务 ; 利用所述源平台所有节点的总的数据容量大。

4、小, 确定所述目标平台 n 个节点中每个节 点的数据存储空间的大小, 其中, 所述源平台所有节点的总的数据容量大小等于所述目标 平台 n 个节点总的数据存储空间的大小 ; 根据所述目标平台 n 个节点的硬件配置所述目标平台的操作系统, 以使得所述目标平 台的操作系统和所述目标平台 n 个节点的硬件匹配 ; 根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统, 以使得所述 目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环境之间 的差异在预定范围内 ; 在配置好所述目标平台的操作系统和分布式应用系统后, 按照所述目标平台每个节点 的数据存储空间的大小, 将所述源平。

5、台上的应用数据分别迁移到所述目标平台的 n 个节点 上。 2.根据权利要求1所述的方法, 其特征在于, 所述源平台节点是X86架构服务器或虚拟 机, 所述目标平台节点是先进的精简指令集计算机设备 ARM 架构服务器或虚拟机。 3.根据权利要求1所述的方法, 其特征在于, 所述获得目标平台所需要的节点的数目n 的步骤, 包括 : 将所述源平台一个节点、 两个节点、 m-1 个节点、 m 个节点实测的业务承载量 P1、 P2、 Pm-1、 Pm除以理论的业务承载量 Q1、 Q2、 Qm-1、 Qm, 获得所述源平台对应的集群扩容 系数 C1、 C2、 Cm-1、 Cm, 其中, Cm=Pm/Qm,。

6、 定义所述源平台的节点个数为 m, 所述 m 为不为零的 自然数 ; 根据所述源平台对应的集群扩容系数 C1、 C2、 Cm-1、 Cm, 获得所述集群扩容系数 C 与 所述节点个数 x 之间的函数关系式 C(x) ; 根据所述集群扩容系数与所述节点个数之间的函数关系式 C(x) 、 所述源平台单节点 的硬件性能 S、 所述源平台单节点的综合性能利用率 、 所述目标平台单节点的硬件性能 T 以及所述目标平台性能资源预留量 , 通过应用业务负载平衡算法 S*Cm=T*(1-) *C (x) , 获得所述目标平台所需要的节点的数目 n。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述利用。

7、所述源平台所有节点的总的数 据容量大小, 确定所述目标平台 n 个节点中每个节点的数据存储空间的大小的步骤, 包括 : 所述目标平台 n 个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总 的数据容量大小除以所述 n 的商。 5. 根据权利要求 1 所述的方法, 其特征在于, 所述按照所述目标平台每个节点的数据 存储空间的大小, 将所述源平台上的应用数据分别迁移到所述目标平台的 n 个节点上的步 骤, 包括 : 确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据 ; 按照所述目标平台每个节点的数据存储空间的大小, 将所述源平台上所有节点的总的 原始应用数据与总的备份应用数。

8、据分别迁移到所述目标平台的 n 个节点上。 6. 一种分布式应用系统在平台间迁移的实现装置, 其特征在于, 所述装置包括 : 获得 权 利 要 求 书 CN 103577122 A 2 2/3 页 3 模块、 确定模块、 第一配置模块、 第二配置模块以及数据迁移模块 ; 所述获得模块用于获得目标平台所需要的节点的数目 n, 以使得所述目标平台 n 个节 点的硬件能够负载源平台所有节点的业务 ; 所述确定模块用于在所述获得模块获得目标平台所需要的节点的数目 n 后, 利用所述 源平台所有节点的总的数据容量大小, 确定所述目标平台 n 个节点中每个节点的数据存储 空间的大小, 其中, 所述源平台所。

9、有节点的总的数据容量大小等于所述目标平台 n 个节点 总的数据存储空间的大小 ; 所述第一配置模块用于根据所述目标平台 n 个节点的硬件配置所述目标平台的操作 系统, 以使得所述目标平台的操作系统和所述目标平台 n 个节点的硬件匹配 ; 所述第二配置模块用于根据所述源平台的分布式应用系统配置所述目标平台的分布 式应用系统, 以使得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应 用系统的应用环境之间的差异在预定范围内 ; 所述数据迁移模块在所述第一配置模块和第二配置模块分别配置好所述目标平台的 操作系统和分布式应用系统后, 按照所述目标平台每个节点的数据存储空间的大小, 将所 述源。

10、平台上的应用数据分别迁移到所述目标平台的 n 个节点上。 7.根据权利要求6所述的装置, 其特征在于, 所述源平台节点是X86架构服务器或虚拟 机, 所述目标平台节点是先进的精简指令集计算机设备 ARM 架构服务器或虚拟机。 8. 根据权利要求 6 所述的装置, 其特征在于, 所述获得模块包括 : 第一获得单元、 第二 获得单元以及第三获得单元 ; 所述第一获得单元用于将所述源平台一个节点、 两个节点、 、 m-1 个节点、 m 个节点实 测的业务承载量 P1、 P2、 Pm-1、 Pm除以理论的业务承载量 Q1、 Q2、 Qm-1、 Qm, 获得所述源 平台对应的集群扩容系数 C1、 C2、。

11、 Cm-1、 Cm, 其中, Cm=Pm/Qm, 定义所述源平台的节点个数为 m, 所述 m 为不为零的自然数 ; 所述第二获得单元用于根据所述第一获得单元获得的所述源平台对应的集群扩容系 数 C1、 C2、 、 Cm-1、 Cm, 获得所述集群扩容系数 C 与所述节点个数 x 之间的函数关系式 C(x) ; 所述第三获得单元用于根据所述第二获得单元获得的所述集群扩容系数与所述节点 个数之间的函数关系式 C(x) 、 所述源平台单节点的硬件性能 S、 所述源平台单节点的综合 性能利用率 、 所述目标平台单节点的硬件性能 T 以及所述目标平台性能资源预留量 , 通过应用业务负载平衡算法 S*Cm。

12、=T*(1-) *C(x) , 获得所述目标平台所需要的节点 的数目 n。 9. 根据权利要求 6 所述的装置, 其特征在于, 所述确定模块具体用于所述利用所述源 平台所有节点的总的数据容量大小, 确定所述目标平台 n 个节点中每个节点的数据存储空 间的大小, 其中, 所述目标平台 n 个节点中每个节点的数据存储空间的大小等于所述源平 台所有节点的总的数据容量大小除以所述 n 的商。 10. 根据权利要求 6 所述的装置, 其特征在于, 所述数据迁移模块包括 : 确定单元和数 据迁移单元 ; 所述确定单元用于确定所述源平台上所有节点的总的原始应用数据与总的备份应用 数据 ; 所述数据迁移单元用。

13、于按照所述目标平台每个节点的数据存储空间的大小, 将所述确 权 利 要 求 书 CN 103577122 A 3 3/3 页 4 定单元确定的所述源平台上所有节点的总的原始应用数据与总的备份应用数据分别迁移 到所述目标平台的 n 个节点上。 权 利 要 求 书 CN 103577122 A 4 1/14 页 5 分布式应用系统在平台间迁移的实现方法及装置 技术领域 0001 本发明涉及计算机技术领域, 特别是涉及一种分布式应用系统在平台间迁移的实 现方法及装置。 背景技术 0002 在目前 IT 市场中, 传统的服务器硬件提供商已经难以影响客户选型, 新产品的面 世更多依靠整体解决方案和咨询服。

14、务推动市场应用, 同时催生增值价值和利润, 客户应用 迁移服务就是其中的一个关键。既要保证客户应用系统的平滑迁移, 也要减小客户迁移风 险和工作量, 才能降低客户总体拥有成本 TCO, 赢得客户的满意度和使用意愿。 0003 IBM 系统服务迁移技术包括以下步骤 : 应用系统在源平台运行过程中时, 发现应 用系统所直接依赖的系统服务 ; 由源平台上的系统服务之间的依赖关系模型以及所述发现 的应用系统所直接依赖的系统服务, 获得应用系统所间接依赖的系统服务 ; 发现应用系统 所直接和间接依赖的系统服务的配置 ; 根据应用系统所直接和间接依赖的系统服务及其 配置在源平台与目标平台之间的映射关系, 。

15、将源平台上应用系统所直接和间接依赖的系统 服务及其配置映射为用于目标平台的、 应用系统所直接和间接依赖的系统服务及其配置 ; 将所述用于目标平台的、 应用系统所直接和间接依赖的系统服务及其配置设置到目标平台 上, 从而实现应用系统所依赖的系统环境从源平台到目标平台的迁移。 0004 本申请的发明人在长期的研发中发现, 上述现有技术不支持从传统 X86 架构服务 器到 ARM 架构服务器的迁移 ; 无法支持分布式应用系统的 N 个节点对 M 个节点迁移场景。 发明内容 0005 本发明主要解决的技术问题是提供一种分布式应用系统在平台间迁移的实现方 法及装置, 能够支持从传统X86架构服务器到AR。

16、M架构服务器的迁移, 支持分布式应用系统 的 N 个节点对 M 个节点迁移场景。 0006 第一方面, 本发明提供一种分布式应用系统在平台间迁移的实现方法, 包括 : 获得 目标平台所需要的节点的数目 n, 以使得所述目标平台 n 个节点的硬件能够负载源平台所 有节点的业务 ; 利用所述源平台所有节点的总的数据容量大小, 确定所述目标平台 n 个节 点中每个节点的数据存储空间的大小, 其中, 所述源平台所有节点的总的数据容量大小等 于所述目标平台 n 个节点总的数据存储空间的大小 ; 根据所述目标平台 n 个节点的硬件配 置所述目标平台的操作系统, 以使得所述目标平台的操作系统和所述目标平台 。

17、n 个节点的 硬件匹配 ; 根据所述源平台的分布式应用系统配置所述目标平台的分布式应用系统, 以使 得所述目标平台的分布式应用系统的应用环境与所述源平台的分布式应用系统的应用环 境之间的差异在预定范围内 ; 在配置好所述目标平台的操作系统和分布式应用系统后, 按 照所述目标平台每个节点的数据存储空间的大小, 将所述源平台上的应用数据分别迁移到 所述目标平台的 n 个节点上。 0007 在第一方面的第一种可能的实现方式中, 所述源平台节点是 X86 架构服务器或虚 说 明 书 CN 103577122 A 5 2/14 页 6 拟机, 所述目标平台节点是先进的精简指令集计算机设备 ARM 架构服。

18、务器或虚拟机。 0008 在第一方面的第二种可能的实现方式中, 所述获得目标平台所需要的节点的数目 n 的步骤, 包括 : 将所述源平台一个节点、 两个节点、 m-1 个节点、 m 个节点实测的业务承 载量 P1、 P2、 Pm-1、 Pm除以理论的业务承载量 Q1、 Q2、 Qm-1、 Qm, 获得所述源平台对应的 集群扩容系数 C1、 C2、 Cm-1、 Cm, 其中, Cm=Pm/Qm, 定义所述源平台的节点个数为 m, 所述 m 为 不为零的自然数 ; 根据所述源平台对应的集群扩容系数 C1、 C2、 Cm-1、 Cm, 获得所述集群扩 容系数 C 与所述节点个数 x 之间的函数关系式。

19、 C(x) ; 根据所述集群扩容系数与所述节点 个数之间的函数关系式 C(x) 、 所述源平台单节点的硬件性能 S、 所述源平台单节点的综合 性能利用率 、 所述目标平台单节点的硬件性能 T 以及所述目标平台性能资源预留量 , 通过应用业务负载平衡算法 S*Cm=T*(1-) *C(x) , 获得所述目标平台所需要的节点 的数目 n。 0009 在第一方面的第三种可能的实现方式中, 所述利用所述源平台所有节点的总的数 据容量大小, 确定所述目标平台 n 个节点中每个节点的数据存储空间的大小的步骤, 包括 : 所述目标平台 n 个节点中每个节点的数据存储空间的大小等于所述源平台所有节点的总 的数。

20、据容量大小除以所述 n 的商。 0010 在第一方面的第四种可能的实现方式中, 所述按照所述目标平台每个节点的数据 存储空间的大小, 将所述源平台上的应用数据分别迁移到所述目标平台的 n 个节点上的步 骤, 包括 : 确定所述源平台上所有节点的总的原始应用数据与总的备份应用数据 ; 按照所 述目标平台每个节点的数据存储空间的大小, 将所述源平台上所有节点的总的原始应用数 据与总的备份应用数据分别迁移到所述目标平台的 n 个节点上。 0011 第二发明, 本发明提供一种分布式应用系统在平台间迁移的实现装置, 所述装置 包括 : 获得模块、 确定模块、 第一配置模块、 第二配置模块以及数据迁移模块。

21、 ; 所述获得模 块用于获得目标平台所需要的节点的数目 n, 以使得所述目标平台 n 个节点的硬件能够负 载源平台所有节点的业务 ; 所述确定模块用于在所述获得模块获得目标平台所需要的节点 的数目n后, 利用所述源平台所有节点的总的数据容量大小, 确定所述目标平台n个节点中 每个节点的数据存储空间的大小, 其中, 所述源平台所有节点的总的数据容量大小等于所 述目标平台 n 个节点总的数据存储空间的大小 ; 所述第一配置模块用于根据所述目标平台 n 个节点的硬件配置所述目标平台的操作系统, 以使得所述目标平台的操作系统和所述目 标平台 n 个节点的硬件匹配 ; 所述第二配置模块用于根据所述源平台。

22、的分布式应用系统配 置所述目标平台的分布式应用系统, 以使得所述目标平台的分布式应用系统的应用环境与 所述源平台的分布式应用系统的应用环境之间的差异在预定范围内 ; 所述数据迁移模块在 所述第一配置模块和第二配置模块分别配置好所述目标平台的操作系统和分布式应用系 统后, 按照所述目标平台每个节点的数据存储空间的大小, 将所述源平台上的应用数据分 别迁移到所述目标平台的 n 个节点上。 0012 在第二方面的第一种可能的实现方式中, 所述源平台节点是 X86 架构服务器或虚 拟机, 所述目标平台节点是先进的精简指令集计算机设备 ARM 架构服务器或虚拟机。 0013 在第二方面的第二种可能的实现。

23、方式中, 所述获得模块包括 : 第一获得单元、 第 二获得单元以及第三获得单元 ; 所述第一获得单元用于将所述源平台一个节点、 两个节 点、 m-1 个节点、 m 个节点实测的业务承载量 P1、 P2、 Pm-1、 Pm除以理论的业务承载量 说 明 书 CN 103577122 A 6 3/14 页 7 Q1、 Q2、 Qm-1、 Qm, 获得所述源平台对应的集群扩容系数 C1、 C2、 Cm-1、 Cm, 其中, Cm=Pm/Qm, 定义所述源平台的节点个数为 m, 所述 m 为不为零的自然数 ; 所述第二获得单元用于根据所 述第一获得单元获得的所述源平台对应的集群扩容系数 C1、 C2、 。

24、Cm-1、 Cm, 获得所述集群 扩容系数 C 与所述节点个数 x 之间的函数关系式 C(x) ; 所述第三获得单元用于根据所述 第二获得单元获得的所述集群扩容系数与所述节点个数之间的函数关系式 C (x) 、 所述源平 台单节点的硬件性能 S、 所述源平台单节点的综合性能利用率 、 所述目标平台单节点的 硬件性能 T 以及所述目标平台性能资源预留量 , 通过应用业务负载平衡算法 S*Cm=T* (1-) *C(x) , 获得所述目标平台所需要的节点的数目 n。 0014 在第二方面的第三种可能的实现方式中, 所述确定模块具体用于所述利用所述源 平台所有节点的总的数据容量大小, 确定所述目标平。

25、台 n 个节点中每个节点的数据存储空 间的大小, 其中, 所述目标平台 n 个节点中每个节点的数据存储空间的大小等于所述源平 台所有节点的总的数据容量大小除以所述 n 的商。 0015 在第二方面的第四种可能的实现方式中, 所述数据迁移模块包括 : 确定单元和数 据迁移单元 ; 所述确定单元用于确定所述源平台上所有节点的总的原始应用数据与总的备 份应用数据 ; 所述数据迁移单元用于按照所述目标平台每个节点的数据存储空间的大小, 将所述确定单元确定的所述源平台上所有节点的总的原始应用数据与总的备份应用数据 分别迁移到所述目标平台的 n 个节点上。 0016 本发明的有益效果是 : 区别于现有技术。

26、的情况, 本发明获得目标平台所需要的节 点的数目 n ; 利用源平台所有节点的总的数据容量大小, 确定目标平台 n 个节点中每个节点 的数据存储空间的大小 ; 根据目标平台 n 个节点的硬件配置目标平台的操作系统 ; 根据源 平台的分布式应用系统配置目标平台的分布式应用系统 ; 按照目标平台每个节点的数据存 储空间的大小, 将源平台上的应用数据分别迁移到目标平台的 n 个节点上。通过这种方式, 可以支持从传统 X86 架构服务器到 ARM 架构服务器的迁移 ; 也可以支持分布式应用系统的 N 个节点对 M 个节点迁移场景。 附图说明 0017 图 1 是本发明分布式应用系统在平台间迁移的实现方。

27、法一实施方式的流程图 ; 0018 图 2 是本发明分布式应用系统在平台间迁移的实现方法的迁移效果示意图 ; 0019 图 3 是本发明分布式应用系统在平台间迁移的实现方法另一实施方式的流程图 ; 0020 图 4 是本发明分布式应用系统在平台间迁移的实现方法在 Hadoop 分布式应用系 统中的应用示意图 ; 0021 图 5 是本发明分布式应用系统在平台间迁移的实现装置一实施方式的结构示意 图 ; 0022 图 6 是本发明分布式应用系统在平台间迁移的实现装置另一实施方式的结构示 意图 ; 0023 图 7 是本发明分布式应用系统在平台间迁移的实现装置又一实施方式的结构示 意图。 具体实施。

28、方式 说 明 书 CN 103577122 A 7 4/14 页 8 0024 下面结合附图和实施方式对本发明进行详细说明。 0025 参阅图 1, 图 1 是本发明分布式应用系统在平台间迁移的实现方法一实施方式的 流程图, 包括 : 0026 步骤S101 : 获得目标平台所需要的节点的数目n, 以使得目标平台n个节点的硬件 能够负载源平台所有节点的业务。 0027 源平台的节点即为分布式应用系统在迁移前的平台的节点, 例如 X86 架构的机架 或刀片服务器, 或虚拟机等。X86 架构服务器是指采用 X86 指令集的处理器集合, 它采用复 杂指令架构计算机 (CISC, Complex In。

29、struction Set Computer) 指令集的处理器。 0028 目标平台节点是指分布式应用系统在迁移后的平台的节点, 例如 ARM 架构服务器 或虚拟机, ARM 架构服务器过去称作先进的精简指令集机器 (Advanced RISC Machine) , 是 一个 32 位元精简指令集 (RISC) 中央处理器 (processor) 架构, 其广泛地使用在许多嵌入式 系统 (embedded) 设计中。 0029 为了将源平台所有节点上的应用数据迁移到目标平台上, 需要保证目标平台的所 有节点的硬件能够负载源平台所有节点的业务。因此, 根据源平台各个节点的硬件配置和 源平台所有节。

30、点负载的业务情况, 即可确定目标平台所需要的节点的数目 n。 0030 源平台硬件配置信息包括节点硬件的中央处理器CPU、 内存、 网络、 硬盘等信息。 获 取源平台各个节点的硬件配置信息的方式可以通过手动的方式, 也可以通过自动的方式, 其中通过自动的方式可以是 : 迁移工具通过安全外壳协议SSH或远程登录协议TELNET或者 其它方式建立与源平台和目标平台各节点的通信连接, 从而可以获取源平台各个节点的硬 件配置信息。 当然通过这种自动的方式还可以获取源平台各个节点其它的信息和目标平台 其它的信息。其中, 迁移工具运行在终端上, 与源平台各节点、 目标平台各节点均处于同一 网络中, 可互相。

31、通信。 0031 例如, 源平台是 N 个节点, 目标平台需要 M 个节点才可以与源平台的 N 个节点对 应。 0032 步骤 S102 : 利用源平台所有节点的总的数据容量大小, 确定目标平台 n 个节点中 每个节点的数据存储空间的大小, 其中, 源平台所有节点的总的数据容量大小等于目标平 台 n 个节点总的数据存储空间的大小。 0033 目标平台各个节点的数据存储空间的大小是指各个节点所能接纳的数据容量大 小 ; 源平台所有节点的总的数据容量大小等于目标平台 n 个节点总的数据存储空间的大 小, 如果目标平台 n 个节点的配置是完全一样的, 那么源平台所有节点的总的数据容量大 小平均到目标。

32、平台n个节点上, 即为目标平台n个节点中每个节点的数据存储空间的大小 ; 如果目标平台 n 个节点的配置不是完全一样的, 那么可以根据具体配置情况为目标平台 n 个节点的每个节点合理分配数据存储空间的大小。 0034 步骤 S103 : 根据目标平台 n 个节点的硬件配置目标平台的操作系统, 以使得目标 平台的操作系统和目标平台 n 个节点的硬件匹配。 0035 根据操作系统与硬件相匹配的原则, 根据目标平台 n 个节点的硬件即可配置目标 平台的操作系统。 0036 在实际应用中, 根据操作系统与硬件相匹配的原则, 可以预先制作操作系统 OS 镜 像映射表, 给出操作系统与硬件配置之间的对应关。

33、系。例如, 给出了 x86 架构与 ARM 架构的 说 明 书 CN 103577122 A 8 5/14 页 9 不同 linux 内核的 OS 版本对应关系。 0037 步骤 S104 : 根据源平台的分布式应用系统配置目标平台的分布式应用系统, 以使 得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的 差异在预定范围内。 0038 源平台的分布式应用系统包括应用软件安装文件、 应用软件补丁、 各个节点的应 用配置参数等等。 0039 分布式应用系统在源平台间迁移到目标平台, 理想状态是分布式应用系统的应用 环境不发生任何变化, 但在实际应用中, 这是很难做到了,。

34、 并且也没有必要让目标平台的分 布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的没有差异, 只要该 差异在可以接收的范围都是可以的。因此, 根据源平台的分布式应用系统配置目标平台的 分布式应用系统, 只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统 的应用环境之间的差异在预定范围内即可。 0040 步骤 S105 : 在配置好目标平台的操作系统和分布式应用系统后, 按照目标平台每 个节点的数据存储空间的大小, 将源平台上的应用数据分别迁移到目标平台的 n 个节点 上。 0041 在配置好目标平台的操作系统和分布式应用系统后, 按照目标平台每个节点的数 据存储空间的大。

35、小, 即可将源平台上的应用数据分别迁移到目标平台的 n 个节点上。 0042 参阅图 2, 图 2 是本发明分布式应用系统在平台间迁移的实现方法的迁移效果示 意图。迁移工具 11 运行在终端上, 与源服务器 (源平台) 12 各节点、 目标服务器 (目标平台) 13 各节点均处于同一网络中, 可互相通信。业务系统是分布式应用, 数据分布在各个节点 上, 节点之间存在原始数据和备份数据的关系, 源服务器 12 节点可以是 X86 架构的服务器 或者虚拟机, 目标服务器 13 节点为 ARM 架构的服务器或者虚拟机。分布式应用系统在源平 台12上有N个节点服务器, 迁移工具11通过对源平台12的N。

36、个节点硬件配置的收集, 以及 目标平台 13 节点的配置信息, 规划出目标平台 13 为 M 个 ARM 架构服务器节点的集群规模 ; 另外根据源平台12所有节点的总的数据容量大小, 依据M个节点进行每个节点的数据存储 空间的大小的划分, 规划出目标平台 13 各节点的数据存储空间的大小, 在配置好目标平台 的操作系统和分布式应用系统后, 最后完成业务数据迁移和同步, 实现分布式应用系统从 N 个 X86 架构服务器节点到 M 个 ARM 架构服务器节点的整体迁移。 0043 本发明实施方式获得目标平台所需要的节点的数目 n ; 利用源平台所有节点的总 的数据容量大小, 确定目标平台 n 个节。

37、点中每个节点的数据存储空间的大小 ; 根据目标平 台 n 个节点的硬件配置目标平台的操作系统 ; 根据源平台的分布式应用系统配置目标平台 的分布式应用系统 ; 按照目标平台每个节点的数据存储空间的大小, 将源平台上的应用数 据分别迁移到目标平台的 n 个节点上。通过这种方式, 可以支持从传统 X86 架构服务器到 ARM 架构服务器的迁移 ; 也可以支持分布式应用系统的 N 个节点对 M 个节点迁移场景。 0044 参阅图 3, 图 3 是本发明分布式应用系统在平台间迁移的实现方法另一实施方式 的流程图, 本实施方式和图1的实施方式基本相同, 相同之处请参见图1以及相应的文字说 明, 不同之处。

38、请参见如下内容 : 0045 步骤S201 : 获得目标平台所需要的节点的数目n, 以使得目标平台n个节点的硬件 能够负载源平台所有节点的业务。 说 明 书 CN 103577122 A 9 6/14 页 10 0046 源平台的节点即为分布式应用系统在迁移前的平台的节点, 例如 X86 架构的机架 或刀片服务器, 或虚拟机等。X86 架构服务器是指采用 X86 指令集的处理器集合, 它采用复 杂指令架构计算机 (CISC, Complex Instruction Set Computer) 指令集的处理器。 0047 目标平台节点是指分布式应用系统在迁移后的平台的节点, 例如 ARM 架构服。

39、务器 或虚拟机, ARM 架构服务器过去称作先进的精简指令集机器 (Advanced RISC Machine) , 是 一个 32 位元精简指令集 (RISC) 中央处理器 (processor) 架构, 其广泛地使用在许多嵌入式 系统 (embedded) 设计中。 0048 为了将源平台所有节点上的应用数据迁移到目标平台上, 需要保证目标平台的所 有节点的硬件能够负载源平台所有节点的业务。因此, 根据源平台各个节点的硬件配置和 源平台所有节点负载的业务情况, 即可确定目标平台所需要的节点的数目 n。 0049 其中, 步骤 S201 包括三个子步骤, 分别是 : 0050 子步骤 S20。

40、1a : 将源平台一个节点、 两个节点、 m-1 个节点、 m 个节点实测的业 务承载量 P1、 P2、 Pm-1、 Pm除以理论的业务承载量 Q1、 Q2、 Qm-1、 Qm, 获得源平台对应的 集群扩容系数 C1、 C2、 Cm-1、 Cm, 其中, Cm=Pm/Qm, 定义源平台的节点个数为 m, m 为不为零的 自然数。 0051 子步骤 S201b : 根据源平台对应的集群扩容系数 C1、 C2、 Cm-1、 Cm, 获得集群扩容 系数 C 与节点个数 x 之间的函数关系式 C(x) 。 0052 子步骤 S201c : 根据集群扩容系数与节点个数之间的函数关系式 C(x) 、 源平。

41、台单 节点的硬件性能S、 源平台单节点的综合性能利用率、 目标平台单节点的硬件性能T以及 目标平台性能资源预留量 , 通过应用业务负载平衡算法 S*Cm=T*(1-) *C(x) , 获得 目标平台所需要的节点的数目 n。 0053 步骤 S202 : 利用源平台所有节点的总的数据容量大小, 确定目标平台 n 个节点中 每个节点的数据存储空间的大小, 其中, 源平台所有节点的总的数据容量大小等于目标平 台 n 个节点总的数据存储空间的大小。 0054 目标平台各个节点的数据存储空间的大小是指各个节点所能接纳的数据容量大 小 ; 源平台所有节点的总的数据容量大小等于目标平台 n 个节点总的数据存。

42、储空间的大 小, 如果目标平台 n 个节点的配置是完全一样的, 那么源平台所有节点的总的数据容量大 小平均到目标平台n个节点上, 即为目标平台n个节点中每个节点的数据存储空间的大小 ; 如果目标平台 n 个节点的配置不是完全一样的, 那么可以根据具体配置情况为目标平台 n 个节点的每个节点合理分配数据存储空间的大小。 0055 其中, 如果目标平台 n 个节点的配置是完全一样的, 步骤 S202 具体为 : 利用源平 台所有节点的总的数据容量大小, 确定目标平台 n 个节点中每个节点的数据存储空间的大 小, 目标平台 n 个节点中每个节点的数据存储空间的大小等于源平台所有节点的总的数据 容量大。

43、小除以 n 的商。 0056 步骤 S203 : 根据目标平台 n 个节点的硬件配置目标平台的操作系统, 以使得目标 平台的操作系统和目标平台 n 个节点的硬件匹配。 0057 根据操作系统与硬件相匹配的原则, 根据目标平台 n 个节点的硬件即可配置目标 平台的操作系统。 0058 在实际应用中, 根据操作系统与硬件相匹配的原则, 可以预先制作操作系统 OS 镜 说 明 书 CN 103577122 A 10 7/14 页 11 像映射表, 给出操作系统与硬件配置之间的对应关系。例如, 给出了 x86 架构与 ARM 架构的 不同 linux 内核的 OS 版本对应关系。 0059 步骤 S2。

44、04 : 根据源平台的分布式应用系统配置目标平台的分布式应用系统, 以使 得目标平台的分布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的 差异在预定范围内。 0060 源平台的分布式应用系统包括应用软件安装文件、 应用软件补丁、 各个节点的应 用配置参数等等。 0061 分布式应用系统在源平台间迁移到目标平台, 理想状态是分布式应用系统的应用 环境不发生任何变化, 但在实际应用中, 这是很难做到了, 并且也没有必要让目标平台的分 布式应用系统的应用环境与源平台的分布式应用系统的应用环境之间的没有差异, 只要该 差异在可以接收的范围都是可以的。因此, 根据源平台的分布式应用系统配置。

45、目标平台的 分布式应用系统, 只要目标平台的分布式应用系统的应用环境与源平台的分布式应用系统 的应用环境之间的差异在预定范围内即可。 0062 步骤 S205 : 在配置好目标平台的操作系统和分布式应用系统后, 按照目标平台每 个节点的数据存储空间的大小, 将源平台上的应用数据分别迁移到目标平台的 n 个节点 上。 0063 在配置好目标平台的操作系统和分布式应用系统后, 按照目标平台每个节点的数 据存储空间的大小, 即可将源平台上的应用数据分别迁移到目标平台的 n 个节点上。 0064 其中, 步骤 S205 包括两个子步骤, 内容如下 : 0065 子步骤 S205a : 确定源平台上所有。

46、节点的总的原始应用数据与总的备份应用数 据。 0066 在源平台上, 有些节点上存放的是原始应用数据, 有些节点上存放的原始应用数 据的备份应用数据, 确定了源平台上所有节点的总的原始应用数据与总的备份应用数据 后, 可以将总的原始应用数据迁移到目标平台一定数目的节点上, 将总的备份应用数据迁 移到另外一定数目的节点上, 从而使得原始应用数据与备份应用数据之间的关系在迁移后 依然很清楚明白。 0067 子步骤 S205b : 按照目标平台每个节点的数据存储空间的大小, 将源平台上所有 节点的总的原始应用数据与总的备份应用数据分别迁移到目标平台的 n 个节点上。 0068 本发明实施方式获得目标。

47、平台所需要的节点的数目 n ; 利用源平台所有节点的总 的数据容量大小, 确定目标平台 n 个节点中每个节点的数据存储空间的大小 ; 根据目标平 台 n 个节点的硬件配置目标平台的操作系统 ; 根据源平台的分布式应用系统配置目标平台 的分布式应用系统 ; 按照目标平台每个节点的数据存储空间的大小, 将源平台上的应用数 据分别迁移到目标平台的 n 个节点上。通过这种方式, 可以支持从传统 X86 架构服务器到 ARM 架构服务器的迁移 ; 也可以支持分布式应用系统的 N 个节点对 M 个节点迁移场景。 0069 下面以从在 X86 刀片服务器上的 Hadoop 分布式应用系统迁移到 ARM 架构。

48、服务器 节点上为例进行说明, 具体应用示意图如图 4 所示。 0070 通过本发明的技术方案, 可完成Hadoop应用系统从X86刀片服务器节点集群迁移 到 ARM 服务器节点集群上, 源平台有 N 个节点, 迁移对象包括各个节点的操作系统、 Hadoop 应用系统、 Hadoop 应用数据, 整体迁移步骤大致如下 : 说 明 书 CN 103577122 A 11 8/14 页 12 0071 (1) 迁移工具客户端与 Hadoop 应用系统源平台各节点和目标平台各节点处于同 一局域网内, 在迁移工具客户端上安装部署迁移工具, 运行迁移工具。 0072 (2) 在迁移工具上输入源平台各节点 。

49、OS 的 IP、 root 账号以及连接方式 ; 同时输入 目标平台节点的管理IP和管理账号, 支持批量导入, 通过SSH/TELNET协议建立与源平台和 目标平台各节点的通信连接。 0073 (3) 通过迁移工具无代理 (Agent) 采集方式, 收集源平台各节点的硬件配置信息、 硬件性能数据、 应用数据集合、 应用系统配置信息等等 ; 硬件配置信息包括 CPU 型号与数 据、 内存型号与数量、 Disk 型号与数量、 Raid(磁盘冗余阵列) 关系、 网卡型号与数量、 bond (绑定) 关系 ; 硬件性能数据包括各节点的 CPU 利用率、 内存利用率等, 以及各个节点业务承 载量的数据信息等 ; 数据集合包括各节点的数据容量、 各个节点上存放的是原始应用数据 还是备份应用数据 ; OS 配置包括 OS 版本、 系统补丁、 主机名、 文件系统、 业。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1