一种节点间共享内存的虚拟机迁移方法

文档序号:8472823阅读:533来源:国知局
一种节点间共享内存的虚拟机迁移方法
【技术领域】
[0001]本发明涉及一种节点间虚拟机迀移方法,特别是涉及一种节点间共享内存的虚拟机迀移方法。
【背景技术】
[0002]云服务器、数据中心系统中,为充分利用硬件资源,一台服务器之上会运行多台虚拟机(virtual machine),按照管理要求或者意外发生时(如断电),经常进行虚拟机迀移操作,目前该技术已经完全实现。
[0003]本发明是在一个专利一 “节点之间内存共享”一基础上进行再次创新,即一个节点可以使用另一个节点的内存,俗称“借用”。在内存共享情况下的虚拟机迀移进行的数据传输操作,与节点间内存不共享情况下具有不同特点。云服务器/数据中心系统中,节点之间互相借用内存,可以达到内存资源利用率最大化。虚拟机迀移操作在云服务器/数据中心系统中是不可避免的,在节点间共享内存的情况下,节点间虚拟机迀移会引入新的挑战,是实际应用中必须解决的问题。在内存共享情况下,如果虚拟机迀移策略沿用非内存共享情况下的策略,会导致云服务器/数据中心内存利用率骤降。本发明设计的系统,可以解决以上问题。本专利是用来补充“内存共享”专利的,这是实际应用中需要解决的问题。
[0004]如附图1所示,目前的云服务器平台中,节点借用远程内存时,内存借用者(NodeA)会将远程内存也当做本地内存使用。因此,NodeA节点上的虚拟机(VM3)会使用远程内存。当虚拟机迀移时,如果迀移目标节点(NodeB)也是内存提供者节点(N0deB、N0deC)时,现有的迀移策略是,将VM3使用的物理内存数据拷贝到NodeA本地,然后再次传送到NodeB的本地内存中。若还借用其他节点内存(NodeC),则数据传送方式与以上类似。
[0005]因此,现有技术中的缺点是:
(I)云服务器中节点借用远程内存情况下,传输通道带宽十分有限,传输过程需要在保证正确性前提下尽量节约功耗。按照现有方法,远程被借用的内存需要进行两次传送,不仅会占用互联通道,在通道压力大的情况下,更会导致系统运行变慢,此外还会增加系统功耗。
[0006](2)若将远程内存再次传回本地,必将导致功耗进一步变大。

【发明内容】

[0007]本发明主要解决的技术问题是如何提供一种节点间共享内存的虚拟机迀移方法,能够减少虚拟机迀移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
[0008]为解决上述技术问题,本发明采用的一个技术方案是:提供一种节点间共享内存的虚拟机迀移方法,在向目标节点迀移使用远程内存的虚拟机时,包括两种迀移方式:
(1)将虚拟机所用的节点的内存控制权转移至目标节点;
(2)将虚拟机所用的目标节点以外节点的内存数据,直接传送给目标节点,并直接将需要迀移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。
[0009]在一个较佳实施例中,在迀移方式(2 )中,所述目标节点远程内存的控制权转移给目标节点通过云控制器实现。
[0010]在一个较佳实施例中,在迀移方式(I)、迀移方式(2 )进行虚拟机迀移中,包括拷贝方式和非拷贝方式,其中,
在拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迀移的内存页的信息,
当内存页属于本地节点内存时,将虚拟机使用的物理内存数据拷贝到目标节点。
[0011]在一个较佳实施例中,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
[0012]当内存页不属于目标节点时,获取内存页信息,并传送至云控制器,路由表信息和内存页信息均通过云控制器发送至各自对应的节点。
[0013]判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,则目标节点直接接收数据包并解析,解析后为相关的物理页面建立页表。
[0014]在一个较佳实施例中,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,发送相关页面数据至目标节点,目标节点接收数据包并解析,解析后为相关的物理页面建立页表。
[0015]在一个较佳实施例中,在非拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迀移的内存页信息,
当内存页属于本地节点内存时,借用相关内存页面信息转移至目标节点。
[0016]在一个较佳实施例中,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
[0017]当内存页不属于目标节点时,获取内存页信息并传送至云控制器;
路由表信息和内存页信息均通过云控制器发送至各自对应的节点,并判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,目标节点直接接收数据包并解析,借用远程节点相关物理页面建立页表。
[0018]在一个较佳实施例中,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,将相关页面信息借用给目标节点,目标节点接收数据包并解析,借用远程节点相关物理页面建立页表。
[0019]本发明的有益效果是:能够减少虚拟机迀移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
【附图说明】
[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本发明的一种节点间共享内存的虚拟机迀移方法【背景技术】示意图;
图2是本发明的一种节点间共享内存的虚拟机迀移方法中拷贝方式示意图; 图3是本发明的一种节点间共享内存的虚拟机迀移方法中拷贝方法操作流程示意图; 图4是本发明的一种节点间共享内存的虚拟机迀移方法非拷贝方式示意图;
图5是本发明的一种节点间共享内存的虚拟机迀移方法中非拷贝方式操作流程示意图。
【具体实施方式】
[0021]下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0022]请参阅图2-5,在本发明的一个具体实施例中提供一种节点间共享内存的虚拟机迀移方法,所述的节点间共享内存的虚拟机迀移方法在向目标节点迀移使用远程内存的虚拟机时,包括两种迀移方式:
(1)将虚拟机所用的节点的内存控制权转移至目标节点;
(2)将虚拟机所用的目标节点以外节点的内存数据,直接传送给目标节点,并直接将需要迀移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。
[0023]在迀移方式(2)中,所述目标节点远程内存的控制权转移给目标节点通过云控制器实现。
[0024]在迀移方式(1)、迀移方式(2)进行虚拟机迀移中,包括拷贝方式和非拷贝方式,其中,
在拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迀移的内存页的信息,
当内存页属于本地节点内存时,将虚拟机使用的物理内存数据拷贝到目标节点。
[0025]当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
[0026]当内存页不属于目标节点时,获取内存页信息,并传送至云控制器,路由表信息和内存页信息均通过云控
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1