本发明涉及虚拟机技术领域,具体涉及一种采用自动可兼容技术的虚拟机迁移实现方法。
背景技术:
随着计算机技术的飞速发展,计算机计算方面发生了很多变化,比如并行计算、网格计算、分布式计算,近几年学术界又提出云计算模型。在云计算模型中,资源是共享的,并根据用户的请求进行预留。通过虚拟化技术,可以在同台服务器(server)上面部署多台虚拟机(vm),通过虚拟机监控器(vmm)分时复用server的资源,来进行有效的利用server。每个用户的服务运行在一台vm上,在用户的请求被批准后,云计算平台必须向用户保证严格执行用户的请求,让用户感觉不到自己所处的环境为虚拟机,而认为是在真实的物理机上。此外,云计算平台还需要动态平衡云计算中心中服务器之间的负载,避免产生某个server负担过重。即避免同台server上有过多的虚拟机vm,或者有过多相同的服务(例如有多个vm都是cpu计算型、或者都是io型)导致server运行速度过慢。因此,如何高效管理server资源,是云计算需要解决的重要问题。
有效的解决方式是进行vm迁移,目前vm的动态迁移大都是server上的服务器监控到后,由人工手动进行迁移,而且只能在相同的server监视器上进行迁移,例如:相同的xen架构或者kvm架构,却不能在xen和kvm间进行迁移。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种采用自动可兼容技术的虚拟机迁移实现方法。
本发明所采用的技术方案为:
采用自动可兼容技术的虚拟机迁移实现方法,所述方法通过在云计算架构中加入控制模块:中央控制器、本地控制器,其中:中央控制器、本地控制器上面运行着资源监控服务和迁移管理服务;系统的资源监控由中央控制器中的资源监控服务和本地控制器中的资源监控服务配合完成,中央控制器中的资源监控服务周期性的向本地控制器中的资源监控服务发送请求,获取各自server上的资源使用情况;中央控制器中的资源监控服务记录着整个云计算中心的各个服务器的资源使用情况,当资源使用超过某个阈值时,系统就会通过迁移管理服务发起动态迁移操作。
中央控制器中的资源监控服务和各个服务器上的本地资源监控服务进行交互,确定出哪个虚拟机需要迁移,并且确定出迁移的宿主服务器,当确定出源和目的虚拟机、服务器时,系统就会把信息发给中央和本地迁移管理服务。
所述方法通过本地控制器的源迁移管理服务负责进行本地虚拟机的迁移,当源目的虚拟机监控器不同时,通过状态转换器把源平台vm转为目的平台的vm格式,再进行传输,目的迁移管理服务负责在目的主机接收虚拟机。
所述方法通过中央控制器的迁移管理服务负责源迁移管理服务和目的迁移管理服务的通信和交互,并实时监控迁移过程中的资源使用情况,可以随时控制迁移的速度,例如,当前云计算中的带宽有限时,迁移服务就会通过控制迁移的带宽来控制迁移的速度,在尽量不影响其他服务的情况下完成虚拟机的迁移。有时甚至会延迟迁移,或者进行快速迁移。
本地控制器中的资源监控服务除了监控本机的资源使用情况还记录了本地的各个虚拟机的对于cpu、内存和网络带宽的使用情况。
所述cpu使用情况获取过程如下:在云计算中心的服务器上,通过vmm对各个vm进行调度,通过对vm虚拟机的切换进行跟踪,vmm可以方便的得到各个vm对server的cpu使用情况。可以通过修改vmm对应代码实现。
所述内存使用情况获取过程如下:在vm创建时,vmm安装配置文件给vm分配定量的内存,在全虚拟化的vm中,当vm使用内存时,会交由vmm来进行内存管理。当vm的内存使用发生紧缺时,由vmm进行vm的使用内存页到交换区的复制,于是可以得到内存使用紧张的vm。
所述带宽使用情况获取过程如下:vm中的网卡都是虚拟出来的,实际的网络传输也是通过调用server的网卡来进行传输的,所述方法可以通过vmm监控到每个vm的带宽使用情况。
注:vmm虚拟机(vmmvirtualmachinemonitor)它包括规划、部署、管理和优化虚拟基础结构等端到端功能;vm虚拟机。
本发明的有益效果为:
本发明针对云计算平台的特点,能在不同的云计算平台间进行迁移,能够实时监控云计算中各个服务器的资源使用情况,能够自主选择是否进行动态迁移,能够在不同的虚拟机监控器之间进行迁移,这大大提高的迁移的兼容性和灵活性,能够对动态迁移的过程进行实施监控,从而避免动态迁移过程中占用过多的带宽等资源。从而保证迁移过程中的vm服务质量。
附图说明
图1为虚拟机迁移结构图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
如图1所示,采用自动可兼容技术的虚拟机迁移实现方法,所述方法通过在云计算架构中加入控制模块:中央控制器、本地控制器,其中:中央控制器、本地控制器上面运行着资源监控服务和迁移管理服务;系统的资源监控由中央控制器中的资源监控服务和本地控制器中的资源监控服务配合完成,中央控制器中的资源监控服务周期性的向本地控制器中的资源监控服务发送请求,获取各自server上的资源使用情况;中央控制器中的资源监控服务记录着整个云计算中心的各个服务器的资源使用情况,当资源使用超过某个阈值时,系统就会通过迁移管理服务发起动态迁移操作。
实施例2
在实施例1的基础上,本实施例中央控制器中的资源监控服务和各个服务器上的本地资源监控服务进行交互,确定出哪个虚拟机需要迁移,并且确定出迁移的宿主服务器,当确定出源和目的虚拟机、服务器时,系统就会把信息发给中央和本地迁移管理服务。
实施例3
在实施例2的基础上,本实施例所述方法通过本地控制器的源迁移管理服务负责进行本地虚拟机的迁移,当源目的虚拟机监控器不同时,通过状态转换器把源平台vm转为目的平台的vm格式,再进行传输,目的迁移管理服务负责在目的主机接收虚拟机。
实施例4
在实施例3的基础上,本实施例所述方法通过中央控制器的迁移管理服务负责源迁移管理服务和目的迁移管理服务的通信和交互,并实时监控迁移过程中的资源使用情况,可以随时控制迁移的速度,例如,当前云计算中的带宽有限时,迁移服务就会通过控制迁移的带宽来控制迁移的速度,在尽量不影响其他服务的情况下完成虚拟机的迁移。有时甚至会延迟迁移,或者进行快速迁移。
实施例5
在任一实施例1-4的基础上,本实施例本地控制器中的资源监控服务除了监控本机的资源使用情况还记录了本地的各个虚拟机的对于cpu、内存和网络带宽的使用情况。
实施例6
在实施例5的基础上,本实施例所述cpu使用情况获取过程如下:在云计算中心的服务器上,通过vmm对各个vm进行调度,通过对vm虚拟机的切换进行跟踪,vmm可以方便的得到各个vm对server的cpu使用情况。可以通过修改vmm对应代码实现。
实施例7
在实施例6的基础上,本实施例所述内存使用情况获取过程如下:在vm创建时,vmm安装配置文件给vm分配定量的内存,在全虚拟化的vm中,当vm使用内存时,会交由vmm来进行内存管理。当vm的内存使用发生紧缺时,由vmm进行vm的使用内存页到交换区的复制,于是可以得到内存使用紧张的vm。
实施例8
在实施例6的基础上,本实施例所述带宽使用情况获取过程如下:vm中的网卡都是虚拟出来的,实际的网络传输也是通过调用server的网卡来进行传输的,所述方法可以通过vmm监控到每个vm的带宽使用情况。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。