基于云计算平台的资源自迁移方法及系统技术领域
本发明属于云计算技术领域,具体涉及一种基于云计算平台
的资源自迁移方法及系统。
背景技术
CloudStack(云计算)的资源均衡机制:在云计算平台上创建、
启动或者重启虚拟机的时候,需要给虚拟机分配相应的计算资源
和存储资源,由于云计算会实时监控资源的使用情况,并依据监
控的结果,选择合适的物理机来分别部署虚拟机的计算资源和存
储资源,所以虚拟机的计算资源和存储资源往往部署在不同的物
理机上。
虚拟机热迁移技术:热迁移,又叫做动态迁移或者实时迁移,
使得IT运维人员能够将运行中的虚拟机从一台物理机迁移到另一
台物理机,不需要暂停时间。它将整个虚拟机的运行状态从一台
物理机热迁移到另一台物理机,迁移之后,虚拟机仍旧平滑运行,
用户不会察觉到任何的差异。
AutoCS(云管理平台):这是基于CloudStack
API(ApplicationProgrammingInterface,应用程序编程接口)进行的
一个二次开发,添加了更多的管理功能,并屏蔽了底层的一些具
体操作,为最终用户提供的一个界面友好功能强大的使用环境。
发明人发现现有技术中至少存在如下问题:云计算的资源均
衡机制不能保证分配的计算资源和存储资源在同一台物理机上,
若计算资源和存储资源不在同一物理机上会带来物理机的运行缓
慢,同时造成IO的效率较低。
发明内容
本发明所要解决的技术问题包括,针对现有的云计算的资源
均衡机制存在的上述的问题,提供一种保证申请的虚拟机的计算
资源和存储资源在同一台物理机上,最大化IO的效率,同时又不
破坏共享存储原有的功能的基于云计算平台的资源自迁移方法及
系统。
解决本发明技术问题所采用的技术方案是一种基于云计算平
台的资源自迁移方法,其特征在于,包括:
将为虚拟机的配置的计算资源和存储资源镜像到相应的物理
机上;
查询为虚拟机配置的计算资源和管理资源是否镜像到同一物
理机上,若否,定位存储资源所在的物理机,将计算资源自迁移
到存储资源所在的物理机上。
优选的是,所述将为虚拟机的配置的计算资源和存储资源镜
像到相应的物理机上之前还包括:
创建虚拟机集群,并为各虚拟机配置计算资源和存储资源。
优选的是,为各虚拟机配置计算资源和存储资源具体包括:
通过云计算应用程序接口为各虚拟机配置计算资源和存储资
源。
优选的是,所述将虚拟机的计算资源和存储资源镜像到相应
的物理机上时,还包括:
记录虚拟机的地址以及计算资源和存储资源分别镜像到的物
理机的地址,以定位存储资源所在的物理机。
优选的是,所述将虚拟机的计算资源和存储资源镜像到相应
的物理机上之前还包括:
通过云管理平台检测各物理机的负载情况,从负载最轻物理
机开始镜像虚拟机。
进一步优选的是,计算资源自迁移到存储资源所在的物理机
上是从负载最轻的物理机开始,对虚拟机所镜像的计算资源进行
自迁移。
优选的是,所述查询虚拟机的计算资源和管理资源是否在同
一物理机上,若是虚拟机正常工作,若否计算资源自迁移到存储
资源所在的物理机上之后还包括:
通过云管理平台周期性检测各虚拟机的计算资源和存储资源
的镜像情况。
解决本发明技术问题所采用的技术方案是一种基于云计算平
台的资源自迁移系统,其包括:
资源管理模块,用于为各虚拟机配置相应的计算资源和存储
资源;
资源检测模块,用于检测各虚拟机的计算资源和存储资源是
否镜像到与其对应的物理机上;
资源迁移模块,用于将资源检测模块检测到的计算资源与存
储资源不在同一物理机上的进行迁移,使得计算资源迁移至存储
资源所在的物理机上。
优选的是,资源记录模块,用于记录各虚拟机的地址,以及
各虚拟机的计算资源和管理资源在镜像到物理机上的地址。
本发明的有益效果:
本发明的基于云计算平台的资源自迁移方法及系统根据实际
需求,解决云计算的资源均衡机制不能保证分配的计算资源和存
储资源在同一台物理机上的问题,保证申请的虚拟机的计算资源
和存储资源在同一台物理机上,最大化IO的效率,同时又不破坏
共享存储原有的功能。
附图说明
图1为本发明的实施例1的自迁移的过程示意图;
图2为本发明的实施例1的基于云计算平台的资源自迁移方
法的流程图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结
合附图和具体实施方式对本发明作进一步详细描述。
本实施例应用的场景主要包括以下四种:
第一,当用户创建虚拟机的时候,云计算的资源均衡机制会
使得计算资源和存储资源分配到不同的物理机(HOST)上。
第二,当用户重启虚拟机的时候,云计算将会重新均衡虚拟
机的计算资源和存储资源,此时计算资源和存储资源被分配到不
同的物理机上。
第三,在某些异常情况下,比如脑裂,虚拟机的计算资源可
能发生自迁移。
第四,当存储虚拟机镜像的物理机宕机时,虚拟机的存储资
源也可能发生自迁移。
其中,在本实施例中存储资源的定位过程是:根据Glusterfs
现有的机制,它是将随机生成的UUID(通用唯一识别码)通过一个
哈希算法,然后获得一个物理机列表,从而确定存储资源所在的
物理机位置。而在本实施例中,是通过在生成的UUID被哈希算
法调用之前,将它的值截获,保存到数据库中。再调用Glusterfs
提供的API,以已截获的UUID为参数,去获得存储资源所在的
物理机列表从而完成存储资源的定位,定位完成之后,通过热迁
移将计算资源迁移到存储资源上了。基于其他类型的文件系统(如
GFS,GoogleFileSystem,谷歌文件系统)提供的接口开发API,
也可以进行存储资源的定位。
具体的资源的迁移方法及系统如下所述。
实施例1:
结合图1和2所示,本实施例提供一种基于云计算平台的资
源自迁移方法,其包括如下步骤:
步骤一、创建虚拟机集群,并为各虚拟机配置计算资源和存
储资源。
该步骤具体的可以为:云计算平台检测虚拟机镜像的计算资
源和存储资源,分析各个物理机的的负载情况,从负载最轻的物理
机开始启动虚拟机,用户通过云管理平台调用云计算的API(应
用程序接口)为各虚拟机配置相应的计算资源和存储资源。
步骤二、将虚拟机的计算资源和存储资源镜像到相应的物理
机上。
在该步骤进行的同时云管理平台将会自动记录虚拟机的地址
以及计算资源和存储资源分别镜像到的物理机的地址,以便后续
中判断计算资源和存储资源是否被经想到同物理机上。
步骤三、通过云管理平台查询虚拟机的计算资源和管理资源
是否在同一物理机上,若是则执行下一步骤,若否则将计算资源
自迁移到存储资源所在的物理机上后再执行下一步骤。
其中,当发生自迁移时,是从负载最轻的物理机所对应的虚
拟机开始自迁移,将计算资源和存储资源迁移到同一物理上。
步骤四、虚拟机正常工作。
步骤五、云计算平台将会周期性查询机制,周期性地检测虚
拟机的计算资源和存储资源的位置,若两者不在同一台物理机上,
立即触发计算资源的自迁移。
本实施例的方法,根据实际需求,解决云计算的资源均衡机
制不能保证分配的计算资源和存储资源在同一台物理机上的问
题,保证申请的虚拟机的计算资源和存储资源在同一台物理机上,
最大化IO的效率,同时又不破坏共享存储原有的功能。同时,基
于云计算RESTAPI,以及Glusterfs(Gluster公司研发的一种文件
系统,它是各种不同的存储服务器之上的组合,这些服务器由以
太网或无限带宽技术Infiniband以及远程直接内存访问RDMA互
相融汇,最终所形成的一个大的并行文件系统网络)提供的监测
API,利用云管理平台在虚拟机的整个生命周期内监控计算资源和
存储资源的分布情况,实时调整计算资源的分布,以达到计算资
源和存储资源共存于同一台物理机的目的。
实施例2:
本实施例提供一种云计算平台的资源自迁移系统,其包括:
资源管理模块,用于为各虚拟机配置相应的计算资源和存储
资源;资源检测模块,用于检测各虚拟机的计算资源和存储资源
是否镜像到与其对应的物理机上;资源迁移模块,用于将资源检
测模块检测到的计算资源与存储资源不在同一物理机上的进行迁
移,使得计算资源迁移至存储资源所在的物理机上。
当本实施例的基于云计算平台的资源自迁移系统还包括:资
源记录模块,用于记录各虚拟机的地址,以及各虚拟机的计算资
源和管理资源在镜像到物理机上的地址。
本实施例的系统的可以按照实施例1所述的方法进行工作,
在此不详细描述了。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理
而采用的示例性实施方式,然而本发明并不局限于此。对于本领
域内的普通技术人员而言,在不脱离本发明的精神和实质的情况
下,可以做出各种变型和改进,这些变型和改进也视为本发明的
保护范围。