CN107247619A - 虚拟机热迁移方法、装置、系统、存储介质及设备 - Google Patents
虚拟机热迁移方法、装置、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN107247619A CN107247619A CN201710439735.8A CN201710439735A CN107247619A CN 107247619 A CN107247619 A CN 107247619A CN 201710439735 A CN201710439735 A CN 201710439735A CN 107247619 A CN107247619 A CN 107247619A
- Authority
- CN
- China
- Prior art keywords
- machine
- target
- source
- physical machine
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种虚拟机热迁移的方法、装置、系统、存储介质及设备。该方法包括:将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在目标物理机上形成源磁盘数据的虚拟镜像;在目标物理机上建立目标虚拟机,其中目标虚拟机和源虚拟机两者的配置相同;将源虚拟机的内存数据和状态数据迁移到目标物理机;根据虚拟镜像、内存数据和状态数据,启动目标虚拟机;根据目标物理机和目标虚拟机的运行状态,判断是否需要重新选择所述目标物理机;根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照;将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;在源物理机和目标物理机上移除共享存储技术的相应设置。
Description
技术领域
本发明涉及虚拟化计算机系统,具体地,涉及虚拟机热迁移的方法、装置、系统、存储介质及设备。
背景技术
在KVM(Kernel-based Virtual Machine,基于内核虚拟机)虚拟化中,服务运行在虚拟机上,并且一个或多个虚拟机可同时运行在一个物理机上。
热迁移,又称为实时迁移(live migration)。是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移。当前的热迁移流程在启动迁移工作之后,会先迁移虚拟机的磁盘到目标物理机,然后再迁移虚拟机的内存到目标物理机。之后,目标端虚拟机就具备所有源端虚拟机的数据,并具备和用户直接进行交互的能力,此时,源端虚拟机将控制权转移到目标端虚拟机,服务在目标端虚拟机上继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,用户可以持续得和虚拟机进行交互。在线迁移适用于对服务可用性要求很高的场景。
但是在现有热迁移过程中,如果用户虚拟机的磁盘数据很大,特别是如果用户虚拟机正在运行高I/O(Input/Output,输入/输出)负载服务时,虚拟机的磁盘数据会被反复更新,会导致磁盘迁移过程迟迟无法结束,迁移时间被无限地放大,最终导致迁移失败。因此,在实际工作环境中,对于当物理机负载高和/或资源紧张的情况下触发的热迁移,无法及时地降低物理机负载并缓解物理机的内存和/或CPU(Central Processing Unit,中央处理器)的压力。
发明内容
考虑到热迁移过程中,磁盘迁移的时间占据了绝大部分时间,而内存等其他资源的迁移花销时间相对较少,而及时缓解内存、CPU和磁盘的压力是热迁移的一个重要作用,为此需要设计跳过磁盘迁移、直接先进行内存迁移的实时迁移方案。
本发明实施例提供了一种实现虚拟机热迁移的方法、装置、系统、存储介质及设备,以便能快速降低物理机负载,从而避免高负载导致虚拟机性能下降和触发物理机宕机。
第一方面,本发明实施例提供了一种实现虚拟机热迁移的方法,该方法包括:共享步骤,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立步骤,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移步骤,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
结合第一方面,本发明实施例提供了一种实现虚拟机热迁移的方法还可以进一步包括:根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,并执行上述共享步骤,如果所述负载不高于阈值,则维持当前所述目标物理机;根据所述虚拟镜像,在所述目标物理机上设立所述共享镜像的磁盘快照,所述磁盘快照用于存储所述目标虚拟机产生的目标磁盘数据;将所述源虚拟机的所述源磁盘数据合并到所述目标虚拟机的所述磁盘快照中;在所述源物理机和所述目标物理机上移除所述共享存储技术的相应设置。
第二方面,本发明实施例提供了一种实现虚拟机热迁移的装置,该装置包括:共享模块,用于将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立模块,用于在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移模块,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动模块,用于根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
结合第二方面,本发明实施例提供的一种实现虚拟机热迁移的装置还可以进一步包括:判断模块,用于根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,并返回共享模块,如果所述负载不高于阈值,则维持当前所述目标物理机;设立模块,用于根据所述虚拟镜像,在所述目标物理机上设立所述共享镜像的磁盘快照,所述磁盘快照用于存储所述目标虚拟机产生的目标磁盘数据;合并模块,用于将所述源虚拟机的所述源磁盘数据合并到所述目标虚拟机的所述磁盘快照中;移除模块,用于在所述源物理机和所述目标物理机上移除所述共享存储技术的相应设置。
第三方面,本发明实施例提供了一种实现虚拟机热迁移的系统,该系统包括第二方面或结合第二方面的虚拟机热迁移装置以及上述各方面中任一种可能的源物理机和目标物理机。
第四方面,本发明实施例提供了一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当该指令被执行时,使得处理器执行虚拟机热迁移方法,具体的,该指令包括:共享指令,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立指令,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移指令,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动指令,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
结合第四方面,本发明实施例提供的一种非易失性存储介质还可以进一步包括,判断指令,根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,并返回执行共享指令,如果所述负载不高于阈值,则维持当前所述目标物理机;设立指令,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;合并指令,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;移除指令,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
第五方面,本发明实施例提供了一种设备,包括存储器,存储有计算机可执行指令,处理器,处理器被配置为执行指令以实施虚拟机热迁移的过程,该过程包括:共享步骤,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立步骤,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移步骤,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
结合第五方面,本发明实施例提供的一种设备,该设备的处理器所执行的进程还可以进一步包括,判断步骤,根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,如果所述负载不高于阈值,则维持当前所述目标物理机;设立步骤,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;合并步骤,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;移除步骤,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
基于上述方案,本发明的技术方案能够快速降低物理机的负载,改善用户虚拟机之间的资源竞争,避免高负载导致虚拟机性能下降和触发物理机宕机。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明第一实施例的虚拟机热迁移方法100的流程图。
图1B是根据本发明第一实施例的变型的虚拟机热迁移方法100’的流程图。
图2是根据本发明第二实施例的虚拟机热迁移方法200的流程图。
图3A是根据本发明实施例的虚拟机热迁移装置300的示意性框图。
图3B是根据本发明实施例的变型的虚拟机热迁移装置300’的示意性框图。
图4是根据本发明实施例的虚拟机热迁移装置400的示意性框图。
图5是根据本发明实施例的虚拟机热迁移的系统500的示意性框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本文中所描述的说明性系统和方法实施例并非意图进行限制。
本发明实施例的技术方案可以应用于如下场景,包括但不限于:当物理机的负载在一定时间内一直保持较高水平时,物理机上运行的虚拟机的性能会下降,此时通过执行本发明的技术方案能够快速地降低物理机负载,实现物理机负载均衡;其次,当物理机的负载一直保持较高水平时,物理机宕机的概率就很大,为了避免触发物理机宕机,进而使在物理机上运行的虚拟机受到不利影响,可以通过本发明的技术方案快速地将虚拟机迁移到其他物理机上,这样既可以降低物理机宕机概率,又可以保证虚拟机不会受到宕机的影响;此外,当物理机需要进行虚拟化相关软件或相关内核模块的升级,以便修复漏洞、提高性能或引入新特性等时,可以通过本发明的技术方案,在保证虚拟机上服务正常运行的同时,完成相关升级。
第一实施例
图1A是根据本发明第一实施例的虚拟机热迁移方法100的流程图。该方法100可以由物理机上的虚拟机热迁移装置执行。
如图1A所示,在步骤S101、通过共享存储技术,将源物理机上的源虚拟机的源磁盘数据以虚拟镜像的方式共享到目标物理机。
可选的,可以使用诸如iSCSI(Internet Small Computer System Interface,因特网小型计算机系统接口)或者NBD(Network Block Device,网络块存储)等共享存储技术。作为一个实例,首先,需要在源物理机将待共享的源虚拟机的本地磁盘导出为磁盘镜像,该磁盘镜像的文件格式可以是诸如QCOW2、RAW等虚拟化系统支持的镜像文件格式。然后,该磁盘镜像文件作为共享镜像文件,通过iSCSI或NBD等共享协议将目标物理机上链接到该磁盘镜像文件,即将磁盘镜像文件映射到目标物理机,此时该磁盘镜像被源物理机和目标物理机所共享。之后,在目标物理机系统的设备目录,例如/dev目录中,会出现共享的磁盘镜像文件。为该共享的磁盘镜像文件虚拟一个链接名称和路径都与源端的磁盘镜像文件的名称和路径完全一致的链接,这样在目标物理机上虚拟出源虚拟机的磁盘镜像的虚拟镜像。虚拟镜像的优点在于,虚拟镜像和源物理机上的磁盘镜像相同,并不存在依赖关系。所谓依赖关系是指,新建的镜像要依赖于下层镜像或原始镜像才能运行,这种依赖关系一般由镜像创建工具例如“QEMU-IMG”等实现。因为本发明的技术方案使用虚拟镜像而非依赖镜像,所以在本发明的另一实施例中,可以调整目标物理机的选择。
在步骤S102、根据虚拟镜像的配置信息,在目标物理机上建立目标虚拟机,其中目标虚拟机和源虚拟机两者的配置相同。
根据本发明的实施例,当虚拟镜像在目标物理机生成后,目标物理机可以通过源端磁盘镜像的路径和文件名访问源端的磁盘镜像文件。然后,虚拟机热迁移装置根据该虚拟镜像的包含上述路径与文件名称的配置信息,在目标物理机建立目标虚拟机,其中目标虚拟机的配置与源虚拟机的配置相同。需要说明的是,每个虚拟机都有对应的配置文件,通常这些配置文件保存在虚拟机所在的物理机上,为了能够使用源虚拟机的配置文件在目标物理机建立一个与源虚拟机配置相同的目标虚拟机,在磁盘配置上,需要虚拟镜像的配置信息作为目标虚拟机磁盘的配置信息,使与源虚拟机配置相同的目标虚拟机能够正常建立。
接下来,在步骤S103、通过迁移指令,将源虚拟机的内存数据和状态数据迁移到目标物理机。
在本发明的实施例中,可以通过虚拟化系统组件中的迁移命令选择上述共享存储协议将源虚拟机的内存数据和状态数据迁移到目标虚拟机物理机。作为一个实例,在KVM虚拟化系统中,可以使用“virsh migration”命令选择共享存储协议进行迁移。由于无需进行磁盘数据迁移,该步骤花费时间非常短。
当内存数据和状态数据被迁移到目标物理机后,目标虚拟机具备了与源虚拟机相同的内存数据和状态数据,因此目标虚拟机启动所需要的数据已足够。
在步骤S104、根据虚拟镜像、内存数据和状态数据,启动目标虚拟机。
在本发明实施例中,目标虚拟机在目标物理机上启动之后,如果目标虚拟机要访问磁盘数据,可以通过虚拟镜像从源物理机读写磁盘镜像数据来实现。在这种情况下,对于目标虚拟机来说,源物理机上的磁盘镜像相当于目标物理机上的本地磁盘。同时,源物理机上的源虚拟机就可以关闭,物理机的内存和CPU资源就可以释放,但是磁盘镜像还需保留一段时间。此时,源物理机的CPU、内存和磁盘I/O的利用率得以降低,物理机的负载被快速地降低及均衡。
在步骤S104之后,目标虚拟机运行产生的磁盘数据将通过共享存储协议被保存在源物理机上的磁盘镜像中。当源物理机的负载不高并且需要进行虚拟化相关软件或相关内核模块的升级,以便修复漏洞、提高性能或引入新特性等时,目标虚拟机产生的数据无需保存在目标物理机,当源物理机完成相关升级后,可直接将目标虚拟机重新迁回源物理机,迁回步骤与上述迁移步骤原理相同,在此省略详细描述。
因此,根据本发明的实施例,物理机能够在保证虚拟机上服务正常运行的同时,完成相关升级。并且由于无需迁移磁盘数据,节约了物理机资源。
第一实施例变型
图1B是根据本发明第一实施例的变型的虚拟机热迁移方法100’的流程图。
如图1B所示,方法100’中,步骤S101’至S104’与方法100的步骤S101至S104相同,为了简略,在此省略具体描述。
在步骤S104’之后,目标虚拟机运行产生的磁盘数据也可以被保存在目标物理机上。因此进一步的,在步骤S105’、根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据。
根据目标物理机上的虚拟镜像设立磁盘快照。该快照是相对于源物理机上的磁盘镜像的外部快照,该快照是磁盘镜像的关联镜像,并且依赖于目标物理机上的虚拟镜像。其中,外部快照是相对于内部快照而言,外部快照是相对于磁盘镜像的独立文件,而内部快照通常包含在磁盘镜像中,在一些情况下,内部快照与磁盘镜像生成为一个文件。
作为一个实例,目标物理机上的磁盘快照在设立时为增量的文件,除了一些基本信息之外并没有数据。并且,与其他用于备份的快照不同,本发明实施例中的磁盘快照具有特殊的配置。该配置特殊在于,目标虚拟机能够基于快照运行。具体的,磁盘快照是源物理机上的磁盘镜像的关联镜像,当目标虚拟机需要读取磁盘镜像的数据时,该虚拟机可通过磁盘快照所依赖的虚拟镜像从磁盘镜像读取数据。因此,当磁盘镜像设立后,目标虚拟机会在磁盘快照读写数据,即,源虚拟机的磁盘数据通过磁盘快照从源物理机上的磁盘镜像读取,新产生的数据将直接写入磁盘快照中。这样能够有效地降低了源物理机的负载。
在磁盘快照设立后,源物理机上的磁盘镜像不会产生数据的写入或更新操作,这时可以执行步骤S106’、将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中。
具体地,通过使用虚拟化系统中诸如“Block Stream”方法从源物理机将磁盘镜像中的数据提取并合并到目标物理机上的磁盘快照中。同时,根据源物理机和目标物理机的网络状态及所述运行状态,例如,网络收发率和磁盘的I/O负载等,动态地控制数据的提取及合并的速度,确保不会影响物理机的性能和/或增加物理机的负载压力。
在完成磁盘数据的合并之后,目标虚拟机就可以完全独立运行,不再对源物理机上的磁盘镜像有任何依赖。此时,执行步骤S107’、在源物理机和目标物理机上移除共享存储技术的相应设置。目标虚拟机中虚拟镜像将会被自动删除,目标虚拟机将不再访问源物理机上的磁盘镜像。
在本发明的实施例中,通过采用上述快速迁移的方法,虽然整个完整的迁移过程所需的时间,和传统的迁移方法所需的时间相当。但是迁移过程中,内存数据和状态数据的迁移过程非常短暂,使得可以在目标物理机上快速启动虚拟机,迅速降低源物理机的负载,改善用户虚拟机之间的资源竞争,避免高负载导致虚拟机性能下降和触发物理机宕机。
上文结合图1A和图1B详细描述了根据本发明第一实施例的虚拟机热迁移方法100和变型100’,下面将结合图2详细描述根据本发明第二实施例的虚拟机热迁移方法200。
第二实施例
图2是根据本发明第二实施例的虚拟机热迁移方法200的流程图。如图2所示,在方法200中,步骤S201-S204、S207-S209与方法100’中步骤S101’-S107’的技术特征相同,因此在此省略方法200中相同步骤的具体描述。下面将详细描述步骤S205和S206。
步骤S205、根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,如果所述负载不高于阈值,则维持当前所述目标物理机。
在一些情况下,当目标虚拟机启动之后,由于目标物理机上原有服务的需求增加和/或资源竞争等原因,目标物理机的负载可能会出乎预料地增大,这时非常有必要重新选择新的目标物理机。
如图2所示,步骤S205由步骤S205a和S205b组成。当目标虚拟机启动之后,步骤S205a首先会被执行。具体地,虚拟机热迁移装置会根据目标物理机的运行状态例如CPU、内存、磁盘I/O的利用率等判断物理机的负载是否不高于预先设定的阈值。如果目标物理机的负载高于预先设定的阈值(S205a中“否”),则重新选择新的目标物理机;如果目标物理机的负载低于或等于预先设定的阈值(S205b中“是”)则继续执行步骤S205b。在步骤S205b,需要进一步判断目标虚拟机的负载是否不高于预先设定的阈值,如果目标虚拟机的负载高于预先设定的阈值(S205b中“否”),则重新选择新的目标物理机;如果目标虚拟机的负载低于或等于预先设定的阈值(S205b中),则维持使用当前物理机。
其中,重新选择新的目标物理机需要执行步骤S206、在与源物理机具有网络连接的多个物理机中,根据多个物理机的运行状态,选择目标物理机。在本发明的实施例中,物理机的运行状态主要包括该物理机及其上运行的虚拟机的负载信息,例如,CPU、内存、磁盘I/O的利用率或网络收发速率等。在步骤S206中,虚拟机热迁移装置会根据每个物理机的负载信息,选择CPU、内存和磁盘I/O的利用率最小的物理机作为热迁移的目标物理机。
需要说明的是,根据本发明的实施例,在步骤S206之前,目标物理机上只有虚拟镜像、内存数据和状态数据。其中,虚拟镜像只是源物理机上磁盘镜像在目标物理机的一种映射,而非依赖镜像。此外,目标虚拟机产生的数据没有保存在目标物理机上,还保存在源物理机的磁盘镜像上。因此,如果选择的目标物理机负载增大,则可以再次执行步骤S206选择其他负载低的物理机进行二次或多次迁移。
因此,本发明实施例的虚拟机热迁移方法,通过对目标物理机的多次选择和连续地快速迁移,能够应对物理机的各种突发状况,还可以寻找到最优负载的目标物理机,满足降低物理机负载的需求。
上文中结合图1和图2,详细描述了根据本发明实施例的虚拟机热迁移方法,下面将结合图3至图5,描述根据本发明实施例的虚拟机热迁移装置和虚拟机热迁移系统。
图3A是根据本发明实施例的虚拟机热迁移装置300的示意性框图。如图3A所示,该虚拟机热迁移装置300包括:
共享模块301,用于将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在目标物理机上形成源磁盘数据的虚拟镜像;
建立模块302,用于在目标物理机上建立目标虚拟机,其中目标虚拟机和源虚拟机两者的配置相同;
迁移模块303,将源虚拟机的内存数据和状态数据迁移到目标物理机;
启动模块304,用于根据虚拟镜像、内存数据和状态数据,启动目标虚拟机。
图3B是根据本发明实施例的变型的虚拟机热迁移装置300’的示意性框图。如图3B所示,虚拟机热迁移装置300’的模块301’-304’与装置300的模块301-304相同,在此省略模块301’-304’的具体描述。
装置300’还进一步包括:
设立模块305’,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;
合并模块306’,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;
移除模块307’,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
可以理解地,本发明实施例的虚拟机热迁移装置300和300’可对应于本发明实施例中的虚拟机热迁移装置,并且装置300和300’中的各个模块的上述功能和/或其他操作分别为了实现图1A和图1B中方法的相应流程,为了简介,在此省略详细描述。
因此,本发明实施例的虚拟机热迁移装置300,能够在保证虚拟机上服务正常运行的同时,完成相关升级。并且由于无需迁移磁盘数据,节约了物理机资源。本发明实施例的虚拟机热迁移装置300’,通过虚拟机快速迁移的方式,虽然整个完整的迁移过程所需的时间,和传统的迁移方法所需的时间相当。但是迁移过程中,内存数据和状态数据的迁移过程非常短暂,使得可以在目标物理机上快速启动虚拟机,迅速降低源物理机的负载,改善用户虚拟机之间的资源竞争,避免高负载导致虚拟机性能下降和触发物理机宕机。
图4示出了根据本发明实施例的虚拟机热迁移装置400的示意性框图。如图4所示,该虚拟机热迁移装置400包括:
共享模块401,用于将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在目标物理机上形成源磁盘数据的虚拟镜像;
建立模块402,用于在目标物理机上建立目标虚拟机,其中目标虚拟机和源虚拟机两者的配置相同;
迁移模块403,将源虚拟机的内存数据和状态数据迁移到目标物理机;
启动模块404,用于根据虚拟镜像、内存数据和状态数据,启动目标虚拟机;
判断模块405,用于根据目标物理机和目标虚拟机的运行状态,判断目标物理机和目标虚拟机的负载是否高于阈值,如果负载高于阈值,则重新选择新的目标物理机,如果负载不高于阈值,则维持当前目标物理机;
设立模块406,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;
合并模块407,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;
移除模块408,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
可以理解地,本发明实施例的虚拟机热迁移装置400可对应于本发明实施例中的虚拟机热迁移装置,并且装置400中的各个模块的上述功能和/或其他操作分别为了实现图2中方法的相应流程,为了简介,在此省略详细描述。
因此,本发明实施例的虚拟机热迁移装置,通过对目标物理机的多次选择和连续地快速迁移,能够应对物理机的各种突发状况,还可以寻找到最优负载的目标物理机,满足降低物理机负载的需求。
图5是根据本发明实施例的虚拟机热迁移的系统500的示意性框图。如图5所示,该系统500包括:虚拟机热迁移装置501、源物理机502和目标物理机503,其中,该虚拟机热迁移装置501可以是图3至图4中描述的任意一种虚拟机热迁移装置,该源物理机502和目标物理机503是上述方法及装置中的源物理机和目标物理机。
进一步地,根据本发明的实施例,还提供一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当该指令被执行时,使得处理器执行虚拟机热迁移方法,具体的,该指令包括:共享指令,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立指令,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移指令,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动指令,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
可选地,根据本发明的另一实施例,该存储介质还可以包括判断指令,根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,如果所述负载不高于阈值,则维持当前所述目标物理机;设立指令,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;合并指令,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;移除指令,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
进一步的,根据本发明的另一实施例,还提供一种设备,包括存储器,存储有计算机可执行指令,处理器,处理器被配置为执行指令以实施虚拟机热迁移的过程,该过程包括:共享步骤,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;建立步骤,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;迁移步骤,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;启动步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
可选地,根据本发明的另一实施例,该过程还可以包括判断步骤,根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,如果所述负载不高于阈值,则维持当前所述目标物理机;设立步骤,用于根据虚拟镜像,在目标物理机上设立共享镜像的磁盘快照,磁盘快照用于存储目标虚拟机产生的目标磁盘数据;合并步骤,用于将源虚拟机的源磁盘数据合并到目标虚拟机的磁盘快照中;移除步骤,用于在源物理机和目标物理机上移除共享存储技术的相应设置。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
尽管本文已公开了各种方面和实施例,但其它方面和实施例对于本领域技术人员而言将是明显的。本文公开的各种方面和实施例是为了说明的目的,而不意在进行限制,真实的范围应当由所附权利要求以及这样的权利要求所被授权的等效物的全部范围指示。还要理解,本文中使用的术语仅是为了描述特定实施例的目的,而不意在进行限制。
因为可以对所描述的示例作出细节上的很多修改、变化和改变,但是意图在于前面的描述和附图中所示的所有事项被解释为说明性的,而不是限制的意思。
Claims (17)
1.一种虚拟机热迁移的方法,其特征在于,包括:
共享步骤,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;
建立步骤,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;
迁移步骤,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;
启动步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
2.根据权利要求1所述的方法,其特征在于,在所述共享步骤中,通过共享存储技术,所述源磁盘数据将共享镜像共享到所述目标物理机;并且
所述虚拟镜像具有与所述共享镜像相同名称和路径。
3.根据权利要求2所述的方法,其特征在于,在所述启动步骤之后,进一步包括:
判断步骤,根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,并执行所述共享步骤,如果所述负载不高于阈值,则维持当前所述目标物理机。
4.根据权利要求1-3所述的方法,其特征在于,在所述方法还包括:
设立步骤,根据所述虚拟镜像,在所述目标物理机上设立所述共享镜像的磁盘快照,所述磁盘快照用于存储所述目标虚拟机产生的目标磁盘数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
合并步骤,将所述源虚拟机的所述源磁盘数据合并到所述目标虚拟机的所述磁盘快照中。
6.根据权利要求5所述的方法,其特征在于,在所述合并步骤中,
根据所述源物理机和所述目标物理机的网络状态及所述运行状态,所述源磁盘数据以动态地速度被合并到所述磁盘快照中。
7.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
移除步骤,在所述源物理机和所述目标物理机上移除所述共享存储技术的相应设置。
8.一种虚拟机热迁移的装置,其特征在于,包括:
共享模块,用于将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;
建立模块,用于在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;
迁移模块,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;
启动模块,用于根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
9.根据权利要求8所述的装置,其特征在于,在所述共享模块中,通过共享存储技术,所述源磁盘数据将共享镜像共享到所述目标物理机;并且
所述虚拟镜像具有与所述共享镜像相同名称和路径。
10.根据权利要求9所述的装置,其特征在于,在所述启动模块之后,进一步包括判断模块,用于根据所述目标物理机和所述目标虚拟机的运行状态,判断所述目标物理机和所述目标虚拟机的负载是否高于阈值,如果所述负载高于阈值,则重新选择新的目标物理机,并进行所述共享模块,如果所述负载不高于阈值,则维持当前所述目标物理机。
11.根据权利要求8-10所述的装置,其特征在于,在所述装置还包括:
设立模块,用于根据所述虚拟镜像,在所述目标物理机上设立所述共享镜像的磁盘快照,所述磁盘快照用于存储所述目标虚拟机产生的目标磁盘数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
合并模块,用于将所述源虚拟机的所述源磁盘数据合并到所述目标虚拟机的所述磁盘快照中。
13.根据权利要求12所述的装置,其特征在于,在所述合并模块中,
根据所述源物理机和所述目标物理机的网络状态及所述运行状态,所述源磁盘数据以动态地速度被合并到所述磁盘快照中。
14.根据权利要求13所述的装置,其特征在于,所述装置进一步包括:
移除模块,用于在所述源物理机和所述目标物理机上移除所述共享存储技术的相应设置。
15.一种实现虚拟机热迁移的系统,包括源物理机、目标物理机以及权利要求8-14任一项所述的虚拟机热迁移装置。
16.一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当所述指令被执行时,使得处理器执行虚拟机热迁移方法,所述指令包括:
共享指令,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;
建立指令,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;
迁移指令,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;
启动指令,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
17.一种设备,包括存储器,存储有计算机可执行指令,处理器,所述处理器被配置为执行所述指令以实施虚拟机热迁移的过程,所述过程包括:
共享步骤,将源物理机上的源虚拟机的源磁盘数据共享到目标物理机,在所述目标物理机上形成所述源磁盘数据的虚拟镜像;
建立步骤,在所述目标物理机上建立目标虚拟机,其中所述目标虚拟机和所述源虚拟机两者的配置相同;
迁移步骤,将所述源虚拟机的内存数据和状态数据迁移到所述目标物理机;
启动步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动所述目标虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710439735.8A CN107247619B (zh) | 2017-06-12 | 2017-06-12 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710439735.8A CN107247619B (zh) | 2017-06-12 | 2017-06-12 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107247619A true CN107247619A (zh) | 2017-10-13 |
CN107247619B CN107247619B (zh) | 2019-07-23 |
Family
ID=60018040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710439735.8A Active CN107247619B (zh) | 2017-06-12 | 2017-06-12 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107247619B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121558A (zh) * | 2017-12-29 | 2018-06-05 | 上海优刻得信息科技有限公司 | 软件更新方法、装置、存储介质及设备 |
CN108170513A (zh) * | 2017-12-28 | 2018-06-15 | 上海优刻得信息科技有限公司 | 对网络盘进行挂载的方法、装置、系统和存储介质 |
CN108446164A (zh) * | 2018-03-01 | 2018-08-24 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
CN108958889A (zh) * | 2018-07-12 | 2018-12-07 | 郑州云海信息技术有限公司 | 云数据系统中虚拟机的管理方法和装置 |
CN109388478A (zh) * | 2018-11-01 | 2019-02-26 | 郑州云海信息技术有限公司 | 用于OpenStack环境中迁移虚拟机的方法和装置 |
CN109597677A (zh) * | 2018-12-07 | 2019-04-09 | 北京百度网讯科技有限公司 | 用于处理信息的方法和装置 |
CN110515697A (zh) * | 2019-08-16 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、存储介质及计算机设备 |
WO2020001442A1 (zh) * | 2018-06-25 | 2020-01-02 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN110874264A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 实例热迁移方法及装置、存储介质、处理器 |
CN111857944A (zh) * | 2019-04-30 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 虚拟机热迁移的方法、装置、系统和计算机可读存储介质 |
CN112445571A (zh) * | 2019-09-05 | 2021-03-05 | 中移(苏州)软件技术有限公司 | 虚拟机迁移、管理的方法和服务器、计算机可读存储介质 |
CN112965857A (zh) * | 2021-03-03 | 2021-06-15 | 上海英方软件股份有限公司 | 一种基于块备份快速恢复数据的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
CN104965757A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
-
2017
- 2017-06-12 CN CN201710439735.8A patent/CN107247619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
CN104965757A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170513A (zh) * | 2017-12-28 | 2018-06-15 | 上海优刻得信息科技有限公司 | 对网络盘进行挂载的方法、装置、系统和存储介质 |
CN108121558A (zh) * | 2017-12-29 | 2018-06-05 | 上海优刻得信息科技有限公司 | 软件更新方法、装置、存储介质及设备 |
CN108446164B (zh) * | 2018-03-01 | 2022-02-22 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
CN108446164A (zh) * | 2018-03-01 | 2018-08-24 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
US11941423B2 (en) | 2018-06-25 | 2024-03-26 | Huawei Technologies Co., Ltd. | Data processing method and related device |
WO2020001442A1 (zh) * | 2018-06-25 | 2020-01-02 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN108958889A (zh) * | 2018-07-12 | 2018-12-07 | 郑州云海信息技术有限公司 | 云数据系统中虚拟机的管理方法和装置 |
CN110874264A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 实例热迁移方法及装置、存储介质、处理器 |
CN110874264B (zh) * | 2018-08-30 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 实例热迁移方法及装置、存储介质、处理器 |
CN109388478A (zh) * | 2018-11-01 | 2019-02-26 | 郑州云海信息技术有限公司 | 用于OpenStack环境中迁移虚拟机的方法和装置 |
CN109597677A (zh) * | 2018-12-07 | 2019-04-09 | 北京百度网讯科技有限公司 | 用于处理信息的方法和装置 |
CN111857944A (zh) * | 2019-04-30 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 虚拟机热迁移的方法、装置、系统和计算机可读存储介质 |
CN110515697A (zh) * | 2019-08-16 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、存储介质及计算机设备 |
CN112445571A (zh) * | 2019-09-05 | 2021-03-05 | 中移(苏州)软件技术有限公司 | 虚拟机迁移、管理的方法和服务器、计算机可读存储介质 |
CN112965857A (zh) * | 2021-03-03 | 2021-06-15 | 上海英方软件股份有限公司 | 一种基于块备份快速恢复数据的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107247619B (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247619A (zh) | 虚拟机热迁移方法、装置、系统、存储介质及设备 | |
US10649953B2 (en) | Blockchain-based data migration method and apparatus | |
JP6876806B2 (ja) | ブロックチェーンコンセンサス形成の方法およびデバイス | |
US9292217B2 (en) | Logical volume space sharing | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN106201659B (zh) | 一种虚拟机热迁移的方法及宿主机 | |
KR20190136053A (ko) | 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스 | |
CN109388478A (zh) | 用于OpenStack环境中迁移虚拟机的方法和装置 | |
CN110413590A (zh) | 数据迁移方法、装置、设备和介质 | |
US9875057B2 (en) | Method of live migration | |
US10992746B2 (en) | Automatic system response to external field-replaceable unit (FRU) process | |
KR20050043291A (ko) | 가비지 콜렉션 방법 및 그 장치 | |
CN110704161A (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CA2959647C (en) | Data migration tool with intermediate incremental copies | |
CN107273187A (zh) | 读取位置获取方法及装置、计算机装置、可读存储介质 | |
JP6531574B2 (ja) | ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 | |
JP2010198528A (ja) | ストレージシステム | |
CN108563693A (zh) | 一种事务的处理方法、装置及设备 | |
CN112596669A (zh) | 一种基于分布式存储的数据处理方法及装置 | |
CN105162833A (zh) | 应用于无盘工作站的客户机管理系统及方法 | |
CN107786670A (zh) | 一种本地存储数据和云存储结合运用的系统和方法 | |
KR20210061633A (ko) | 가상화 시스템의 컨테이너 스케줄링 장치 및 방법 | |
KR102456017B1 (ko) | 응용 프로그램간 파일 공유 장치 및 방법 | |
US10318191B1 (en) | Migration and transformation of data storage in a replicated environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 200090 Room 201, 10 B, 619 Longchang Road, Yangpu District, Shanghai. Applicant after: Excellent Polytron Technologies Inc Address before: 200090 Shanghai Yangpu District Shanghai Yangpu District Longchang road 619 city concept 10 building B block. Applicant before: SHANGHAI UCLOUD INFORMATION TECHNOLOGY CO., LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |