本发明涉及一种vmware虚拟机热迁移的方法,特别是涉及一种基于云平台实现对vmware虚拟机热迁移的方法。
背景技术:
随着云平台的大规模应用,企业在应用云平台的过程中,存在对现有资源整合和重新规划使用的需求,现存的物理资源上的虚拟机资源,需要进行迁移,以匹配现有的服务布局,现有厂商的云平台方案,实现了针对kvm虚拟机的迁移功能,但是没有涉及到针对vmware类型的虚拟机热迁移功能的支持。
技术实现要素:
本发明所要解决的技术问题是提供一种基于云平台实现对vmware虚拟机热迁移的方法,其能够解决现存虚拟机迁移只能迁移KVM类型的虚拟机,而不能迁移vmware类型的虚拟机的问题,实现针对vmware虚拟机迁移基于内存的调度方法,实现针对vmware虚拟机迁移基于存储的调度方法。
本发明是通过下述技术方案来解决上述技术问题的:一种基于云平台实现对vmware虚拟机热迁移的方法,其包括以下步骤:
步骤一,配置允许主机间迁移;在nova的配置文件中,增加allow migrate to same host选项,通过allow migrate to same host选项控制是否允许在同一个主机上进行迁移,allow migrate to same host=True为允许,allow migrate to same host=False为不允许;
步骤二,配置允许vmware虚拟机基于内存的调度;在nova的配置文件中,设置vmware migrate scheduler的调度方式,来确定是否允许通过内存使用量来判断是否允许通过内存使用量自动调度迁移目标主机,vmware migrate scheduler=memoryScheduler,为允许通过内存使用量自动调度迁移目标主机;
步骤三,vmware虚拟机热迁移基于内存的目标主机的迁移;
步骤四,vmware虚拟机热迁移基于存储间的迁移;执行nova live migration server id host命令时,添加block migrate参数,将vmware虚拟机迁移到其它的存储上。
优选地,所述步骤三包括以下步骤:
步骤三十,调度vcenter的driver(驱动)接口,获取cluster(集群)下的所有主机信息;
步骤三十一,在获取的所有有用主机信息中,提取所有主机的内存总量和内存使用量;
步骤三十二,根据获取的所有有用主机的内存总量和内存使用量,对比后选择出内存使用量最少的主机;
步骤三十三,执行nova live migration server id host,根据获取到主机信息;
步骤三十四,将上步骤获取的host信息传入MigrateVM Task(迁移虚拟机任务)中执行;
步骤三十五,MigrateVM Task(迁移虚拟机任务)通过driver调度到vcenter;
步骤三十六,vcenter将vmware的虚拟机热迁移到新的主机上。
本发明的积极进步效果在于:本发明能够通过对vmware虚拟机的热迁移,可以帮助客户进行服务器的重新、规划、部署,保证客户的业务不中断,不受影响,对于现存于云管理平台的vmware虚拟机,可以对其进行同一个vcenter同一个c luster的不同主机,不同存储间的热迁移。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图1所示,本发明基于云平台实现对vmware(虚拟机软件)虚拟机热迁移的方法包括以下步骤:
步骤一,本发明配置允许主机间迁移;在nova(计算服务)的配置文件中,增加allow(允许)migrate(迁移)to(到)same(相同)host(主机)选项,通过allow migrate to same host选项控制是否允许在同一个主机上进行迁移,allow migrate to same host=True(正确)为允许,allow migrate to same host=False(无措)为不允许;
步骤二,配置允许vmware虚拟机基于内存的调度;在nova的配置文件中,设置vmware migrate scheduler(调度程序)的调度方式,来确定是否允许通过内存使用量来判断是否允许通过内存使用量自动调度迁移目标主机,vmware migrate scheduler=memoryScheduler(基于内存调度),为允许通过内存使用量自动调度迁移目标主机;
步骤三,vmware虚拟机热迁移基于内存的目标主机的迁移;
步骤四,vmware虚拟机热迁移基于存储间的迁移;执行nova live migration server(服务器)id(identification,身份证)host命令时,添加block(块)migrate参数,即可将vmware虚拟机迁移到其它的存储上。
步骤三包括以下步骤:
步骤三十,调度vcenter(Vcenter一般指VMware vCenter Server,VMware vCenter Server提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础)的driver(驱动)接口,获取cluster(集群)下的所有主机信息;
步骤三十一,在获取的所有有用主机信息中,提取所有主机的内存总量和内存使用量;
步骤三十二,根据获取的所有有用主机的内存总量和内存使用量,对比后选择出内存使用量最少的主机;
步骤三十三,执行nova live migration server id host,根据获取到主机信息;
步骤三十四,将上步骤获取的host信息传入MigrateVM Task(迁移虚拟机任务)中执行;
步骤三十五,MigrateVM Task(迁移虚拟机任务)通过driver调度到vcenter;
步骤三十六,vcenter将vmware的虚拟机热迁移到新的主机上。
以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。