CN102455942A - 一种广域网虚拟机动态迁移方法及系统 - Google Patents
一种广域网虚拟机动态迁移方法及系统 Download PDFInfo
- Publication number
- CN102455942A CN102455942A CN2010105701404A CN201010570140A CN102455942A CN 102455942 A CN102455942 A CN 102455942A CN 2010105701404 A CN2010105701404 A CN 2010105701404A CN 201010570140 A CN201010570140 A CN 201010570140A CN 102455942 A CN102455942 A CN 102455942A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- hashed value
- deposit data
- page
- destination host
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种快速的广域网虚拟机动态迁移方法。该方法在广域网上将一台或多台虚拟机从源主机动态迁移到目的主机。该方法在目的主机所在的数据中心中,建立所有运行中虚拟机的内存和外存数据的分布式索引,形成目的主机环境。在虚拟机的迁移过程中,在目的主机环境中检索源主机上虚拟机内存和外存数据,只使用广域网传输目的主机环境不存在的内存和外存数据。同时在传输过程中,源主机虚拟机管理器标记内存和外存脏块,迭代发送内存和外存脏块,直至达到停止条件,停止内外存数据的传输,源主机上虚拟机进入停机阶段,目的主机启动虚拟机。该方法能够减少广域网上虚拟机迁移占用的网络带宽,缩短虚拟机动态迁移的时间。
Description
技术领域
本发明属于虚拟机迁移领域,特别是一种广域网上虚拟机内存和外存数据的快速动态迁移方法及系统。
背景技术
虚拟化是指计算元件运行在虚拟的基础设施上而不是真实的基础设施上,利用虚拟化技术把分布的物理计算机资源整合在一起,对处理能力、存储和网络基础设施进行统一的管理,并将这些计算机资源通过服务的方式提供出来,分配给不同的虚拟机,通过资源的一体化管理,降低IT复杂度,提高资源利用率,节约机房占地空间,降低成本,确保系统的可用性,减少系统中断时间,保证数据安全及业务连续。
在物理主机上安装虚拟机管理器(Virtual Machine Monitor,简称VMM)后,虚拟机管理器将物理主机上的CPU、内存、外存和网络等设备模拟为虚拟设备,这些虚拟设备就能够提供给多个虚拟机同时使用,并在这些虚拟机上安装操作系统和应用程序,在一台物理主机上同时使用多个操作系统和各种应用程序。
虚拟机的迁移是指将源主机上的虚拟机的操作系统和应用程序移动到目的主机上,并且能够在目的主机上正常运行的过程。虚拟机的迁移需要移动虚拟机的内存和外存数据,迁移后的虚拟机,不仅可以在一个统一的界面中进行管理,而且可以结合虚拟机高可用性工具,在这些服务器因为各种故障停机时,自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。虚拟机的好处在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。虚拟机的迁移包括三种类型:物理机到虚拟机的迁移(简称P2V),虚拟机到物理机的迁移(简称V2P),虚拟机到虚拟机的迁移(简称V2V)。
其中虚拟机到虚拟机的迁移是虚拟机从一个物理机上的虚拟机管理器(Virtual Machine Monitor,简称VMM)迁移到另一个物理机的VMM上运行,这两个VMM的类型可以相同,也可以不同。目前V2V的迁移可以分为两大类:离线迁移和动态迁移。
离线迁移(offline migration)也叫做常规迁移、静态迁移。在迁移之前,在源主机上将虚拟机暂停,如果源主机和目的主机之间配置了共享外存设备,并且虚拟机的外存数据都存放在共享外存设备上,则只需要拷贝虚拟机的内存数据至目的主机,最后在目的主机上重建虚拟机状态,恢复虚拟机的运行。如果源主机和目的主机都只使用本地存储,则需要同时拷贝虚拟机的外存和内存数据到目的主机。
动态迁移(live migration)是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与离线迁移几乎完全一致。不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,虚拟机在源主机运行,当迁移进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机在目的主机上继续运行。对于虚拟机本身而言,由于切换的时间非常短暂,用户感觉不到虚拟机的中断,因而迁移过程对用户是透明的。
目前主流的动态迁移工具,如VMware的XEN的都要求物理机之间采用SAN(storage area network),NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要考虑操作系统内存执行状态的迁移,从而获得较好的迁移性能。
另外,在某些没有使用共享外存设备的场合,也可以使用存储块动态迁移技术来实现V2V的虚拟机动态迁移。相比较基于共享存储的动态迁移,数据块动态迁移的方法需要同时迁移虚拟机的外存磁盘镜像和系统内存状态,迁移性能上打了折扣。但是它使得在采用分散式本地存储的环境下,仍然能够利用迁移技术转移计算机环境,并且保证迁移过程中操作系统服务的可用性,扩展了虚拟机动态迁移的应用范围。V2V动态迁移技术消除了软硬件相关性,是进行软硬件系统升级,维护等管理操作的重要工具。
对于虚拟机的内存状态的迁移,目前主流的产品基本上都采用了预拷贝(pre-copy)的策略。迁移开始之后,源主机上的虚拟机仍在运行,目的主机上的虚拟机尚未启动。迁移通过一个循环,将源主机上的虚拟机内存数据发送到目的主机上的虚拟机。循环第一轮发送所有内存页或外存块数据,接下来的每一轮循环发送上一轮预拷贝过程中被虚拟机写过的脏页内存。直到时机成熟,预拷贝循环结束,进入停机拷贝阶段,源主机被挂起,不再有内存更新。最后一轮循环中的脏页被传输至目的主机上的虚拟机。预拷贝机制极大的减少了停机拷贝阶段需要传输的内存数据量,从而将停机时间大大缩小。然而,对于更新速度非常快的内存部分,每次循环过程都会变脏,需要重复pre-copy,同时也导致循环次数非常多,迁移的时间变长。
一般的虚拟机迁移产品主要面向局域网环境,在广域网中的虚拟机迁移需要考虑网络的带宽条件以及外存数据的传输时间。几十G甚至上百G的虚拟机外存的迁移极其耗费时间和网络带宽。一个10G字节的虚拟机外存储磁盘镜像在广域网中可能需要数小时的时间;而2G字节的虚拟机内存数据在广域网中的迁移时间也达到了小时级。
然而根据统计,两个运行着相同或相似操作系统的虚拟机,它们的内存中包含大部分相同的内存页或外存块。比如两个运行着Windows操作系统的虚拟机,它们的内存中具有大量的相同数据。这是由于这些虚拟机运行着相同版本的程序、共享库以及操作系统内核。在典型的数据中心环境中,都会运行着大量具有相同版本操作系统的虚拟机,这些虚拟机的内存中存在重复数据。
发明内容
基于上述原因,本发明旨在提供一种在广域网环境下的虚拟机快速动态迁移方法。这种迁移方法是指当一个或多个虚拟机运行在源主机上时,不关闭这些虚拟机,在这些虚拟机运行过程中,迁移这些虚拟机的内存页和外存块到目的主机上,暂停源主机上的这些虚拟机,在目的主机上启动虚拟机。其中源主机与目的主机分布在广域网上,目的主机所在的数据中心中还开启着一个或多个其他主机,并且这些主机上都运行着一个或多个虚拟机。
本发明的目的是提供一种基于内容定位技术的快速虚拟机内外存数据迁移方法。根据运行在源主机上的一个或多个虚拟机的内存页或外存块检索目的主机环境(局域网数据中心)运行着的虚拟机中已经存在的内存页或外存块,只通过广域网传输目的主机环境中不存在的内存页或外存块到目的主机上,目的主机环境中已经存在的内存页或外存块则从目的主机环境中的虚拟机中获得,从而减少广域网上虚拟机迁移占用的网络带宽,缩短虚拟机动态迁移的整体时间。
为了提高动态迁移的效率,本发明是通过先行检索待迁移虚拟机与已经存在于目的主机所在数据中心正在运行虚拟机的内存页或外存块中相同的内存页或外存块。对于这些检索成功的相同内存页或外存块,它们将通过目的主机局域网而不是广域网络传输到目的主机上。为了识别这些相同内存页或外存块,本发明利用内容寻址技术(也称为基于内容的散列)即加密散列函数,将内存页或外存块的数据映射为固定长度的散列值,根据散列值识别相同的内存页或外存块。利用SHA-1加密散列函数,例如将x86架构的4KB内存页或512字节的外存块映射到一个160位(20字节)的散列值,散列值只使用虚拟机0.5%的内存大小。
目的主机为了能够从所在数据中心的机群中获取内存页或外存块,需要知道目的机群中哪台虚拟机拥有哪个内存页或外存块。由于这些虚拟机正在运行,随着时间的推移他们的内存和外存数据会发生变化,这些信息需要动态地发现。为了解决这两个问题,本发明使用两个模块:第一个是分布式内外存索引模块,它的作用是面向整个机群的虚拟机建立分布式内外存数据的散列值列表,该散列值列表映射内外存数据散列值与主机ID之间的对应关系,根据内外存数据的散列值索引数据所在的主机,即解决“目的机群中哪台虚拟机拥有哪个内存页或外存块的问题”;第二个是周期性内外存索引更新模块用来计算和维护本地虚拟机内外存数据的散列值形成本地的散列值列表,该散列值列表将内外存数据映射为一个散列值,该散列值用来唯一标识一个内存页或外存块,即解决“内存和外存数据在迁移过程中会发生变化”的问题。
本发明的广域网虚拟机动态迁移方法,包括以下步骤:
1)建立目的主机环境中所有运行的虚拟机的内存和外存数据的分布式索引;
2)当虚拟机从源主机迁移到目的主机时,首先在目的主机环境中的分布式内外存数据索引中检索与源主机虚拟机相同的内存和外存数据,并记录检索结果;
3)根据检索结果,对于源主机虚拟机中存在而目的主机环境中不存在的内外存数据,由源主机通过广域网传输给目的主机;而源主机虚拟机与目的主机环境中共同的内外存数据,目的主机直接从目的主机所在的局域网中的其他主机上获得;
4)启动目的主机上迁移成功的虚拟机。
其中:步骤1)根据散列值的计算方法,将目的主机环境中所有运行的虚拟机的内存页和外存块的数据映射为固定长度的散列值的方式建立所述内存页和外存块数据的分布式索引。
其中:步骤2)还包括以下步骤:
2.1)根据散列值计算方法,源主机计算待迁移虚拟机内外存数据的散列值列表;
2.2)源主机发送待迁移虚拟机内外存数据的散列值列表到目的主机;
2.3)目的主机接收到待迁移虚拟机内外存数据的散列值列表后,在目的主机环境中的所述分布式内外存数据索引中检索散列值列表;
2.4)记录待迁移虚拟机内外存数据散列值列表的检索结果。
其中:步骤3)包括以下步骤:
3.1)从源主机通过广域网传输未查找到的虚拟机内外存数据块至目的主机;
3.2)从目的主机环境中的其他主机通过局域网传输与源主机虚拟机共同的内外存数据块至目的主机;
3.3)结束虚拟机内外存数据的初始迁移;
3.4)步骤3.1)开始时,在源主机上启动虚拟机外存数据迁移的循环同步线程,利用源主机上的虚拟机管理器监控待迁移虚拟机的内外存数据在初始迁移过程中的读写情况,记录虚拟机内存页和外存块的更改,标记修改过的虚拟机内存页和外存块;
3.5)发送修改过的虚拟机内存页和外存块到目的主机;
3.6)循环步骤3.4)-3.5)。
上述循环满足如下两个条件之一时,结循环束:经过200次循环;最后一次循环新增的更改的内存页或外存块数量大于刚发送的数量。
其中:步骤4)包括以下步骤:
4.1)暂停源主机上的虚拟机,根据虚拟机内存和外存更新状态记录剩余的内存脏页和外存脏块;
4.2)根据停机过程中剩余的内存脏页和外存脏块记录,同步源主机和目的主机的虚拟机内外存数据;
4.3)完成待迁移虚拟机内存数据和外存数据的传输,启动目的主机上的虚拟机,动态迁移结束。
进一步地,本发明是利用SHA-1加密散列函数将内存页或外存块的数据映射为固定长度的散列值,以降低散列值冲突的概率。
其中:本发明各步骤是由安装在源主机和目的主机上的KVM虚拟机管理器来执行,所述KVM虚拟机管理器由两个部分组成,第一个部分包含两个可加载的KVM内核模块,所述可加载的KVM内核模块是Li nux内核空间程序;第二个部分是KVM用户空间程序,所述KVM用户空间程序实现虚拟机设备模拟、启动关闭虚拟机、周期性虚拟机内外存索引更新、分布式虚拟机内外存索引和虚拟机动态迁移等功能。
其中:该KVM用户空间程序包含三个模块,第一个是周期性内外存索引更新模块,所述周期性内外存索引更新模块通过并与KVM内核模块通信,对物理主机上运行的所有虚拟机的内外存数据进行周期性检查,建立并维护本地的虚拟机内外存数据散列值列表,用散列值来唯一标识一个内存页或外存块;第二个是分布式内外存索引模块,根据本地的虚拟机内外存数据散列值列表,通过与其他主机的虚拟机管理器通信建立整个局域网环境的分布式内外存数据散列值列表,映射虚拟机内外存数据与主机的对应关系;第三个是动态迁移模块,它实现虚拟机的动态迁移,在多个虚拟机管理器之间传输内存页或外存块以及内外存数据的散列值列表,并通过接口调用前两个模块的功能。
本发明还提供一种广域网虚拟机动态迁移系统,包括安装在源主机和目的主机上的至少一个KVM虚拟机管理器,所述KVM虚拟机管理器由两个部分组成,第一个部分包含两个可加载的KVM内核模块,所述可加载的KVM内核模块是Linux内核空间程序;第二个部分是KVM用户空间程序,所述KVM用户空间程序实现虚拟机设备模拟、启动关闭虚拟机、周期性虚拟机内外存索引更新、分布式虚拟机内外存索引和虚拟机动态迁移等功能。
其中,该KVM用户空间程序包含三个模块,第一个是周期性内外存索引更新模块,所述周期性内外存索引更新模块通过并与KVM内核模块通信,对物理主机上运行的所有虚拟机的内外存数据进行周期性检查,建立并维护本地的虚拟机内外存数据散列值列表,用散列值来唯一标识一个内存页或外存块;第二个是分布式内外存索引模块,根据本地的虚拟机内外存数据散列值列表,通过与其他主机的虚拟机管理器通信建立整个局域网环境的分布式内外存数据散列值列表,映射虚拟机内外存数据与主机的对应关系;第三个是动态迁移模块,它实现虚拟机的动态迁移,在多个虚拟机管理器之间传输内存页或外存块以及内外存数据的散列值列表,并通过接口调用前两个模块的功能
本发明的在有益技术效果在于:本发明采用的虚拟机动态迁移系统,充分利用共同的数据,提高广域网数据中心之间的虚拟机迁移效率。采用分布式的内容寻址技术检索待迁移虚拟机与目的主机上已经存在的内存页或外存块相同的内存页或外存块,避免这些已经存在内存页或外存块通过广域网传输,而直接从目的主机环境获得共同的内存页或外存块,减少广域网上虚拟机迁移占用的网络带宽,缩短虚拟机动态迁移的时间。
附图说明
图1为本发明虚拟机内存动态迁移协议的概述图;
图2为本发明虚拟机外存动态迁移协议的概述图;
图3为本发明虚拟机动态迁移系统的组成以及各个模块之间的关系图;
图4为本发明分布式内外存索引模块工作原理图;
图5为本发明分布式内外存索引模块中的数据结构图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明涉及到的相关技术术语的名词解释:
物理主机:即通常使用的计算机,但在本发明中,特指安装有Linux操作系统并加载了KVM虚拟机管理器的正在运行的计算机,也可简称为主机。
虚拟机:根据物理机提供的虚拟化能力,利用虚拟的CPU、内存、外存和网络等设备构建的一个虚拟计算环境,与物理主机具有相同的计算能力。
客户操作系统:安装在虚拟机上的操作系统称为客户操作系统。
KVM:Kernel based Virtual Machine的简称,KVM是一种硬件辅助的虚拟化解决方案,在物理形态上是一个可加载的Linux内核模块,它将Linux内核转换为一个虚拟机监控器,从而使物理主机的Linux内核具有创建虚拟机的能力,在虚拟机上能够安装并运行客户操作系统。内核中的KVM模块通过/dev/kvm字符设备来公开虚拟化后的硬件。
KVM虚拟机管理器:KVM内核模块和KVM用户空间程序组成KVM虚拟机管理器。
DHT:DHT全称叫分布式散列值列表(Distributed Hash Table),它是一种分布式存储方法,在不需要集中服务器的情况下,每个节点负责一个小范围的路由,并负责存储一小部分散列值列表,从而实现在整个DHT网络中根据散列值进行寻址和索引。本发明使用的分布式散列值列表每一项由两个部分组成,第一个部分是内外存数据的散列值;第二个部分是拥有该内存或外存数据主机的ID,主机的ID本身也是根据主机的IP地址和端口号计算出来的散列值,用来在数据中心中唯一标识该主机。
本发明仅以一台虚拟机从源主机迁移到广域网上目的主机的迁移过程为例进行说明,多台虚拟机从源主机迁移到广域网上目的主机也在本发明的解决范围之内。
图1和图2给出了本发明迁移协议的概述图。迁移协议最初只传输待迁移虚拟机每个内存页或外存块数据的散列值,而不是从源主机发送所有内存页或外存块到目的主机,其中散列值列表能够唯一标识每个内存页或外存块。目的主机利用散列值列表在目的主机所在的数据中心查找这些内存页或外存块。如果内存页或外存块在目的主机所在的数据中心检索到,这些检索到的内存页或外存块就通过本地局域网而不是广域网传输到目标主机。否则,未检索到的内存页或外存块就需要通过广域网从源主机传输过来。
本发明的实施例使用了KVM(内核虚拟机)虚拟机管理器,依赖x86处理器的硬件虚拟化特性AMD-V或者Intel VT-x。图3给出了本发明虚拟机动态迁移系统的组成以及各个模块之间的关系图。如图3所示,KVM虚拟机管理器由两个部分组成,第一个部分11包含两个可加载的KVM内核模块;第二个部分12是KVM用户空间程序,实现虚拟机设备模拟、启动关闭虚拟机、周期性虚拟机内外存索引更新、分布式虚拟机内外存索引和虚拟机动态迁移等功能。
KVM用户空间程序12包含三个模块,第一个是周期性内外存索引更新模块121,所述周期性内外存索引更新模块121通过并与KVM内核模块11通信对物理主机上运行的所有虚拟机的内外存数据进行周期性检查,建立并维护本地的虚拟机内外存数据散列值列表,用散列值来唯一标识一个内存页或外存块;第二个是分布式内外存索引模块122,根据本地的虚拟机内外存数据散列值列表,通过与其他主机的KVM虚拟机管理器通信建立整个局域网环境的分布式内外存数据散列值列表,映射虚拟机内外存数据与主机的对应关系;第三个是动态迁移模块123,它实现虚拟机的动态迁移,在多个虚拟机管理器之间传输内存页或外存块以及内外存数据的散列值列表,并通过接口调用前两个模块的功能。
周期性内外存索引更新模块121采用KVM内核模块11的接口跟踪虚拟机内存页或外存块的修改(脏页的记录)。首先,KVM内核模块11将虚拟机的内存页或外存块标记为只读,当虚拟机试图写一个内存页或外存块时,这个操作将陷入内核空间,KVM内核模块11将此内存页或外存块标记为脏页。然后,该内存页或外存块将一直处于可写状态,直到KVM用户空间程序12复位脏状态。若经过数轮周期性内外存索引更新模块121的运行,某内存页或外存块都没有发生变化,周期性内外存索引更新模块121重新计算该内存页或外存块的散列值,复位脏状态。在周期性内外存索引更新的间歇,写内存页或外存块只陷入内核空间一次,而不是每次写这些内存页或外存块都重新陷入内核空间。
在为虚拟机的每个内存页或外存块建立索引,即计算内存页或外存块的散列值时,周期性内外存索引更新模块121将向主机操作系统内核为虚拟机申请一个位图,该位图的一位用来标记一个内存页或外存块是否修改。若一个内存页或外存块数据内容经过数轮周期性内外存索引更新模块121的运行都没有发生变化,那么就可以将该内存页或外存块的散列值加入到本块的虚拟机内外存数据散列值列表中,并调用分布式内外存索引模块122更新DHT,其中周期性内外存索引更新模块121计算的频率以及延时阈值都可以调节。周期性内外存索引更新模块121响应其他主机的分布式内外存索引模块122获取内存页或外存块散列值的请求。
利用KVM虚拟机管理器可以跟踪虚拟机内存变化的特性,周期性内外存索引更新模块121只需要重新索引上次运行后变化的内存页或外存块。周期性内外存索引更新模块121为了避免索引将要修改的内存页或外存块,本发明采用页面懒散检索方法延迟某些页面的索引,不需要在每个周期内扫描所有变化的内存页或外存块,而是通过记录之前变化内存页或外存块有多少次没有发生任何更改,只有这个次数大于某个阈值,该内存页或外存块才会重新索引,这样就避免了频繁变化的内存页或外存块在每次扫描过程中都重新索引,利用一个字节记录内存页或外存块未更改的次数。
在具体实现中,使用两个数据结构跟踪变化不频繁的内存页或外存块,如图4所示,本实施例的散列值用两个十六进制数表示。首先,一个散列值列表用来有效的定位内存页或外存块,相等的散列值映射到相同的内存页或外存块,每个KVM虚拟机管理器要维护一个本地所有虚拟机内存页或外存块的散列值列表。如图4所示,以内存页为例,三个内存页注册到散列值列表中,页1和页3内容相同,映射到相同的散列值AB,而页2映射的散列值为54。当有相邻主机节点来获取内存页请求时,这个散列值列表就用来查找对应的内存页或外存块,并将内存页的数据内容发送到请求节点。其次,该子系统维护着一个表用来跟踪每个被索引内存页或外存块的散列值。当虚拟机修改一个内存页或外存块后,虚拟机管理器没有立即接收到通知,需要跟踪旧的散列值,并且从本地散列值列表以及DHT中注销修改的内存页或外存块对应的项。如图4所示,如果内存页被修改了,周期性内外存索引更新模块121在下次执行时,就会将散列值列表中54对应的项删除,同时还要在DHT中与本机相邻的下一个节点处移除负责索引该内存页或外存块的DHT项。
对于一页4K的内存,具有24096种不同的取值可能性,而160位的散列值只有0~2160的取值范围,因此不同的内存数据可能映射为同一个散列值。因此,根据散列值检索内存页或外存块可能得到错误的结果,本发明通过加密函数SHA-1来降低散列值冲突的概率,对于一个具有1018个4K内存页面的系统,使用SHA-1加密函数,能将散列值冲突的概率降低到10-20,因此这种错误概率可以忽略。
为了通过散列值查找某个内存页或外存块存在于哪个物理主机,本系统利用一个数据中心机群范围内所有虚拟机的内存和外存数据构建一个对等(P2P)的分布式哈希表(DHT)。局域网络中所有物理主机形成一个环,每个节点通过IP地址和端口计算一个散列值作为该节点唯一标识ID值,散列值决定该节点在环中的位置。每一个节点负责索引与它ID值相邻的前一个物理主机的内存页或外存块的散列值列表。
分布式内外存索引模块122负责动态更新数据中心P2P网络中所有虚拟机的DHT。一个节点上的分布式内外存索引模块122首先调用周期性内外存索引更新模块121计算该节点每个虚拟机中内存页或外存块的散列值,然后与相邻主机节点通信,获取相邻主机节点上的内外存数据的散列值列表,建立DHT的本地部分。当本地虚拟机的一个内存页或外存块的内容发生改变,就会通知相邻主机节点,相邻主机节点将该内存页或外存块对应的那一项DHT作废。
图5给出了本发明使用的DHT示意图。为了简便起见,在这个示意图中散列值的长度只有两个十六进制数字,而在具体实现中,散列值为20字节。待迁移的虚拟机拥有的三个内存页,散列值分别为:78、A5和F4,组成的内外存数据的散列值列表为511,该虚拟机需要迁移到物理主机节点N95上,通过广域网传输到数据中心的物理主机节点N95。在图5所示的例子中,三个物理主机节点N20、N70和N95加入到DHT中。其中20,70,95是根据主机IP地址和端口计算的散列值。
节点N20没有相邻的前一个物理主机节点,因此节点N20只根据周期性内外存索引更新模块121计算和维护本地虚拟机内外存数据的散列值列表512,而没有分布式内外存数据散列值列表。节点N20运行的虚拟机拥有两个内存页或外存块,这两个页面的散列值为78和A5,组成了本地虚拟机内外存数据的散列值列表512。
节点N70散列值相邻的前一个物理主机节点为节点N20,因此节点N70负责索引节点N20上的内外存数据。节点N70的虚拟机拥有的三个内存页或外存块散列值为:0D、A5和C3。
节点N95散列值相邻的前一个物理主机节点为节点N70,节点N95上当前没有正在运行的虚拟机,本地虚拟机内外存数据的散列值列表为空,该虚拟机拥有的三个页面散列值为:78、A5和F4。
由于每个节点负责索引P2P环上相邻节点的内存页或外存块,因此节点N70索引内存页或外存块78、A5和F4,节点N95负责索引内存页或外存块0D。节点N95知道内存页或外存块0D在节点N70上可获取。
在动态迁移时,节点N95接收到待迁移虚拟机内存页或外存块的散列值列表78、A5和F4,此时虚拟机管理器(Hypervisor)利用这些散列值在DHT中进行检索。首先是内存页或外存块78,内存页或外存块78是由节点N70负责索引,因此节点N95与N70通信,当N70接收到请求,就将请求转发给拥有真正拥有内存页或外存块的节点N20。节点N20应答请求并将内存页或外存块78的数据内容发送到节点N95。然后是内存页或外存块A5,内存页或外存块A5可以从节点N20和N70上获取,因此只要其中一个节点都可以发送内存页或外存块A5的数据内容。最后是内存页或外存块F4,内存页或外存块F4在DHT中无法索引到,因此需要从广域网的另一端传输到主机N95上。
本系统将内存和设备的状态以字节流的形式发送到目标节点,内存页或外存块的将与该页的物理内存的地址以及一个标志位一起发送,该标志位用来指示该内存页或外存块是否经过压缩。在内存页或外存块数据发送之前,所有字节将进行比较,如果该页所有字节内容相同,则该页数据被压缩后仅发送第一个字节。本系统的实现增加了一种新的内存页或外存块类型标识:散列页。如果在内存地址之后发送的是一个散列值而不是内存数据内容,那么,该内存页或外存块将在目标节点的数据中心中利用DHT子系统进行检索,如果后面的标志位是压缩标识,那么,该内存页或外存块不调用DHT,而直接根据第一个字节进行解压。
分布式的内容寻址机制:每隔一个周期,虚拟机管理器向多播IP地址发送公告,所有的虚拟机管理器也监听这些公告。P2P网络中某个节点在一段时间内没有发送公告,这个节点将从多播地址中移除,所有的请求和应答都使用UDP协议。当目标节点收到一个内存页或外存块的散列值时,首先在本机散列值列表中检索,如果在本机散列值列表中检索成功,则不需要发送任何DHT请求。如果一个内存页或外存块的散列值在本机散列值列表中没有检索到,虚拟机管理器则向所有责任节点发送散列值,同时设置一个超时限制,若目标节点超过时限没有收到成功应答,则表示在数据中心内没有检索到需要的内存页或外存块。当责任节点收到请求以及散列值,就在本地的索引值列表中进行检索,索引值列表类似于本地的散列值列表,只不过索引值列表中散列值对应的是IP地址和端口,而散列值列表中散列值对应的是内存页或外存块的物理地址。责任节点根据检索结果发送请求应答。如果责任节点检索到该内存页或外存块,则告知目标节点检索成功,然后责任节点发送内存页或外存块的具体数据内容。目标节点维护一个队列,一个线程接收从源节点发送过来的散列值列表,并将新接收到的散列值添加到队列中,另一个线程用于检索这些散列值,如果超时或者收到应答,就删除队列中的对应项。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种广域网虚拟机动态迁移方法,其特征在于,包括以下步骤:
1)建立目的主机环境中所有运行的虚拟机的内存和外存数据的分布式索引;
2)当虚拟机从源主机迁移到目的主机时,首先在目的主机环境中的分布式内外存数据索引中检索与源主机虚拟机相同的内存和外存数据,并记录检索结果;
3)根据检索结果,对于源主机虚拟机中存在而目的主机环境中不存在的内外存数据,由源主机通过广域网传输给目的主机;而源主机虚拟机与目的主机环境中共同的内外存数据,目的主机直接从目的主机所在的局域网中的其他主机上获得;
4)启动目的主机上迁移成功的虚拟机。
2.如权利要求1所述的方法,其特征在于:步骤1)根据散列值的计算方法,将目的主机环境中所有运行的虚拟机的内存页和外存块的数据映射为固定长度的散列值的方式建立所述内存页和外存块数据的分布式索引。
3.如权利要求1所述的方法,其特征在于:步骤2)还包括以下步骤:
2.1)根据散列值计算方法,源主机计算待迁移虚拟机内外存数据的散列值列表;
2.2)源主机发送待迁移虚拟机内外存数据的散列值列表到目的主机;
2.3)目的主机接收到待迁移虚拟机内外存数据的散列值列表后,在目的主机环境中的所述分布式内外存数据索引中检索散列值列表;
2.4)记录待迁移虚拟机内外存数据散列值列表的检索结果。
4.如权利要求1所述的方法,其特征在于,步骤3)包括以下步骤:
3.1)从源主机通过广域网传输未查找到的虚拟机内外存数据块至目的主机;
3.2)从目的主机环境中的其他主机通过局域网传输与源主机虚拟机共同的内外存数据块至目的主机;
3.3)结束虚拟机内外存数据的初始迁移;
3.4)步骤3.1)开始时,在源主机上启动虚拟机外存数据迁移的循环同步线程,利用源主机上的虚拟机管理器监控待迁移虚拟机的内外存数据在初始迁移过程中的读写情况,记录虚拟机内存页和外存块的更改,标记修改过的虚拟机内存页和外存块;
3.5)发送修改过的虚拟机内存页和外存块到目的主机;
3.6)循环步骤3.4)-3.5)。
5.如权利要求1所述的方法,其特征在于,步骤4)包括以下步骤:
4.1)暂停源主机上的虚拟机,根据虚拟机内存和外存更新状态记录剩余的内存脏页和外存脏块;
4.2)根据停机过程中剩余的内存脏页和外存脏块记录,同步源主机和目的主机的虚拟机内外存数据;
4.3)完成待迁移虚拟机内存数据和外存数据的传输,启动目的主机上的虚拟机,动态迁移结束。
6.如权利要求2或3所述的方法,其特征在于,利用SHA-1加密散列函数将内存页或外存块的数据映射为固定长度的散列值,以降低散列值冲突的概率。
7.如权利要求5所述的方法,其特征在于,其中各步骤是由安装在源主机和目的主机上的KVM虚拟机管理器来执行,所述KVM虚拟机管理器由两个部分组成,第一个部分包含两个可加载的KVM内核模块,所述可加载的KVM内核模块是Linux内核空间程序;第二个部分是KVM用户空间程序,所述KVM用户空间程序实现虚拟机设备模拟、启动关闭虚拟机、周期性虚拟机内外存索引更新、分布式虚拟机内外存索引和虚拟机动态迁移等功能。
8.如权利要求7所述的方法,其特征在于,该KVM用户空间程序包含三个模块,第一个是周期性内外存索引更新模块,所述周期性内外存索引更新模块通过并与KVM内核模块通信,对物理主机上运行的所有虚拟机的内外存数据进行周期性检查,建立并维护本地的虚拟机内外存数据散列值列表,用散列值来唯一标识一个内存页或外存块;第二个是分布式内外存索引模块,根据本地的虚拟机内外存数据散列值列表,通过与其他主机的虚拟机管理器通信建立整个局域网环境的分布式内外存数据散列值列表,映射虚拟机内外存数据与主机的对应关系;第三个是动态迁移模块,它实现虚拟机的动态迁移,在多个虚拟机管理器之间传输内存页或外存块以及内外存数据的散列值列表,并通过接口调用前两个模块的功能。
9.一种广域网虚拟机动态迁移系统,其特征在于:包括安装在源主机和目的主机上的至少一个KVM虚拟机管理器,所述KVM虚拟机管理器由两个部分组成,第一个部分包含两个可加载的KVM内核模块,所述可加载的KVM内核模块是Linux内核空间程序;第二个部分是KVM用户空间程序,所述KVM用户空间程序实现虚拟机设备模拟、启动关闭虚拟机、周期性虚拟机内外存索引更新、分布式虚拟机内外存索引和虚拟机动态迁移等功能。
10.如权利要求9所述的系统,其特征在于,该KVM用户空间程序包含三个模块,第一个是周期性内外存索引更新模块,所述周期性内外存索引更新模块通过并与KVM内核模块通信,对物理主机上运行的所有虚拟机的内外存数据进行周期性检查,建立并维护本地的虚拟机内外存数据散列值列表,用散列值来唯一标识一个内存页或外存块;第二个是分布式内外存索引模块,根据本地的虚拟机内外存数据散列值列表,通过与其他主机的虚拟机管理器通信建立整个局域网环境的分布式内外存数据散列值列表,映射虚拟机内外存数据与主机的对应关系;第三个是动态迁移模块,它实现虚拟机的动态迁移,在多个虚拟机管理器之间传输内存页或外存块以及内外存数据的散列值列表,并通过接口调用前两个模块的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010570140 CN102455942B (zh) | 2010-12-02 | 2010-12-02 | 一种广域网虚拟机动态迁移方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010570140 CN102455942B (zh) | 2010-12-02 | 2010-12-02 | 一种广域网虚拟机动态迁移方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102455942A true CN102455942A (zh) | 2012-05-16 |
CN102455942B CN102455942B (zh) | 2013-09-25 |
Family
ID=46039154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010570140 Active CN102455942B (zh) | 2010-12-02 | 2010-12-02 | 一种广域网虚拟机动态迁移方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102455942B (zh) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN103019804A (zh) * | 2012-12-28 | 2013-04-03 | 中国人民解放军国防科学技术大学 | OpenVZ虚拟化的VPS快速迁移方法 |
CN103095834A (zh) * | 2013-01-16 | 2013-05-08 | 中国科学院计算技术研究所 | 一种跨虚拟化数据中心的虚拟机在线迁移方法 |
CN103246564A (zh) * | 2013-05-17 | 2013-08-14 | 浙江大学 | 一种面向云数据中心的大规模虚拟机快速迁移决策方法 |
WO2013178127A1 (zh) * | 2012-08-28 | 2013-12-05 | 中兴通讯股份有限公司 | 应用程序关闭方法及系统 |
CN103491144A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算技术研究所 | 一种广域网虚拟平台的构建方法 |
CN103500146A (zh) * | 2013-09-30 | 2014-01-08 | 北京邮电大学 | 虚拟机磁盘存储数据迁移方法和系统 |
WO2014008867A1 (zh) * | 2012-07-13 | 2014-01-16 | 中兴通讯股份有限公司 | 虚拟机迁移方法、装置及系统 |
CN103559077A (zh) * | 2013-11-08 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种优化的虚拟机自动迁移方法和系统 |
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103631633A (zh) * | 2012-08-20 | 2014-03-12 | 中国电信股份有限公司 | 虚拟机全系统在线迁移方法、装置与系统 |
CN103885811A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机系统全系统在线迁移的方法、系统与装置 |
CN104113574A (zh) * | 2013-04-19 | 2014-10-22 | 中国科学院计算技术研究所 | 一种广域网可信虚拟机的安全迁移方法及系统 |
CN104156254A (zh) * | 2014-07-29 | 2014-11-19 | 北京高森明晨信息科技有限公司 | 虚拟机迁移方法及装置 |
CN104216756A (zh) * | 2013-05-30 | 2014-12-17 | 富士通株式会社 | 虚拟机管理设备、管理虚拟机的方法及信息处理系统 |
CN104243427A (zh) * | 2013-06-19 | 2014-12-24 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
CN104539716A (zh) * | 2015-01-04 | 2015-04-22 | 国网四川省电力公司信息通信公司 | 云桌面管理系统桌面虚拟机调度控制系统及方法 |
CN104780068A (zh) * | 2015-04-15 | 2015-07-15 | 中国工商银行股份有限公司 | 一种机房迁移的网络切换方法、装置及系统 |
CN104793986A (zh) * | 2015-05-05 | 2015-07-22 | 苏州中晟宏芯信息科技有限公司 | 一种节点间共享内存的虚拟机迁移方法 |
CN105117274A (zh) * | 2015-09-16 | 2015-12-02 | 北京百度网讯科技有限公司 | 虚拟机迁移方法和装置 |
CN105389136A (zh) * | 2015-12-24 | 2016-03-09 | 广东石油化工学院 | 一种虚拟机在线迁移方法 |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN105760218A (zh) * | 2016-01-05 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN105786608A (zh) * | 2016-03-24 | 2016-07-20 | 深圳市华成峰实业有限公司 | 异地虚拟机去重迁移方法及系统 |
CN106095525A (zh) * | 2016-06-06 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种虚拟机动态迁移安全防护方法 |
WO2016206456A1 (zh) * | 2015-06-26 | 2016-12-29 | 中兴通讯股份有限公司 | 物理机升级方法、业务迁移方法及装置 |
CN106406979A (zh) * | 2016-09-04 | 2017-02-15 | 国云科技股份有限公司 | XenServer平台虚拟机迁移至KVM虚拟化平台的方法 |
CN107085534A (zh) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2018023217A1 (zh) * | 2016-07-30 | 2018-02-08 | 华为技术有限公司 | 一种建立虚拟机的方法、装置和系统 |
CN107872402A (zh) * | 2017-11-15 | 2018-04-03 | 北京奇艺世纪科技有限公司 | 全局流量调度的方法、装置及电子设备 |
CN109857512A (zh) * | 2018-11-01 | 2019-06-07 | 晓白科技(吉林)有限公司 | 一种kvm虚拟机在x86主机之间迁移的方法 |
WO2019196705A1 (zh) * | 2018-04-08 | 2019-10-17 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
CN112579255A (zh) * | 2020-12-10 | 2021-03-30 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN113254161A (zh) * | 2021-06-29 | 2021-08-13 | 飞腾信息技术有限公司 | 一种基于cpu的快速虚拟机热迁移方法 |
CN114217905A (zh) * | 2021-12-17 | 2022-03-22 | 北京志凌海纳科技有限公司 | 虚拟机高可用恢复处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
US20090089781A1 (en) * | 2007-09-30 | 2009-04-02 | Symantec Corporation | System for and Method of Migrating One or More Virtual Machines |
CN101464812A (zh) * | 2009-01-06 | 2009-06-24 | 北京航空航天大学 | 一种虚拟机迁移方法 |
CN101876921A (zh) * | 2009-04-29 | 2010-11-03 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
-
2010
- 2010-12-02 CN CN 201010570140 patent/CN102455942B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
US20090089781A1 (en) * | 2007-09-30 | 2009-04-02 | Symantec Corporation | System for and Method of Migrating One or More Virtual Machines |
CN101464812A (zh) * | 2009-01-06 | 2009-06-24 | 北京航空航天大学 | 一种虚拟机迁移方法 |
CN101876921A (zh) * | 2009-04-29 | 2010-11-03 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014008867A1 (zh) * | 2012-07-13 | 2014-01-16 | 中兴通讯股份有限公司 | 虚拟机迁移方法、装置及系统 |
CN102821158B (zh) * | 2012-08-20 | 2015-09-30 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN103631633B (zh) * | 2012-08-20 | 2017-04-12 | 中国电信股份有限公司 | 虚拟机全系统在线迁移方法、装置与系统 |
CN103631633A (zh) * | 2012-08-20 | 2014-03-12 | 中国电信股份有限公司 | 虚拟机全系统在线迁移方法、装置与系统 |
CN103631651A (zh) * | 2012-08-28 | 2014-03-12 | 中兴通讯股份有限公司 | 应用程序关闭方法及系统 |
US9600318B2 (en) | 2012-08-28 | 2017-03-21 | Zte Corporation | Method and system for closing application programs of an application system |
CN103631651B (zh) * | 2012-08-28 | 2018-08-03 | 中兴通讯股份有限公司 | 应用程序关闭方法及系统 |
WO2013178127A1 (zh) * | 2012-08-28 | 2013-12-05 | 中兴通讯股份有限公司 | 应用程序关闭方法及系统 |
CN103885811B (zh) * | 2012-12-21 | 2017-05-31 | 中国电信股份有限公司 | 虚拟机系统全系统在线迁移的方法、系统与装置 |
CN103885811A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机系统全系统在线迁移的方法、系统与装置 |
CN103019804B (zh) * | 2012-12-28 | 2016-05-11 | 中国人民解放军国防科学技术大学 | OpenVZ虚拟化的VPS快速迁移方法 |
CN103019804A (zh) * | 2012-12-28 | 2013-04-03 | 中国人民解放军国防科学技术大学 | OpenVZ虚拟化的VPS快速迁移方法 |
CN103095834A (zh) * | 2013-01-16 | 2013-05-08 | 中国科学院计算技术研究所 | 一种跨虚拟化数据中心的虚拟机在线迁移方法 |
CN104113574A (zh) * | 2013-04-19 | 2014-10-22 | 中国科学院计算技术研究所 | 一种广域网可信虚拟机的安全迁移方法及系统 |
CN104113574B (zh) * | 2013-04-19 | 2017-04-12 | 中国科学院计算技术研究所 | 一种广域网可信虚拟机的安全迁移方法及系统 |
CN103246564B (zh) * | 2013-05-17 | 2016-06-01 | 浙江大学 | 一种面向云数据中心的大规模虚拟机快速迁移决策方法 |
CN103246564A (zh) * | 2013-05-17 | 2013-08-14 | 浙江大学 | 一种面向云数据中心的大规模虚拟机快速迁移决策方法 |
CN104216756B (zh) * | 2013-05-30 | 2017-08-29 | 富士通株式会社 | 虚拟机管理设备、管理虚拟机的方法及信息处理系统 |
CN104216756A (zh) * | 2013-05-30 | 2014-12-17 | 富士通株式会社 | 虚拟机管理设备、管理虚拟机的方法及信息处理系统 |
CN104243427A (zh) * | 2013-06-19 | 2014-12-24 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
CN104243427B (zh) * | 2013-06-19 | 2018-04-06 | 日电(中国)有限公司 | 虚拟机在线迁移方法、数据包传输方法和设备 |
CN103491144B (zh) * | 2013-09-09 | 2016-08-10 | 中国科学院计算技术研究所 | 一种广域网虚拟平台的构建方法 |
CN103491144A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算技术研究所 | 一种广域网虚拟平台的构建方法 |
CN103500146B (zh) * | 2013-09-30 | 2016-04-27 | 北京邮电大学 | 虚拟机磁盘存储数据迁移方法和系统 |
CN103500146A (zh) * | 2013-09-30 | 2014-01-08 | 北京邮电大学 | 虚拟机磁盘存储数据迁移方法和系统 |
CN103559077A (zh) * | 2013-11-08 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种优化的虚拟机自动迁移方法和系统 |
CN103559077B (zh) * | 2013-11-08 | 2017-01-18 | 北京华胜天成科技股份有限公司 | 一种优化的虚拟机自动迁移方法和系统 |
CN103581331B (zh) * | 2013-11-13 | 2018-04-03 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103577249B (zh) * | 2013-11-13 | 2017-06-16 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN104156254A (zh) * | 2014-07-29 | 2014-11-19 | 北京高森明晨信息科技有限公司 | 虚拟机迁移方法及装置 |
CN104539716A (zh) * | 2015-01-04 | 2015-04-22 | 国网四川省电力公司信息通信公司 | 云桌面管理系统桌面虚拟机调度控制系统及方法 |
CN104780068B (zh) * | 2015-04-15 | 2018-11-02 | 中国工商银行股份有限公司 | 一种机房迁移的网络切换方法、装置及系统 |
CN104780068A (zh) * | 2015-04-15 | 2015-07-15 | 中国工商银行股份有限公司 | 一种机房迁移的网络切换方法、装置及系统 |
CN104793986B (zh) * | 2015-05-05 | 2018-07-31 | 苏州中晟宏芯信息科技有限公司 | 一种节点间共享内存的虚拟机迁移方法 |
CN104793986A (zh) * | 2015-05-05 | 2015-07-22 | 苏州中晟宏芯信息科技有限公司 | 一种节点间共享内存的虚拟机迁移方法 |
WO2016206456A1 (zh) * | 2015-06-26 | 2016-12-29 | 中兴通讯股份有限公司 | 物理机升级方法、业务迁移方法及装置 |
CN105117274A (zh) * | 2015-09-16 | 2015-12-02 | 北京百度网讯科技有限公司 | 虚拟机迁移方法和装置 |
CN105117274B (zh) * | 2015-09-16 | 2018-09-11 | 北京百度网讯科技有限公司 | 虚拟机迁移方法和装置 |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN105389136A (zh) * | 2015-12-24 | 2016-03-09 | 广东石油化工学院 | 一种虚拟机在线迁移方法 |
CN105760218B (zh) * | 2016-01-05 | 2019-12-06 | 新华三技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN105760218A (zh) * | 2016-01-05 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN105786608A (zh) * | 2016-03-24 | 2016-07-20 | 深圳市华成峰实业有限公司 | 异地虚拟机去重迁移方法及系统 |
CN106095525A (zh) * | 2016-06-06 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种虚拟机动态迁移安全防护方法 |
WO2018023217A1 (zh) * | 2016-07-30 | 2018-02-08 | 华为技术有限公司 | 一种建立虚拟机的方法、装置和系统 |
CN106406979A (zh) * | 2016-09-04 | 2017-02-15 | 国云科技股份有限公司 | XenServer平台虚拟机迁移至KVM虚拟化平台的方法 |
CN107085534B (zh) * | 2017-03-30 | 2020-06-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107085534A (zh) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107872402A (zh) * | 2017-11-15 | 2018-04-03 | 北京奇艺世纪科技有限公司 | 全局流量调度的方法、装置及电子设备 |
WO2019196705A1 (zh) * | 2018-04-08 | 2019-10-17 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
US11886902B2 (en) | 2018-04-08 | 2024-01-30 | Xi'an Zhongxing New Software Co., Ltd. | Physical-to-virtual migration method and apparatus, and storage medium |
CN109857512A (zh) * | 2018-11-01 | 2019-06-07 | 晓白科技(吉林)有限公司 | 一种kvm虚拟机在x86主机之间迁移的方法 |
CN112579255A (zh) * | 2020-12-10 | 2021-03-30 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN112579255B (zh) * | 2020-12-10 | 2023-03-24 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN113254161A (zh) * | 2021-06-29 | 2021-08-13 | 飞腾信息技术有限公司 | 一种基于cpu的快速虚拟机热迁移方法 |
CN114217905A (zh) * | 2021-12-17 | 2022-03-22 | 北京志凌海纳科技有限公司 | 虚拟机高可用恢复处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102455942B (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102455942B (zh) | 一种广域网虚拟机动态迁移方法及系统 | |
US9965203B1 (en) | Systems and methods for implementing an enterprise-class converged compute-network-storage appliance | |
US8200771B2 (en) | Workload migration using on demand remote paging | |
Stoyanov et al. | Efficient live migration of linux containers | |
EP3502877B1 (en) | Data loading method and apparatus for virtual machines | |
US8495625B1 (en) | Method and system for creation of streamed files on-demand | |
CN102708060B (zh) | 一种镜像文件访问方法、装置及系统 | |
EP3688598B1 (en) | Method for reading data stored in a non-volatile cache using rdma | |
US11436042B2 (en) | Migrating the runtime state of a container between two nodes | |
US11567680B2 (en) | Method and system for dynamic storage scaling | |
CN112230853A (zh) | 存储容量调整方法、装置、设备及存储介质 | |
US10698637B2 (en) | Stale block resynchronization in NVM based systems | |
US20210357339A1 (en) | Efficient management of bus bandwidth for multiple drivers | |
CN106257424A (zh) | 一种基于kvm云平台的分布式数据库系统实现自动伸缩负载均衡的方法 | |
CN112243030A (zh) | 分布式存储系统的数据同步方法、装置、设备及介质 | |
US10942761B2 (en) | Migrating a virtual machine in response to identifying an unsupported virtual hardware component | |
JP2017033375A (ja) | 並列計算システム、マイグレーション方法、及びマイグレーションプログラム | |
US10846116B2 (en) | Correcting a volume chain after a volume creation failure is detected | |
US11630608B2 (en) | Vblock metadata management | |
CN113965582B (zh) | 一种模式转换方法和系统,及存储介质 | |
CN109343928B (zh) | 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统 | |
CN105786608A (zh) | 异地虚拟机去重迁移方法及系统 | |
Eswaran et al. | Tackling memory footprint expansion during live migration of virtual machines,” | |
Miao et al. | The Design of a private cloud infrastructure based on Xen | |
US11803448B1 (en) | Faster restart of task nodes using periodic checkpointing of data sources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |