CN104793986B - 一种节点间共享内存的虚拟机迁移方法 - Google Patents
一种节点间共享内存的虚拟机迁移方法 Download PDFInfo
- Publication number
- CN104793986B CN104793986B CN201510222657.7A CN201510222657A CN104793986B CN 104793986 B CN104793986 B CN 104793986B CN 201510222657 A CN201510222657 A CN 201510222657A CN 104793986 B CN104793986 B CN 104793986B
- Authority
- CN
- China
- Prior art keywords
- node
- destination node
- memory
- page
- virtual machine
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种节点间共享内存的虚拟机迁移方法,在向目标节点迁移使用远程内存的虚拟机时,包括两种迁移方式:非拷贝方式,将虚拟机所用的节点的内存控制权转移至目标节点,包括本地节点内存和远程节点内存;拷贝方式,将虚拟机所用的目标节点以外节点的内存数据,传送给目标节点,并直接将需要迁移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。通过上述方式,本发明提供的节点间共享内存的虚拟机迁移方法,能够减少虚拟机迁移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
Description
技术领域
本发明涉及一种节点间虚拟机迁移方法,特别是涉及一种节点间共享内存的虚拟机迁移方法。
背景技术
云服务器、数据中心系统中,为充分利用硬件资源,一台服务器之上会运行多台虚拟机(virtual machine),按照管理要求或者意外发生时(如断电),经常进行虚拟机迁移操作,目前该技术已经完全实现。
本发明是在一个专利--“节点之间内存共享”-- 基础上进行再次创新,即一个节点可以使用另一个节点的内存,俗称“借用”。在内存共享情况下的虚拟机迁移进行的数据传输操作,与节点间内存不共享情况下具有不同特点。云服务器/数据中心系统中,节点之间互相借用内存,可以达到内存资源利用率最大化。虚拟机迁移操作在云服务器/数据中心系统中是不可避免的,在节点间共享内存的情况下,节点间虚拟机迁移会引入新的挑战,是实际应用中必须解决的问题。在内存共享情况下,如果虚拟机迁移策略沿用非内存共享情况下的策略,会导致云服务器/数据中心内存利用率骤降。本发明设计的系统,可以解决以上问题。本专利是用来补充“内存共享”专利的,这是实际应用中需要解决的问题。
如附图1所示,目前的云服务器平台中,节点借用远程内存时,内存借用者(NodeA)会将远程内存也当做本地内存使用。因此,NodeA节点上的虚拟机(VM3)会使用远程内存。当虚拟机迁移时,如果迁移目标节点(NodeB)也是内存提供者节点(NodeB、NodeC)时,现有的迁移策略是,将VM3使用的物理内存数据拷贝到NodeA本地,然后再次传送到NodeB的本地内存中。若还借用其他节点内存(NodeC),则数据传送方式与以上类似。
因此,现有技术中的缺点是:
(1)云服务器中节点借用远程内存情况下,传输通道带宽十分有限,传输过程需要在保证正确性前提下尽量节约功耗。按照现有方法,远程被借用的内存需要进行两次传送,不仅会占用互联通道,在通道压力大的情况下,更会导致系统运行变慢,此外还会增加系统功耗。
(2)若将远程内存再次传回本地,必将导致功耗进一步变大。
发明内容
本发明主要解决的技术问题是如何提供一种节点间共享内存的虚拟机迁移方法,能够减少虚拟机迁移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种节点间共享内存的虚拟机迁移方法,在向目标节点迁移使用远程内存的虚拟机时,包括两种迁移方式:
(1)将虚拟机所用的节点的内存控制权转移至目标节点;
(2)将虚拟机所用的目标节点以外节点的内存数据,直接传送给目标节点,并直接将需要迁移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。
在一个较佳实施例中,在迁移方式(2)中,所述目标节点远程内存的控制权转移给目标节点通过云控制器实现。
在一个较佳实施例中,在迁移方式(1)、迁移方式(2)进行虚拟机迁移中,包括拷贝方式和非拷贝方式,其中,
在拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页的信息,
当内存页属于本地节点内存时,将虚拟机使用的物理内存数据拷贝到目标节点。
在一个较佳实施例中,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
当内存页不属于目标节点时,获取内存页信息,并传送至云控制器,路由表信息和内存页信息均通过云控制器发送至各自对应的节点。
判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,则目标节点直接接收数据包并解析,解析后为相关的物理页面建立页表。
在一个较佳实施例中,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,发送相关页面数据至目标节点,目标节点接收数据包并解析,解析后为相关的物理页面建立页表。
在一个较佳实施例中,在非拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页信息,
当内存页属于本地节点内存时,借用相关内存页面信息转移至目标节点。
在一个较佳实施例中,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
当内存页不属于目标节点时,获取内存页信息并传送至云控制器;
路由表信息和内存页信息均通过云控制器发送至各自对应的节点,并判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,目标节点直接接收数据包并解析,借用远程节点相关物理页面建立页表。
在一个较佳实施例中,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,将相关页面信息借用给目标节点,目标节点接收数据包并解析,借用远程节点相关物理页面建立页表。
本发明的有益效果是:能够减少虚拟机迁移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本发明的一种节点间共享内存的虚拟机迁移方法背景技术示意图;
图2是本发明的一种节点间共享内存的虚拟机迁移方法中拷贝方式示意图;
图3是本发明的一种节点间共享内存的虚拟机迁移方法中拷贝方法操作流程示意图;
图4是本发明的一种节点间共享内存的虚拟机迁移方法非拷贝方式示意图;
图5是本发明的一种节点间共享内存的虚拟机迁移方法中非拷贝方式操作流程示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图2-5,在本发明的一个具体实施例中提供一种节点间共享内存的虚拟机迁移方法,所述的节点间共享内存的虚拟机迁移方法在向目标节点迁移使用远程内存的虚拟机时,包括两种迁移方式:
(1)将虚拟机所用的节点的内存控制权转移至目标节点;
(2)将虚拟机所用的目标节点以外节点的内存数据,直接传送给目标节点,并直接将需要迁移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。
在迁移方式(2)中,所述目标节点远程内存的控制权转移给目标节点通过云控制器实现。
在迁移方式(1)、迁移方式(2)进行虚拟机迁移中,包括拷贝方式和非拷贝方式,其中,
在拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页的信息,
当内存页属于本地节点内存时,将虚拟机使用的物理内存数据拷贝到目标节点。
当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
当内存页不属于目标节点时,获取内存页信息,并传送至云控制器,路由表信息和内存页信息均通过云控制器发送至各自对应的节点。
判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,则目标节点直接接收数据包并解析,解析后为相关的物理页面建立页表。
当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,发送相关页面数据至目标节点,目标节点接收数据包并解析,解析后为相关的物理页面建立页表。
在非拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页信息,
当内存页属于本地节点内存时,借用相关内存页面信息转移至目标节点。
当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器。
当内存页不属于目标节点时,获取内存页信息并传送至云控制器;
路由表信息和内存页信息均通过云控制器发送至各自对应的节点,并判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,目标节点直接接收数据包并解析,借用远程节点相关物理页面建立页表。
当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,将相关页面信息借用给目标节点,目标节点接收数据包并解析,借用远程节点相关物理页面建立页表。
在一个具体实施例中,具体操作步骤包括:S1.包括将内存控制权转移,而不是拷贝相应内存数据至本地节点,然后再次转移至目标节点。
S2.包括将内存数据直接转移至目标节点,而不是拷贝相应内存数据至本地节点,然后再次转移至目标节点。
S3.包括直接将需要迁移的虚拟机所使用的所有内存,再次借用给目标节点,从而避免任何数据拷贝操作。
其中S1中当使用了目标节点远程内存的虚拟机迁移时,只将虚拟机所用的目标节点的内存控制权还给目标节点。
S2中当使用了目标节点远程内存以及其他节点远程内存的虚拟机迁移时,将虚拟机所用的目标节点以外的节点的内存数据,不经过虚拟机所在节点,直接传送给目标节点。
S3中将需要迁移的虚拟机所使用的所有内存(包括远程和本地),通过云控制器借用给虚拟机迁移目标节点,而非将相关内存数据拷贝至目标节点。
其中,在虚拟机迁移中,包括拷贝方式和非拷贝方式,其中,拷贝方式中:对物理内存进行全局编址,在借用者操作系统(Operating System, OS)中维护一个路由表,可根据页表信息确定远端内存所在节点及在远端内存中的物理地址。当进行虚拟机迁移操作时,确定了迁移目标节点即NodeB后,内存借用节点NodeA的OS扫描需要迁移的内存页,找出使用的远端内存的内存页信息,将这些页对应的路由表信息发送给云控制器,进而转发给相应节点。对于VM3使用的本地内存数据则按照现有方法传输到目标节点。目标节点解析相应数据包,为相应物理页面重新建立页表;其他远程节点解析数据包后,直接将相应内存数据传送到目标节点。
关于非拷贝方式,当进行虚拟机迁移操作时,确定了迁移目标节点NodeB后,内存借用节点NodeA的OS扫描需要迁移的内存页所有信息,将这些页对应的路由表信息发送给云控制器,进而转发给相应节点。
相应节点解析数据包,目标节点直接通过使用远程内存的方式管理VM3使用的所有内存,避免内存拷贝操作。
因此,本发明具有以下优点:能够减少虚拟机迁移时的内存数据拷贝操作,提高系统性能,节约传输通道带宽,并提高系统运行速度,节约功耗,进而降低系统运行成本。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种节点间共享内存的虚拟机迁移方法,其特征在于,在向目标节点迁移使用远程内存的虚拟机时,包括两种迁移方式:
(1)将虚拟机所用的节点的内存控制权转移至目标节点;
(2)将虚拟机所用的目标节点以外节点的内存数据,直接传送给目标节点,并直接将需要迁移的虚拟机所使用的目标节点远程内存的控制权转移给目标节点。
2.根据权利要求1所述的节点间共享内存的虚拟机迁移方法,其特征在于,在迁移方式(2)中,所述目标节点远程内存的控制权转移给目标节点通过云控制器实现。
3.根据权利要求1或2所述的节点间共享内存的虚拟机迁移方法,其特征在于,在迁移方式(1)、迁移方式(2)进行虚拟机迁移中,包括拷贝方式和非拷贝方式,其中,在拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页的信息,当内存页属于本地节点内存时,将虚拟机使用的物理内存数据拷贝到目标节点。
4.根据权利要求3所述的节点间共享内存的虚拟机迁移方法,其特征在于,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器;
当内存页不属于目标节点时,获取内存页信息,并传送至云控制器,路由表信息和内存页信息均通过云控制器发送至各自对应的节点;
判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,则目标节点直接接收数据包并解析,解析后为相关的物理页面建立页表。
5.根据权利要求4所述的节点间共享内存的虚拟机迁移方法,其特征在于,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,发送相关页面数据至目标节点,目标节点接收数据包并解析,解析后为相关的物理页面建立页表。
6.根据权利要求3所述的节点间共享内存的虚拟机迁移方法,其特征在于,在非拷贝方式中,虚拟机获取目标节点的数据,同时内存借用节点获取需要迁移的内存页信息,当内存页属于本地节点内存时,借用相关内存页面信息转移至目标节点。
7.根据权利要求6所述的节点间共享内存的虚拟机迁移方法,其特征在于,当内存页不属于本地节点内存时,判断内存页是否属于目标节点,当内存页属于目标节点时,获取内存页对应的路由表信息并传送至云控制器;
当内存页不属于目标节点时,获取内存页信息并传送至云控制器;
路由表信息和内存页信息均通过云控制器发送至各自对应的节点,并判断路由表信息和内存页信息对应的节点是否属于目标节点,当属于目标节点时,目标节点直接接收数据包并解析,为相应物理页面重新建立页表。
8.根据权利要求7所述的节点间共享内存的虚拟机迁移方法,其特征在于,当路由表信息和内存页信息对应的节点不属于目标节点时,接收数据包并解析,将相关页面信息借用给目标节点,目标节点接收数据包并解析,借用远程节点相关物理页面建立页表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222657.7A CN104793986B (zh) | 2015-05-05 | 2015-05-05 | 一种节点间共享内存的虚拟机迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222657.7A CN104793986B (zh) | 2015-05-05 | 2015-05-05 | 一种节点间共享内存的虚拟机迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793986A CN104793986A (zh) | 2015-07-22 |
CN104793986B true CN104793986B (zh) | 2018-07-31 |
Family
ID=53558801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510222657.7A Active CN104793986B (zh) | 2015-05-05 | 2015-05-05 | 一种节点间共享内存的虚拟机迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793986B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760212B (zh) * | 2016-02-02 | 2019-04-12 | 贵州大学 | 一种基于容器的数据重分布方法及装置 |
CN117851021A (zh) * | 2022-09-30 | 2024-04-09 | 成都华为技术有限公司 | 分布式内存系统、分布式内存管理方法、装置及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972215A (zh) * | 2006-12-06 | 2007-05-30 | 中国科学院计算技术研究所 | 一种远程内存共享系统及其实现方法 |
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN104410681A (zh) * | 2014-11-21 | 2015-03-11 | 上海交通大学 | 基于远程直接内存访问的虚拟机动态迁移优化方法 |
-
2015
- 2015-05-05 CN CN201510222657.7A patent/CN104793986B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972215A (zh) * | 2006-12-06 | 2007-05-30 | 中国科学院计算技术研究所 | 一种远程内存共享系统及其实现方法 |
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN104410681A (zh) * | 2014-11-21 | 2015-03-11 | 上海交通大学 | 基于远程直接内存访问的虚拟机动态迁移优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104793986A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102457439B (zh) | 一种云计算系统的虚拟交换系统及其虚拟交换方法 | |
CN102347900B (zh) | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 | |
CN103294521B (zh) | 一种降低数据中心通信负载及能耗的方法 | |
CN104734915B (zh) | 一种复合多进程多线程的多网络并发动态仿真方法 | |
CN106126318A (zh) | 一种Openstack云平台中虚拟机的动态迁移方法 | |
DE102022104207A1 (de) | Pooling von Netzwerkverarbeitungsressourcen | |
CN101459618A (zh) | 虚拟机网络的数据包转发方法和装置 | |
CN101605084A (zh) | 基于虚拟机的虚拟网络报文处理方法和系统 | |
CN104618508A (zh) | 一种基于Nginx、Memcached、Tomcat负载均衡网状架构 | |
BR112015017876B1 (pt) | Método de partilha de carga e dispositivo de partilha de carga | |
CN103973578A (zh) | 一种虚拟机流量重定向的方法及装置 | |
CN100543684C (zh) | 一种实现透明进程迁移的装置和方法 | |
CN103457852A (zh) | 一种多播虚拟网络的抗毁性映射方法 | |
CN107276826A (zh) | 一种容器网络配置方法和装置 | |
CN104793986B (zh) | 一种节点间共享内存的虚拟机迁移方法 | |
CN106227642B (zh) | 一种Rack管理控制器及整机柜服务器 | |
CN104125293B (zh) | 一种云服务器及其使用方法 | |
CN106899478A (zh) | 电力测试业务通过云平台实现资源弹性扩展的方法 | |
US20240056377A1 (en) | Multi-cluster networking using hub and spoke elastic mesh | |
CN104243172B (zh) | 一种分散控制系统的扩展输入输出装置和方法 | |
CN103595610B (zh) | 一种非确定性资源需求多播虚拟网络的抗毁映射方法 | |
CN105915604B (zh) | 一种云服务器网络体系架构 | |
CN103207843B (zh) | 一种数据行宽度可动态配置的cache结构设计方法 | |
CN108804197A (zh) | 一种动态组件化实现方法、装置、设备及存储介质 | |
CN101018122B (zh) | 模式匹配处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province Patentee after: Hexin Technology (Suzhou) Co.,Ltd. Address before: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province Patentee before: SUZHOU POWERCORE INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |