CN103888501A - 虚拟机迁移方法和装置 - Google Patents
虚拟机迁移方法和装置 Download PDFInfo
- Publication number
- CN103888501A CN103888501A CN201210566520.XA CN201210566520A CN103888501A CN 103888501 A CN103888501 A CN 103888501A CN 201210566520 A CN201210566520 A CN 201210566520A CN 103888501 A CN103888501 A CN 103888501A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine
- memory
- server
- migration
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种虚拟机迁移方法和装置。所述方法包括:通过获取本机中各虚拟机的内存信息,当本机的负载过重时产生虚拟机迁移请求,并获取候选服务器及其内存信息,然后比较虚拟机的内存信息和候选服务器的内存信息,以确定本机中需要迁移的虚拟机和在所述候选服务器中选择目标服务器,并将本机中选择的需要迁移的虚拟机迁移至选择的目标服务器。本发明实施例保证了虚拟机迁移后系统具有非常高的内存利用率,不会出现对物理内存需求的急剧增加,而且保证了在服务器内存负载过重时,迁移虚拟机后服务器能够获得所期望的空闲内存。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种虚拟机迁移方法和装置。
背景技术
随着虚拟化技术的蓬勃发展,数据中心越来越多的采用虚拟机提供服务,并且在数据中心中,内存往往成为虚拟机整合的瓶颈,虚拟化环境下的内存共享技术近几年得到了迅速发展并被广泛应用。为了使数据中心的负载平衡或者有效利用服务器资源,常常需要迁移虚拟机。虚拟机的迁移是指在由多个服务器构成的集群中,将源服务器上的虚拟机(包括操作系统和应用程序)移动到目标服务器,并且能够在目标服务器上继续正常运行。虚拟化环境下的内存共享技术是指,在物理内存中以页框为操作单位,通过将物理内存中内容一样的页框仅保留一份,从而消除冗余,增大物理内存的利用率,运行更多的虚拟机。
为了使数据中心的负载平衡或者有效利用服务器资源,都需要做出迁移决策。当前的迁移决策方案基本为:监控每台服务器的资源利用情况,例如监控CPU、内存和网络带宽等负载情况,将负载过重的服务器上的虚拟机迁往负载较轻的服务器,以达到负载平衡。
然而,上述方案对于采用内存共享技术的虚拟化环境是不适合的,决策得出的方案有时不能达到最优效果,有时甚至不能达到预期的效果。首先是,无法保证迁移后各服务器构成的集群中具有较高的内存利用率,反而可能出现集群的物理内存需求量的大幅上升。其次,当由于内存资源紧张而迁移虚拟机时,无法保证迁移之后,获得期望的空闲内存。
发明内容
本发明实施例提供一种虚拟机迁移方法和装置,以提高虚拟机迁移后集群具有较高的内存利用率。
本发明实施例第一方面,提供一种虚拟机迁移方法,包括:
获取本机中各虚拟机的内存信息;
根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息;
根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器;
将本机中的虚拟机迁移至选择的目标服务器。
本发明实施例第一方面的第一种可能的实现方式,所述候选服务器的内存信息包括服务器内存哈希表;
虚拟机内存信息包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量。
结合本发明实施例第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器包括:
根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;
根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
结合本发明实施例第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机包括:
选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;
将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;
选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
结合本发明实施例第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器包括:
将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;
选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
结合本发明实施例第一方面,在第一方面的第五种可能的实现方式中,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。
结合本发明实施例第一方面,在第一方面的第六种可能的实现方式中,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机的负载状态产生虚拟机迁移请求;
通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;
通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。
结合本发明实施例第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,根据本机的负载状态产生虚拟机迁移请求包括:
识别本机的CPU利用率、网络利用率和内存利用率;
当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;
当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中。
结合本发明实施例第一方面,在第一方面的第八种可能的实现方式中,还包括:
通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;
当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。
结合本发明实施例第一方面,在第一方面的第九种可能的实现方式中,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机的负载状态产生虚拟机迁移请求;
将所述虚拟机迁移请求上报至迁移授权方;
接收所述迁移授权方返回的候选服务器及其内存信息。
本发明实施例的第二方面提供一种虚拟机迁移装置,包括:
虚拟机内存获取模块,用于获取本机中各虚拟机的内存信息;
候选服务器获取模块,用于根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息;
目标服务器选择模块,用于根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器;
虚拟机迁移模块,用于将本机中的待迁移虚拟机迁移至选择的目标服务器。
本发明实施例第二方面的第一种实现方式,所述候选服务器的内存信息包括服务器内存哈希表;
虚拟机内存信息包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量。
结合本发明实施例第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,目标服务器选择模块包括:
虚拟机选择单元,用于根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;
服务器选择单元,用于根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
结合本发明实施例第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,虚拟机选择单元包括:
第一选择子单元,用于选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;
共享内存比较子单元,用于将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;
第二选择子单元,用于选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
结合本发明实施例第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,服务器选择单元包括:
内存共享量比较子单元,用于将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;
目标服务器选择子单元,用于选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
结合本发明实施例第二方面,在第二方面的第五种可能的实现方式中,候选服务器获取模块具体用于根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。。
结合本发明实施例第二方面,在第二方面的第六种可能的实现方式中,候选服务器获取模块包括:
请求产生单元,用于根据本机的负载状态产生虚拟机迁移请求;
请求广播单元,用于通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;
响应接收单元,用于通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。。
结合本发明实施例第二方面,在第二方面的第七种可能的实现方式中,请求产生单元包括:
负载类型识别子单元,用于识别本机的CPU利用率、网络利用率和内存利用率;
比较第一门限值子单元,用于当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;
比较第二门限值子单元,用于当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中。
结合本发明实施例第二方面,在第二方面的第八种可能的实现方式中,还包括:
请求接收模块,用于通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;
响应发送模块,用于当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。
结合本发明实施例第二方面,在第二方面的第九种可能的实现方式中,候选服务器获取模块包括:
请求产生单元,用于根据本机的负载状态产生虚拟机迁移请求;
请求上报单元,用于将所述虚拟机迁移请求上报至迁移授权方;
服务器接收单元,用于接收所述迁移授权方返回的候选服务器及其内存信息。
本发明各实施例提供的虚拟机迁移方法和装置,通过获取本机中各虚拟机的内存信息,当本机的负载过重时产生虚拟机迁移请求,并获取候选服务器及其内存信息,然后比较虚拟机的内存信息和候选服务器的内存信息,以确定本机中需要迁移的虚拟机和在所述候选服务器中选择目标服务器,并将本机中选择的需要迁移的虚拟机迁移至选择的目标服务器,从而解决了现有技术中虚拟机迁移后可能导致系统内存利用率降低,系统物理内存的大量消耗以及迁移的虚拟机所在的服务器无法获得所期望的空闲内存的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明虚拟机迁移方法实施例一的流程图;
图2为本发明虚拟机迁移方法实施例二的流程图;
图3为本发明虚拟机迁移方法实施例三的流程图;
图4为本发明虚拟机迁移装置实施例一的结构示意图;
图5为本发明虚拟机迁移装置实施例二的结构示意图;
图6为本发明虚拟机迁移装置实施例三的结构示意图;
图7为本发明虚拟机迁移装置实施例四的结构示意图;
图8为本发明虚拟机迁移装置实施例五的结构示意图;
图9为本发明虚拟机迁移装置实施例六的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明虚拟机迁移方法实施例一的流程图,本实施例适用于多台服务器构成的集群中,将虚拟机在服务器之间进行迁移的情况。本实施例的虚拟机迁移方法可以由配置在各服务器中的虚拟机迁移装置来执行,该装置可以采用硬件和/或软件来实现。参照图1,本实施例的虚拟机迁移方法包括如下步骤:
步骤101、获取本机中各虚拟机的内存信息;
虚拟机的内存信息用于表征该虚拟机的内存使用情况,优选是包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量等信息。所谓虚拟机内存哈希表,是指该虚拟机所占用的内存数据基于哈希算法转换为哈希结果后形成的哈希表。虚拟机内存占用量是指该虚拟机所占用的内存总量,独占物理内存量是指该虚拟机的内存占用量除去与其它虚拟机共享内存之外剩余的、由该虚拟机独占的内存量。
步骤102、根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息;
在步骤102中,负载状态可以是CPU、网络带宽和内存等服务器所能利用的资源情况。服务器在负载较重时产生虚拟机迁移请求。在获知所有可迁移的候选服务器的同时还获取各候选服务器的内存信息,即能表达其内存使用情况的信息,例如空闲内存量、该候选服务器的内存哈希表等。
步骤103、根据各虚拟机的内存信息和候选服务器的内存信息,在候选服务器中选择目标服务器;
步骤104、将本机中的待迁移虚拟机迁移至选择的目标服务器。
具体而言,通过为每台虚拟机建立虚拟机内存哈希表,并获取虚拟机内存占用量和虚拟机独占物理内存量,以在产生虚拟机迁移请求时,将虚拟机内存信息和候选服务器的内存信息进行比较,从而选择需要迁移的虚拟机及其要迁往的目标服务器。待迁移虚拟机可以是用户指定的,也可以优选是根据负载情况自动选择的能减轻负载的虚拟机。比较的方式可以根据需求进行设定,使得执行虚拟机迁移后的服务器甚至服务器集群的内存利用率提高,或者达到预期的迁移目标。
本发明实施例通过在虚拟机迁移过程中,考虑待迁移虚拟机和候选服务器的内存信息,从而选择合适的目标服务器,提高了虚拟机迁移后服务器的内存利用率,保证了迁移的虚拟机所在的服务器能够获得所期望的空闲内存量。
图2为本发明虚拟机迁移方法实施例二的流程图,本发明实施例以上述实施例为基础,进一步进行了优化,参照图2,本实施例中,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息的操作具体包括如下步骤:
步骤1021、根据本机的负载状态产生虚拟机迁移请求。
典型的情况是,当本机的负载过重时,产生虚拟机迁移请求。负载除了可以考虑CPU、网络资源利用率之外,优选是根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。例如,各虚拟机的独占物理内存量达到设定门限值时就可以触发产生虚拟机迁移情况。
具体执行的操作可以为:
步骤1021a、识别本机的CPU利用率、网络利用率和内存利用率;
步骤1021b、当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;
步骤1021c、当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中;
上述步骤中,可以综合考虑各种资源使用情况,也可以独立考虑CPU、网络和内存利用率的情况。将本机的负载情况携带在虚拟机迁移请求中,可以令其他服务器考虑是否可满足此迁移需求。例如,独占物理内存量最多的虚拟机内存信息携带在迁移请求中,可令其他服务器考虑自身的空闲内存是否足以承担迁移后的虚拟机。
步骤1022、通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;
步骤1023、通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。
上述步骤中,其它服务器的接收线程监听其它服务器发送的虚拟机迁移请求,该服务器可以根据自身负载状态判断自身是否满足虚拟机迁移请求。
当服务器识别到自身负载状态低于某一设定门限值时,则该服务器产生并通过发送线程返回迁移响应及其内存信息,作为候选服务器。
当服务器负载状态未低于某一设定门限值时,该服务器忽略收到的数据并返回无效值。
即每个服务器既作为迁移者,又作为被迁移者,既能够产生并发送迁移请求,也能返回迁移响应。所以,该方法还可以包括:通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。所谓能满足迁移请求,通常是指该服务器的负载情况能够满足迁移请求的需求。
本发明实施例的技术方案,通过以发送线程和接收线程来收发迁移请求和迁移响应,使得各个服务器能够从多个服务器中选择目标服务器。
当然,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息的操作也可以是:根据本机的负载状态产生虚拟机迁移请求;将所述虚拟机迁移请求上报至迁移授权方;接收所述迁移授权方返回的候选服务器及其内存信息。即迁移授权方可作为集中管理者,统一为各服务器收发迁移请求和迁移响应。
图3为本发明虚拟机迁移方法实施例三的流程图,本发明实施例以上述实施例一为基础,进一步进行了优化,参照图3,本实施例中,虚拟机内存信息优选是包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量,候选服务器的内存信息包括服务器内存哈希表,则根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器具体操作包括如下步骤:
步骤310、根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;
上述技术方案,首先可以在多个虚拟机中选择最适合迁移的待迁移虚拟机,此选择的依据可以是候选服务器具备迁移的能力,以及能够与候选服务器具有最多共享量的虚拟机,共享量最大表明该虚拟机的迁移将能够使用更多的共享内存,而占用更少的独占物理内存。
则步骤310可以具体为:
步骤311、选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;
步骤312、将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;
步骤313、选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
步骤320、根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
上述步骤320是在确定待迁移虚拟机之后进一步选择目标服务器,其依据也可以是内存共享量的最大化,则步骤320可包括:
步骤321、将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;
步骤322、选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
本发明实施例通过在虚拟机迁移过程中,首先比较待迁移虚拟机的内存占用量和候选服务器的空闲内存量,然后将选择的待迁移虚拟机的虚拟机哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量,并根据内存共享量确定需要迁移的虚拟机和需要迁移的虚拟机要迁往的目标服务器。从而提高了虚拟机迁移后服务器的内存利用率,避免了迁移后可能出现的对物理内存需求量的急剧上升。
图4为本发明虚拟机迁移装置实施例一的结构示意图,本实施例适用于多台服务器构成的集群中,将虚拟机在服务器之间进行迁移的情况。该装置可以采用硬件和/或软件来实现,配置在服务器中。参照图4,该实施例虚拟机迁移装置包括如下模块:虚拟机内存获取模块401、候选服务器获取模块402、目标服务器选择模块403和虚拟机迁移模块404。
其中,虚拟机内存获取模块401用于获取本机中各虚拟机的内存信息,虚拟机的内存信息优选是包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量;候选服务器获取模块402用于根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息,所述候选服务器的内存信息可以包括服务器内存哈希表;目标服务器选择模块403用于根据各虚拟机的内存信息和候选服务器的内存信息,在候选服务器中选择目标服务器;虚拟机迁移模块404用于将本机中的待迁移虚拟机迁移至选择的目标服务器。
该候选服务器获取模块402优选用于根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。
上述的虚拟机迁移装置,优选是候选服务器获取模块402包括:请求产生单元4021、请求广播单元4022和响应接收单元4023。其中,请求产生单元4021,用于根据本机的负载状态产生虚拟机迁移请求;请求广播单元4022,用于通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;响应接收单元4023,用于通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。
上述方案中,该装置还可以包括:请求接收模块405和响应发送模块406。其中,请求接收模块405用于通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;响应发送模块406用于当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。
在图4所示实施例的基础上,图5为本发明虚拟机迁移装置实施例二的结构示意图,参照图5,目标服务器选择模块403包括如下单元:虚拟机选择单元4031和服务器选择单元4032。
其中,虚拟机选择单元4031用于根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;服务器选择单元4032用于根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
本发明实施例提供的虚拟机迁移装置,通过各待迁移虚拟机的内存信息和候选服务器的内存信息,在候选服务器中选择目标服务器,提高了迁移虚拟机后服务器的内存利用率。
图6为本发明虚拟机迁移装置实施例三的结构示意图,参照图6,更详细的,虚拟机选择单元4031可包括如下子单元:第一选择子单元4031a、共享内存比较子单元4031b和第二选择子单元4031c。
其中,第一选择子单元4031a用于选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;共享内存比较子单元4031b用于将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;第二选择子单元4031c用于选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
本发明实施例提供的虚拟机迁移装置,把虚拟机内存占用量和各候选服务器的空闲内存量进行比较选择符合条件的虚拟机,把选择的符合条件的虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取内存共享量,再根据获取的内存共享量选择选中的需要迁移的虚拟机,提高了迁移虚拟机后服务器的内存利用率。
图7为本发明虚拟机迁移装置实施例四的结构示意图,参照图7,更详细地,服务器选择单元4032包括如下子单元:内存共享量比较子单元4032a和目标服务器选择子单元4032b。
其中,内存共享量比较子单元4032a用于将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;目标服务器选择子单元4032b用于选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
本发明实施例提供的虚拟机迁移装置,通过比较待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表,根据获取的最大的内存共享量选择目标服务器,避免了服务器内存负载过重导致迁移虚拟机后无法获得足够的空闲内存,提高了迁移虚拟机后服务器的内存利用率。
图8为本发明虚拟机迁移装置实施例五的结构示意图,参照图8,候选服务器获取模块402可包括如下单元:请求产生单元4021、请求广播单元4022和响应接收单元4023。
其中,请求产生单元4021用于根据本机的负载状态产生虚拟机迁移请求;请求广播单元4022用于通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;响应接收单元4023用于通过本机中的接收线程接收候选服务器返回的迁移响应。
或者,候选服务器获取模块402也可包括:请求产生单元,用于根据本机的负载状态产生虚拟机迁移请求;请求上报单元,用于将所述虚拟机迁移请求上报至迁移授权方;服务器接收单元,用于接收所述迁移授权方返回的候选服务器及其内存信息。
两种方式可并列执行,或结合实现。
本发明实施例提供的虚拟机迁移装置,通过根据本机的负载状态产生虚拟机迁移请求,并广播虚拟机迁移请求至候选服务器,候选服务器返回响应,避免了服务器内存负载过重导致迁移虚拟机后无法获得足够的空闲内存。
图9为本发明虚拟机迁移装置实施例六的结构示意图,参照图9,请求产生单元4021可包括如下子单元:负载类型识别子单元4021a、比较第一门限值子单元4021b和比较第二门限值子单元4021c。
其中,负载类型识别子单元4021a用于识别本机的CPU利用率、网络利用率和内存利用率;比较第一门限值子单元4021b用于当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;比较第二门限值子单元4021c用于当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中。
本发明实施例提供的虚拟机迁移装置,通过识别本机的CPU利用率、网络利用率和内存利用率,判断负载类型,根据负载类型产生虚拟机迁移请求,从而保证了虚拟机迁移后服务器可以获得足够的空闲内存。
本发明各实施例的虚拟机迁移装置可用于执行本发明任意实施例所提供的虚拟机迁移方法,具备相应的功能模块和有益效果。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (20)
1.一种虚拟机迁移方法,其特征在于,包括:
获取本机中各虚拟机的内存信息;
根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息;
根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器;
将本机中的待迁移虚拟机迁移至选择的目标服务器。
2.根据权利要求1所述的虚拟机迁移方法,其特征在于:
所述候选服务器的内存信息包括服务器内存哈希表;
虚拟机内存信息包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量。
3.根据权利要求2所述的虚拟机迁移方法,其特征在于,根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器包括:
根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;
根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
4.根据权利要求3所述的虚拟机迁移方法,其特征在于,根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机包括:
选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;
将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;
选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
5.根据权利要求3所述的虚拟机迁移方法,其特征在于,根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器包括:
将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;
选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
6.根据权利要求1所述的虚拟机迁移方法,其特征在于,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。
7.根据权利要求1所述的虚拟机迁移方法,其特征在于,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机的负载状态产生虚拟机迁移请求;
通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;
通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。
8.根据权利要求7所述的虚拟机迁移方法,其特征在于,根据本机的负载状态产生虚拟机迁移请求包括:
识别本机的CPU利用率、网络利用率和内存利用率;
当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;
当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中。
9.根据权利要求7所述的虚拟机迁移方法,其特征在于,还包括:
通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;
当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。
10.根据权利要求1所述的虚拟机迁移方法,其特征在于,根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息包括:
根据本机的负载状态产生虚拟机迁移请求;
将所述虚拟机迁移请求上报至迁移授权方;
接收所述迁移授权方返回的候选服务器及其内存信息。
11.一种虚拟机迁移装置,其特征在于,包括:
虚拟机内存获取模块,用于获取本机中各虚拟机的内存信息;
候选服务器获取模块,用于根据本机的负载状态产生虚拟机迁移请求,并获取候选服务器及其内存信息;
目标服务器选择模块,用于根据所述各虚拟机的内存信息和候选服务器的内存信息,在所述候选服务器中选择目标服务器;
虚拟机迁移模块,用于将本机中的待迁移虚拟机迁移至选择的目标服务器。
12.根据权利要求11所述的虚拟机迁移装置,其特征在于:
所述候选服务器的内存信息包括服务器内存哈希表;
虚拟机内存信息包括虚拟机内存哈希表、虚拟机内存占用量和虚拟机独占物理内存量。
13.根据权利要求12所述的虚拟机迁移装置,其特征在于,目标服务器选择模块包括:
虚拟机选择单元,用于根据各虚拟机的内存信息和所述候选服务器的内存信息,选择待迁移虚拟机;
服务器选择单元,用于根据选择的待迁移虚拟机的内存信息和所述候选服务器的内存信息,在所述候选服务器中选择目标服务器。
14.根据权利要求13所述的虚拟机迁移装置,其特征在于,虚拟机选择单元包括:
第一选择子单元,用于选择虚拟机内存占用量小于或等于各候选服务器的空闲内存量的虚拟机;
共享内存比较子单元,用于将所选择的各虚拟机的虚拟机内存哈希表和候选服务器的服务器内存哈希表进行比较,获取各内存共享量;
第二选择子单元,用于选择能和候选服务器产生内存共享量最大的虚拟机作为待迁移虚拟机。
15.根据权利要求13所述的虚拟机迁移装置,其特征在于,服务器选择单元包括:
内存共享量比较子单元,用于将待迁移虚拟机的虚拟机内存哈希表和候选服务器的服务器哈希表进行比较,获取内存共享量;
目标服务器选择子单元,用于选择能和待迁移虚拟机能产生内存共享量最大的候选服务器作为目标服务器。
16.根据权利要求11所述的虚拟机迁移装置,其特征在于,候选服务器获取模块具体用于根据本机中各虚拟机的独占物理内存使用情况产生虚拟机迁移请求,并获取候选服务器及其内存信息。
17.根据权利要求11所述的虚拟机迁移装置,其特征在于,候选服务器获取模块包括:
请求产生单元,用于根据本机的负载状态产生虚拟机迁移请求;
请求广播单元,用于通过本机中的发送线程将所述虚拟机迁移请求广播至所在服务器集群中的所有服务器;
响应接收单元,用于通过本机中的接收线程接收候选服务器返回的迁移响应及候选服务器的内存信息。
18.根据权利要求17所述的虚拟机迁移装置,其特征在于,
负载类型识别子单元,用于识别本机的CPU利用率、网络利用率和内存利用率;
比较第一门限值子单元,用于当识别到本机的CPU利用率或网络利用率达到第一设定门限值时,将本机各虚拟机的内存信息携带在产生的虚拟机迁移请求中;
比较第二门限值子单元,用于当识别到本机的内存利用率达到第二设定门限值时,将本机中独占物理内存量最多的虚拟机的内存信息携带在产生的虚拟机迁移请求中。
19.根据权利要求17所述的虚拟机迁移装置,其特征在于,还包括:
请求接收模块,用于通过本机的接收线程监听其它服务器发送的虚拟机迁移请求;
响应发送模块,用于当判断本机能够满足所述虚拟机迁移请求时,产生并返回迁移响应和本机的内存信息,作为候选服务器及其内存信息。
20.根据权利要求11所述的虚拟机迁移装置,其特征在于,候选服务器获取模块包括:
请求产生单元,用于根据本机的负载状态产生虚拟机迁移请求;
请求上报单元,用于将所述虚拟机迁移请求上报至迁移授权方;
服务器接收单元,用于接收所述迁移授权方返回的候选服务器及其内存信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566520.XA CN103888501A (zh) | 2012-12-24 | 2012-12-24 | 虚拟机迁移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566520.XA CN103888501A (zh) | 2012-12-24 | 2012-12-24 | 虚拟机迁移方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103888501A true CN103888501A (zh) | 2014-06-25 |
Family
ID=50957219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210566520.XA Pending CN103888501A (zh) | 2012-12-24 | 2012-12-24 | 虚拟机迁移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888501A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991822A (zh) * | 2015-06-30 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种管理内存的方法和装置 |
CN105260245A (zh) * | 2015-11-04 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种资源调度方法及装置 |
CN105389136A (zh) * | 2015-12-24 | 2016-03-09 | 广东石油化工学院 | 一种虚拟机在线迁移方法 |
CN106325972A (zh) * | 2015-06-24 | 2017-01-11 | 中国移动通信集团公司 | 一种虚拟机管理方法及网络设备 |
CN106961482A (zh) * | 2017-04-01 | 2017-07-18 | 联想(北京)有限公司 | 一种信息处理方法及装置、存储介质、电子设备 |
CN107168786A (zh) * | 2017-06-15 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种虚拟机的动态迁移方法及装置 |
CN107294865A (zh) * | 2017-07-31 | 2017-10-24 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
CN109039933A (zh) * | 2018-08-14 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种集群网络优化方法、装置、设备及介质 |
CN109151041A (zh) * | 2018-09-06 | 2019-01-04 | 网宿科技股份有限公司 | 一种监控节点的调整方法及装置 |
CN109189574A (zh) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于虚拟化内存负载监控的负载均衡调度方法及系统 |
WO2019196595A1 (zh) * | 2018-04-13 | 2019-10-17 | 华为技术有限公司 | 管理应用程序的方法与装置 |
CN110673926A (zh) * | 2019-09-20 | 2020-01-10 | 深圳市发掘科技有限公司 | 面向移动用户的云系统虚拟机迁移方法及装置、服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055419A1 (en) * | 2003-05-23 | 2005-03-10 | Oh Jae C. | Method and apparatus for platform independent network virtual memory (PINVM) hierarchy |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
-
2012
- 2012-12-24 CN CN201210566520.XA patent/CN103888501A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055419A1 (en) * | 2003-05-23 | 2005-03-10 | Oh Jae C. | Method and apparatus for platform independent network virtual memory (PINVM) hierarchy |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325972A (zh) * | 2015-06-24 | 2017-01-11 | 中国移动通信集团公司 | 一种虚拟机管理方法及网络设备 |
CN106325972B (zh) * | 2015-06-24 | 2020-02-07 | 中国移动通信集团公司 | 一种虚拟机管理方法及网络设备 |
CN104991822A (zh) * | 2015-06-30 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种管理内存的方法和装置 |
CN105260245A (zh) * | 2015-11-04 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种资源调度方法及装置 |
CN105260245B (zh) * | 2015-11-04 | 2018-11-13 | 浪潮(北京)电子信息产业有限公司 | 一种资源调度方法及装置 |
CN105389136A (zh) * | 2015-12-24 | 2016-03-09 | 广东石油化工学院 | 一种虚拟机在线迁移方法 |
CN106961482A (zh) * | 2017-04-01 | 2017-07-18 | 联想(北京)有限公司 | 一种信息处理方法及装置、存储介质、电子设备 |
CN107168786A (zh) * | 2017-06-15 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种虚拟机的动态迁移方法及装置 |
CN107294865B (zh) * | 2017-07-31 | 2019-12-06 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
CN107294865A (zh) * | 2017-07-31 | 2017-10-24 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
WO2019196595A1 (zh) * | 2018-04-13 | 2019-10-17 | 华为技术有限公司 | 管理应用程序的方法与装置 |
US11507427B2 (en) | 2018-04-13 | 2022-11-22 | Huawei Technologies Co., Ltd. | Application program management method and apparatus |
CN109039933A (zh) * | 2018-08-14 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种集群网络优化方法、装置、设备及介质 |
CN109039933B (zh) * | 2018-08-14 | 2022-07-08 | 郑州云海信息技术有限公司 | 一种集群网络优化方法、装置、设备及介质 |
CN109189574A (zh) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于虚拟化内存负载监控的负载均衡调度方法及系统 |
CN109151041A (zh) * | 2018-09-06 | 2019-01-04 | 网宿科技股份有限公司 | 一种监控节点的调整方法及装置 |
CN109151041B (zh) * | 2018-09-06 | 2021-02-26 | 网宿科技股份有限公司 | 一种监控节点的调整方法及装置 |
CN110673926A (zh) * | 2019-09-20 | 2020-01-10 | 深圳市发掘科技有限公司 | 面向移动用户的云系统虚拟机迁移方法及装置、服务器 |
CN110673926B (zh) * | 2019-09-20 | 2023-04-21 | 深圳市发掘科技有限公司 | 面向移动用户的云系统虚拟机迁移方法及装置、服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888501A (zh) | 虚拟机迁移方法和装置 | |
US20220318064A1 (en) | Technologies for batching requests in an edge infrastructure | |
CN111190688B (zh) | 一种面向云数据中心的Docker迁移方法及系统 | |
US10394611B2 (en) | Scaling computing clusters in a distributed computing system | |
CN108282514B (zh) | 一种分布式业务建立方法及装置 | |
CN103473142A (zh) | 一种云计算操作系统下的虚拟机迁移方法及装置 | |
CN1875348A (zh) | 信息系统、负载控制方法、负载控制程序和记录媒体 | |
CN100570566C (zh) | 一种异构多核间协调调度的方法及异构多核系统 | |
CN108196978A (zh) | 数据存储方法、装置、数据存储系统及可读存储介质 | |
CN105183565A (zh) | 计算机、服务质量控制方法及装置 | |
CN108132827B (zh) | 一种网络切片资源映射方法、相关设备及系统 | |
CN103365726A (zh) | 一种面向gpu集群的资源管理方法和系统 | |
US20210329354A1 (en) | Telemetry collection technologies | |
US20210326221A1 (en) | Network interface device management of service execution failover | |
US8458702B1 (en) | Method for implementing user space up-calls on java virtual machine before/after garbage collection | |
CN104753992A (zh) | 一种数据存储、虚拟平台故障恢复的方法、设备和系统 | |
CN104793982A (zh) | 一种创建虚拟机的方法和设备 | |
CN108694083B (zh) | 一种服务器的数据处理方法和装置 | |
CN102419753A (zh) | 信息处理设备、信息处理方法和信息处理系统 | |
CN117149382A (zh) | 虚拟机调度方法、装置、计算机设备和存储介质 | |
CN117056023A (zh) | 一种分布式系统存储资源调度方法及装置 | |
CN104156316A (zh) | 一种Hadoop集群批处理作业的方法及系统 | |
CN104268004A (zh) | 一种云计算操作系统下的虚拟机迁移方法 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
WO2015180111A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140625 |
|
RJ01 | Rejection of invention patent application after publication |