CN103810016B - 实现虚拟机迁移的方法、装置和集群*** - Google Patents
实现虚拟机迁移的方法、装置和集群*** Download PDFInfo
- Publication number
- CN103810016B CN103810016B CN201210447904.XA CN201210447904A CN103810016B CN 103810016 B CN103810016 B CN 103810016B CN 201210447904 A CN201210447904 A CN 201210447904A CN 103810016 B CN103810016 B CN 103810016B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migration
- physical host
- physical
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种实现虚拟机迁移的方法、装置和集群***,其中方法包括:在确定源物理主机及所需迁移的虚拟机后,确定虚拟机迁移顺序,并分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;从虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束。本发明提供的实现虚拟机迁移的方法、装置和集群***在虚拟机迁移可靠性的前提下,保障集群***中虚拟机镜像的高效性和安全性。
Description
技术领域
本发明涉及计算机信息技术领域,特别是涉及一种实现虚拟机迁移的方法、装置和集群***。
背景技术
虚拟机指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作***、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正计算机。
共享存储,指的是多台服务器访问同一个存储设备的同一个分区,***允许多个用户共享同一份文件。解决不同用户有同一份文件各自的备份而造成的空间的浪费,多台主机共享存储***,实现各台主机可相互高效率的共享数据和传递数据,并实现数据保存和保护功能。
HA技术,过IP做心跳检测时,集群管理端会通过心跳路径,周期性的发出相互检测的测试包,如果此时一台机出现故障,集群管理端在连续丢失设定数目的检测包后,会认为主机出现故障,这时备集群管理端自动检测设置中是否有第二种心跳,如果没有第二种心跳的话,集群管理端则根据已设定的规则,启动虚拟机迁移任务。
在虚拟机执行离线迁移时:在迁移之前将虚拟机暂停,如果共享存储,则只拷贝***状态至目标主机,最后在目的主机重建虚拟机状态,恢复执行。如果使用本地存储,则需要同时拷贝虚拟机镜像和状态到目标物理主机。这种方式的迁移过程需要虚拟机的停止运行。从用户角度看,有明确的一段服务不可用的时间,这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。
然而,虚拟机在创建时拥有CPU、内存等资源大小,它占用物理主机CPU、内存资源,如果简单指定迁移目标主机,尤其是需要迁移的物理主机上有多个虚拟机时,就到导致迁移虚拟机任务失败,或者迁移后虚拟机运行性能下降,导致集群***运行不稳定。
因此对于现有技术,如果没有一种良好的迁移策略,在需要迁移的物理主机上的多个虚拟机时,不能保证迁移虚拟机全部成功,将导致或者迁移后全部或部分虚拟机运行性能下降和不稳定。
发明内容
本发明提供了一种实现虚拟机迁移的方法、装置和集群***,用以高效地实现对虚拟机迁移并保障集群***的可靠运行。
基于上述问题,本发明实施例提供的一种实现虚拟机迁移的方法,包括以下步骤:
根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;
从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机。
较佳地,作为一种可实施方式,所述确定需要迁移的虚拟机及迁移顺序之前,还包括以下步骤:
按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
较佳地,作为一种可实施方式,所述根据虚拟机的配置信息确定虚拟机迁移顺序具体包括以下步骤:
根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序,若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
较佳地,作为一种可实施方式,所述物理主机资源使用信息包括当前物理主机剩余内存和当前物理主机CPU使用率。
进一步地,作为一种可实施方式,所述根据资源使用信息优先级进行物理主机排序具体包括以下步骤:
根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
较佳地,作为一种可实施方式,所述预设的水平冗余条件为:执行虚拟机迁移后的目标物理主机的剩余内存小于物理主机总内存的20%;
所述虚拟机迁移后的目标物理主机的剩余内存大小等于当前物理主机剩余内存大小减去迁移到所述物理主机的虚拟机内存的大小。
进一步地,作为一种可实施方式,所述执行多个虚拟机的迁移操作之后,还包括以下步骤:
多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
相应地,本发明还提供了实现虚拟机迁移的装置,所述实现虚拟机迁移的装置包括虚拟机排序模块,物理主机排序模块和迁移处理模块,其中:
所述虚拟机排序模块,用于根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
所述物理主机排序模块,用于分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;
所述迁移处理模块,用于从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机。
较佳地,作为一种可实施方式,所述实现虚拟机迁移的装置还包括心跳检测模块,其中:
所述心跳检测模块,用于按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
进一步地,作为一种可实施方式,所述虚拟机排序模块包括判断子模块,其中:
所述判断子模块,用于根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序,若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
进一步地,作为一种可实施方式,所述物理主机排序模块包括物理主机排序子模块,其中:
所述物理主机排序子模块,用于根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
较佳地,作为一种可实施方式,所述实现虚拟机迁移的装置还包括恢复模块,其中:
所述恢复模块,用于在多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
相应地,本发明还提供了一种集群***,所述包括集群***多个物理主机,每个所述物理主机上可以安装有一个或多个虚拟机,所述集群***还包括上述虚拟机迁移装置;
所述虚拟机迁移装置用于在源物理主机出现故障时,将源物理主机上的虚拟机迁移至目标物理主机。
本发明的有益效果包括:
本发明提供的一种实现虚拟机迁移的方法、装置和集群***,其中方法包括:在确定源物理主机及所需迁移的虚拟机后,确定虚拟机迁移顺序,并分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;从虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束。本发明提供的实现虚拟机迁移的方法、装置和集群***在虚拟机迁移可靠性的前提下,保障集群***中虚拟机镜像的高效性和安全性。
附图说明
图1为本发明实现虚拟机迁移的方法的一个实施例的流程图;
图2为本发明实现虚拟机迁移的装置的一个实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本发明实施例中的实现虚拟机迁移的方法、装置和***的具体实施方式进行说明。
本发明实施例提供的一种实现虚拟机迁移的方法,用于根据需要迁移虚拟机的资源占用情况,将虚拟机被迁移到同一个集群下最合适的物理主机上。
图1是本发明实施例的实现虚拟机迁移的方法流程图。如图1所示,本实施例所使用的方法包括如下几个步骤:
步骤S100、根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
步骤S200、分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;
步骤S300、从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机。
本发明实施例在具体实施时,上述各步骤可以由实现虚拟机迁移的方法、装置来完成。下面对上述各步骤进行详细说明:
较佳地,作为一种可实施方式,在所述步骤S100之前,还包括如下步骤:
按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
在上述步骤中,通过IP做心跳检测,物理主机通过心跳路径,周期性的发出相互检测的测试包,如果此时在集群***上运行的多个物理主机中某个物理主机出现故障(如:硬盘、内存、CPU、主板、I/O板以及电源故障),则此时这个物理主机不会产生回应(即连续丢失设定数目的检测包),这样则判定这个物理主机出现故障,这时则可以确定发生故障的源物理主机。
较佳地,作为一种可实施方式,在所述步骤S100中,所述确定虚拟机迁移顺序具体包括以下步骤:
根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序,若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
在本发明实施中,在确定发生故障的源物理主机之后,查询故障物理主机上有哪些虚拟机,明确哪一台或多台虚拟机要被迁移到其他最合适的目标物理主机上;
用户可以根据虚拟机的配置信息可以分析得知,在用户设定有迁移顺序信息条件下,需要预先设定的迁移顺序;在没有设定迁移顺序的条件下,按照虚拟机创建时间(虚拟机的配置信息)顺序作为虚拟机的迁移顺序,其中,所述虚拟机迁移顺序为虚拟机创建的时间顺序由前到后顺序排列。
较佳地,作为一种可实施方式,所述物理主机资源使用信息包括当前物理主机剩余内存和当前物理主机CPU使用率。
进一步地,作为一种可实施方式,在所述步骤S200中,所述根据资源使用信息优先级进行物理主机排序具体包括:
根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
在上述步骤中,分析物理主机资源使用信息,确定物理主机的接收虚拟机资源(镜像)的优先级,执行物理主机排序,查询得到集群下正常运行的物理主机的资源,当前物理主机CPU使用率、当前物理主机剩余内存大小,首先按当前物理主机剩余内存大小作为排序标准,从大到小进行排序,如果内存大小相差不大(差值128M内),CPU使用率小的物理主机排名在前。
较佳地,作为一种可实施方式,所述预设的水平冗余条件为:执行虚拟机迁移后的目标物理主机的剩余内存小于物理主机总内存的20%;
所述虚拟机迁移后的目标物理主机的剩余内存大小等于当前物理主机剩余内存大小减去迁移到所述物理主机的虚拟机内存的大小。
进一步地,作为一种可实施方式,所述执行多个虚拟机的迁移操作之后还包括以下步骤:
多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
在上述步骤S300中,举例说明,首先将所述虚拟机迁移顺序中排序最前的第一台虚拟机对应迁移至物理主机排序序列最前的目标物理主机,在第一台虚拟机迁移操作结束后,若此时最前的目标物理主机在第一台虚拟机迁移后的剩余内存小于该物理主机总内存的20%条件时(即达到预设的水平冗余条件)或者最前的目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机;继续将虚拟机迁移顺序中的第二台虚拟机迁移至新的目标物理主机,这样重复顺序执行多个虚拟机的迁移操作直至所有的虚拟机的迁移都结束。
显然,第一台虚拟机目标物理主机是排最前的物理主机,这台物理主机迁移后的目标物理主机的剩余内存大小为这台物理主机迁移前的内存大小(当前物理主机内存的大小)减去迁移到该物理主机的虚拟机内存大小;在第一台虚拟机迁移后,如果这台物理主机内存满足第二台虚拟机内存占用资源(同时未达到预设的水平冗余条件),则这个物理主机继续是第二台虚拟机的目标物理主机,直到这台物理主机剩余内存小于总内存20%后,迁移目标转移为下一台物理主机,按此规则确定每一台虚拟机的迁移目标物理主机;
为了更好地说明本发明实施例提供的实现虚拟机迁移的方法,举一个实际的例子加以说明虚拟机关于实现排序和虚拟机迁移的步骤。举例来说:
在一个集群***中安装有如下物理主机和虚拟机:
这样,根据资源使用信息优先级进行物理主机排序,物理主机排序后的顺序为:物理主机3、物理主机1、物理主机2。
虚拟机排序为:VM1、VM2、VM3。
首先,VM1执行迁移至目标物理主机3的操作,迁移后目标物理主机的剩余内存值等于迁移前的物理主机剩余内存值减VM1的内存值即:6G-2G=4G;
第二步,判断迁移后目标物理主机3的剩余内存值是否满足第二台虚拟机内存(VM2的内存为2G)占用资源(同时未达到预设的水平冗余条件),显然目标物理主机3将作为VM2的目标物理主机;在VM2迁移后,目标物理主机机3剩余内存为:4G-2G=2G;此时将不能满足第三台虚拟机内存(VM3的内存为3G)占用资源;
第三步,按照物理主机排序顺序,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机(物理主机1),继续将虚拟机迁移顺序中的第三台虚拟机迁移至新的目标物理主机,这样迁移后的VM3所在的目标物理主机1的剩余内存为:5G-2G=3G。
后续迁移及执行虚拟机恢复步骤同本发明实施例中步骤S100~步骤S300相似之处,不再重复赘述。
本发明实施例可以根据需要迁移虚拟机的资源占用情况,达到将虚拟机被迁移到同一个集群下最合适的物理主机上的目的,并保障集群***高水平的可靠性和安全性。
本领域技术人员应该可以理解,本发明实施例中所涉及的物理主机的资源是标准化的(本发明实施例所涉及的物理主机均为x86服务器)、可伸缩的和随时动态变化,应该有一些水平的冗余以保证高水平的可用性,但是重要的是这种冗余必须能够随着应用需求的增长而轻松地扩展;需要计算集群下正常运行的物理主机的使用资源,包括当前物理主机的CUP、当前物理主机的内存资源;计算所有迁移的虚拟机资源容量;依次根据虚拟机资源容量在集群中分配最合适的迁移目标物理主机。
基于同一发明构思,本发明实施例还提供了一种实现虚拟机迁移的装置,由于此装置解决问题的原理与前述一种实现虚拟机迁移的方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
相应地,本发明还提供了实现虚拟机迁移的装置,所述实现虚拟机迁移的装置1包括虚拟机排序模块10,物理主机排序模块20和迁移处理模块30,如图2所示,其中:
所述虚拟机排序模块10,用于根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
所述物理主机排序模块20,用于分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;
所述迁移处理模块30,用于从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机。
较佳地,作为一种可实施方式,所述实现虚拟机迁移的装置1还包括心跳检测模块40,其中:
所述心跳检测模块40,用于按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
进一步地,作为一种可实施方式,所述虚拟机排序模块包括判断子模块,其中:
所述判断子模块,用于根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序,若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
进一步地,作为一种可实施方式,所述物理主机排序模块包括物理主机排序子模块,其中:
所述物理主机排序子模块,用于根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
较佳地,作为一种可实施方式,所述实现虚拟机迁移的装置1还包括恢复模块50,其中:
所述恢复模块50,用于在多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
相应地,本发明还提供了一种集群***,所述包括集群***多个物理主机,每个所述物理主机上可以安装有一个或多个虚拟机,所述集群***还包括上述虚拟机迁移装置;
所述虚拟机迁移装置用于在源物理主机出现故障时,将源物理主机上的虚拟机迁移至目标物理主机。
本发明实施例提供的一种实现虚拟机迁移的方法、装置和集群***,其中方法包括:在确定源物理主机及所需迁移的虚拟机后,确定虚拟机迁移顺序,并分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序;从虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束。本发明实施例提供的实现虚拟机迁移的方法、装置和集群***在虚拟机迁移可靠性的前提下,保障集群***中虚拟机镜像的高效性和安全性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种实现虚拟机迁移的方法,其特征在于,包括以下步骤:
根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序,其中,所述多个物理主机按照资源使用由少到多排序;
从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;
在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机;
所述确定需要迁移的虚拟机及迁移顺序之前,还包括以下步骤:
按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
2.根据权利要求1所述的实现虚拟机迁移的方法,其特征在于,所述根据虚拟机的配置信息确定虚拟机迁移顺序,包括如下步骤:
根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序;
若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
3.根据权利要求1所述的实现虚拟机迁移的方法,其特征在于,所述物理主机资源使用信息包括当前物理主机剩余内存和当前物理主机CPU使用率。
4.根据权利要求1或3所述的实现虚拟机迁移的方法,其特征在于,所述根据资源使用信息优先级进行物理主机排序,包括如下步骤:
根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
5.根据权利要求1所述的实现虚拟机迁移的方法,其特征在于,所述预设的水平冗余条件为:执行虚拟机迁移后的目标物理主机的剩余内存小于物理主机总内存的20%;
所述虚拟机迁移后的目标物理主机的剩余内存大小等于当前物理主机剩余内存大小减去迁移到所述物理主机的虚拟机内存的大小。
6.根据权利要求1所述的实现虚拟机迁移的方法,其特征在于,所述执行多个虚拟机的迁移操作之后,还包括如下步骤:
多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
7.一种实现虚拟机迁移的装置,其特征在于,包括虚拟机排序模块,物理主机排序模块和迁移处理模块,其中:
所述虚拟机排序模块,用于根据源物理主机确定所需迁移的虚拟机,并获取所需迁移的一个或多个虚拟机的配置信息,根据所述虚拟机的配置信息确定虚拟机迁移顺序;
所述物理主机排序模块,用于分析集群***上当前运行的多个物理主机资源使用信息,将多个物理主机按照资源使用信息优先级进行物理主机排序,其中,所述多个物理主机按照资源使用由少到多排序;
所述迁移处理模块,用于从所述虚拟机迁移顺序中排序最前的虚拟机开始,按照虚拟机迁移顺序,顺序执行多个虚拟机迁移到目标物理主机的操作,直至所有的虚拟机迁移操作都结束;在迁移过程中,选择物理主机排序序列最前的物理主机作为目标物理主机,直至当前所述目标物理主机的内存资源不能满足当前需要迁移的虚拟机内存占用资源或达到预设的水平冗余条件时,选择物理主机排序序列中的下一个物理主机作为新的目标物理主机;
还包括心跳检测模块,其中:
所述心跳检测模块,用于按照预设的时间周期定期通过IP做心跳检测,检测集群***上运行的多个物理主机的运行状态,并确定发生故障的源物理主机。
8.根据权利要求7所述的实现虚拟机迁移的装置,其特征在于,所述虚拟机排序模块包括判断子模块,其中:
所述判断子模块,用于根据获取的虚拟机的配置信息,判断是否有预先设定的迁移顺序,若是,则确定虚拟机迁移顺序为预先设定的迁移顺序;若否,则确定虚拟机迁移顺序为配置信息中的虚拟机创建时间顺序;
所述虚拟机的配置信息包括:虚拟机内存的大小信息、多个虚拟机创建时间顺序信息或预先设定的迁移顺序信息。
9.根据权利要求7或8所述的实现虚拟机迁移的装置,其特征在于,所述物理主机排序模块包括物理主机排序子模块,其中:
所述物理主机排序子模块,用于根据当前物理主机剩余内存的大小,进行降序排序;
如果排列后序列内相邻的当前物理主机内存的大小差值低于预设的内存阈值,则按照CPU使用率大小,对所述相邻的物理主机进行升序排列并最终确定所述物理主机排序;
其中,所述预设的内存阈值为128M。
10.根据权利要求7所述的实现虚拟机迁移的装置,其特征在于,还包括恢复模块,其中:
所述恢复模块,用于在多个虚拟机迁移到目标物理主机后,恢复虚拟机原来的运行状态并修改多个虚拟机分别所属的物理主机因虚拟机迁移操作发生改变的配置信息。
11.一种集群***,包括多个物理主机,每个物理主机上可以安装有一个或多个虚拟机,其特征在于,所述集群***还包括权利要求7-10任一项所述的虚拟机迁移装置;
所述虚拟机迁移装置用于在源物理主机出现故障时,将源物理主机上的虚拟机迁移至目标物理主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210447904.XA CN103810016B (zh) | 2012-11-09 | 2012-11-09 | 实现虚拟机迁移的方法、装置和集群*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210447904.XA CN103810016B (zh) | 2012-11-09 | 2012-11-09 | 实现虚拟机迁移的方法、装置和集群*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103810016A CN103810016A (zh) | 2014-05-21 |
CN103810016B true CN103810016B (zh) | 2017-07-07 |
Family
ID=50706828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210447904.XA Active CN103810016B (zh) | 2012-11-09 | 2012-11-09 | 实现虚拟机迁移的方法、装置和集群*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810016B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069594B1 (en) * | 2012-12-27 | 2015-06-30 | Emc Corporation | Burst buffer appliance comprising multiple virtual machines |
CN104283943A (zh) * | 2014-09-22 | 2015-01-14 | 珠海许继芝电网自动化有限公司 | 一种集群服务器的通信优化方法 |
CN104407912B (zh) * | 2014-12-25 | 2018-08-17 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种虚拟机配置方法及装置 |
CN106469117B (zh) * | 2015-08-14 | 2020-07-31 | 中国电信股份有限公司 | 一种用于虚拟机存储迁移的存储资源管理方法及装置 |
CN105242998B (zh) * | 2015-09-01 | 2019-05-14 | 福建新大陆软件工程有限公司 | 一种基于hdfs的磁盘故障检测方法及*** |
CN105281949B (zh) * | 2015-09-09 | 2018-06-15 | 浪潮(北京)电子信息产业有限公司 | 混合存储模式中主机的隔离方法和隔离装置 |
US20180246751A1 (en) * | 2015-09-25 | 2018-08-30 | Intel Corporation | Techniques to select virtual machines for migration |
CN105743696A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种云计算平台管理方法 |
CN106776113B (zh) * | 2016-02-18 | 2021-03-02 | 新华三技术有限公司 | 一种虚拟机备份方法及装置 |
CN106095531B (zh) * | 2016-06-08 | 2019-06-11 | 北京航空航天大学 | 云平台中一种基于等级和物理机负载的虚拟机调度方法 |
CN106293871A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种集群虚拟机的资源调度方法 |
CN106230954B (zh) * | 2016-08-05 | 2020-10-02 | 广州久邦世纪科技有限公司 | 一种虚拟化管理平台 |
CN107885575B (zh) * | 2017-03-13 | 2021-04-27 | 平安科技(深圳)有限公司 | 虚拟机的迁移方法及装置 |
CN107301088A (zh) * | 2017-07-14 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种管理虚拟机批量迁移的方法和装置 |
CN107391229B (zh) * | 2017-07-26 | 2020-09-08 | 郑州云海信息技术有限公司 | 一种基于vmware虚拟化的集群填满方法及装置 |
CN107391233A (zh) * | 2017-08-09 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种虚拟机迁移方法和*** |
CN107491352B (zh) * | 2017-08-22 | 2020-09-08 | 郑州云海信息技术有限公司 | 一种资源调度方法及装置 |
CN107491344B (zh) * | 2017-09-26 | 2020-09-01 | 北京思特奇信息技术股份有限公司 | 一种实现虚拟机高可用性的方法及装置 |
CN110069471A (zh) * | 2017-12-07 | 2019-07-30 | 航天信息软件技术有限公司 | 一种数据的迁移方法和*** |
CN109960564B (zh) * | 2017-12-22 | 2023-04-11 | 上海盛霄云计算技术有限公司 | 一种虚拟机迁移的方法 |
CN109739614A (zh) * | 2018-11-22 | 2019-05-10 | 杭州数梦工场科技有限公司 | 虚拟机新建方法、装置及设备 |
CN111324413B (zh) * | 2018-12-14 | 2023-08-15 | 中移(杭州)信息技术有限公司 | 一种数据迁移方法及数据迁移管理设备 |
CN109800058A (zh) * | 2019-01-23 | 2019-05-24 | 山东超越数控电子股份有限公司 | 一种虚拟机自动迁移方法 |
CN109947530B (zh) * | 2019-01-25 | 2021-09-07 | 西安交通大学 | 一种针对云平台的多维度虚拟机映射方法 |
CN110297692B (zh) * | 2019-07-04 | 2020-12-15 | 北京伟杰东博信息科技有限公司 | 一种分布式软件任务动态管理的方法及其*** |
CN110532135B (zh) * | 2019-08-16 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 一种集群***的服务迁移方法、***、设备及存储介质 |
CN110795211A (zh) * | 2019-10-25 | 2020-02-14 | 北京金山云网络技术有限公司 | 升级虚拟机配置的方法、装置、电子设备及可读存储介质 |
CN111381934B (zh) * | 2020-03-11 | 2023-07-21 | 重庆邮电大学 | 一种灾难风险模型下提高虚拟机快速迁移可靠性的方法 |
CN114048004A (zh) * | 2021-11-22 | 2022-02-15 | 北京志凌海纳科技有限公司 | 虚拟机高可用批量调度方法、装置、设备及存储介质 |
CN114217905A (zh) * | 2021-12-17 | 2022-03-22 | 北京志凌海纳科技有限公司 | 虚拟机高可用恢复处理方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468230B2 (en) * | 2007-10-18 | 2013-06-18 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
-
2012
- 2012-11-09 CN CN201210447904.XA patent/CN103810016B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群*** |
Also Published As
Publication number | Publication date |
---|---|
CN103810016A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103810016B (zh) | 实现虚拟机迁移的方法、装置和集群*** | |
Sun et al. | A new technique for efficient live migration of multiple virtual machines | |
US8423646B2 (en) | Network-aware virtual machine migration in datacenters | |
CN104484220B (zh) | 虚拟化集群的动态资源调度的方法及装置 | |
US20140082202A1 (en) | Method and Apparatus for Integration of Virtual Cluster and Virtual Cluster System | |
US9292320B2 (en) | Virtual machine packing method using scarcity | |
Lee et al. | Topology-aware resource allocation for data-intensive workloads | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
US11755385B2 (en) | Cross-cluster load balancer | |
CN104375897B (zh) | 基于最小相对负载不均衡度的云计算资源调度方法 | |
US20200151018A1 (en) | Workload placement and balancing within a containerized infrastructure | |
CN110347498B (zh) | 一种容器和虚拟机混合云环境下的负载动态迁移方法 | |
CN114138486A (zh) | 面向云边异构环境的容器化微服务编排方法、***及介质 | |
WO2014002102A1 (en) | Optimizing placement of virtual machines | |
CN111381928B (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
Wood | Improving data center resource management, deployment, and availability with virtualization | |
Zhang et al. | Virtual machine placement strategy using cluster-based genetic algorithm | |
US20200192692A1 (en) | Containerized workload scheduling | |
CN102541467B (zh) | 一种对象数据服务器读写请求的调度方法 | |
CN109558216B (zh) | 一种基于在线迁移的单根i/o虚拟化优化方法及其*** | |
CN104580194A (zh) | 面向视频应用的虚拟化资源管理方法及装置 | |
CN103034526B (zh) | 一种虚拟化服务的实现方法和装置 | |
US9317340B2 (en) | Intelligent virtual machine (VM) re-location | |
CN109976879B (zh) | 一种基于资源使用曲线互补的云计算虚拟机放置方法 | |
CN107423114B (zh) | 一种基于服务分类的虚拟机动态迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |