CN104965757A - 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 - Google Patents
虚拟机热迁移的方法、虚拟机迁移管理装置及系统 Download PDFInfo
- Publication number
- CN104965757A CN104965757A CN201510031835.8A CN201510031835A CN104965757A CN 104965757 A CN104965757 A CN 104965757A CN 201510031835 A CN201510031835 A CN 201510031835A CN 104965757 A CN104965757 A CN 104965757A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- physical machine
- image file
- machine
- data
- 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
Abstract
本发明公开了一种虚拟机热迁移的方法、虚拟机迁移管理装置及系统。其中,该方法包括:虚拟机迁移管理装置将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件之间存在对应关系的第二镜像文件;向源端物理机发送迁移命令;控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行;在第二虚拟机在目的端物理机上运行的过程中,将第一镜像文件中的磁盘数据同步至第二镜像文件。本发明解决了由于采用预拷贝造成的热迁移时间较长的技术问题。
Description
技术领域
本发明涉及虚拟化技术领域,具体而言,涉及一种虚拟机热迁移的方法、虚拟机迁移管理装置及系统。
背景技术
热迁移(live migration)是虚拟化技术中极其重要的一部分。虚拟化环境中,业务负载运行在虚拟机上,虚拟机运行在物理机上,每个物理机可以运行一台或多台虚拟机;热迁移功能使得虚拟机在不暂停或重启的情况下,可以在线地从源端物理机移动到目的端物理机上。虚拟机热迁移过程主要包括磁盘数据和内存数据的迁移。
现有的热迁移技术大多是在采用预拷贝的方法,在虚拟机热迁移结束(虚拟机在源端物理机上停止运行,开始在目的端物理机上运行)前完成数据拷贝和迁移,即先将磁盘数据和内存数据迁移至目的端物理机上,再将虚拟机从源端物理机迁移到目的端物理机上运行。
然而,在源端物理机和目的端物理机为非共享存储的情形下,虚拟机磁盘数据的迁移通常占据大部分的迁移时间,并且热迁移时,还需先完成原始数据的迁移,再循环迁移脏数据(脏数据,是指在虚拟机运行过程中发生变更的数据)直至达到迁移终止条件,完成迁移。这样,会导致热迁移的时间往往较长,虚拟机热迁移的速度较慢。对于使用多个镜像文件的虚拟机,这种影响更加显著。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟机热迁移的方法、虚拟机迁移管理装置及系统,以至少解决由于采用预拷贝造成的热迁移时间较长的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟机热迁移的方法,包括:虚拟机迁移管理装置将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在上述目的端物理机上生成与上述第一镜像文件之间存在对应关系的第二镜像文件,其中,上述第一镜像文件中包括上述第一虚拟机的磁盘数据;上述虚拟机迁移管理装置向上述源端物理机发送迁移命令,以使上述源端物理机根据上述迁移命令将上述第一虚拟机的内存数据发送至上述目的端物理机;上述虚拟机迁移管理装置控制在上述目的端物理机预先建立的与上述第一虚拟机配置相同的第二虚拟机通过调用存储在上述目的端物理机中的上述第一虚拟机的内存数据以及上述对应关系在上述目的端物理机上运行;在上述第二虚拟机在上述目的端物理机上运行的过程中,上述虚拟机迁移管理装置将上述第一镜像文件中的上述磁盘数据同步至上述第二镜像文件。
根据本发明实施例的另一方面,还提供了一种虚拟机迁移管理装置,包括:映射单元,用于将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在上述目的端物理机上生成与上述第一镜像文件之间存在对应关系的第二镜像文件,其中,上述第一镜像文件中包括上述第一虚拟机的磁盘数据;第一发送单元,用于向上述源端物理机发送迁移命令,以使上述源端物理机根据上述迁移命令将上述第一虚拟机的内存数据发送至上述目的端物理机;控制单元,用于控制在上述目的端物理机预先建立的与上述第一虚拟机配置相同的第二虚拟机通过调用存储在上述目的端物理机中的上述第一虚拟机的内存数据以及上述对应关系在上述目的端物理机上运行;同步单元,用于在上述第二虚拟机在上述目的端物理机上运行的过程中,将上述第一镜像文件中的上述磁盘数据同步至上述第二镜像文件。
根据本发明实施例的另一方面,还提供了一种实现虚拟机热迁移的系统,包括具有上述任意特征的虚拟机迁移管理装置,与上述虚拟机迁移管理装置连接的源端物理机以及目的端物理机,其中,第一虚拟机运行在上述源端物理机上,第二虚拟机运行在上述目的端物理机上,上述源端物理机,用于接收来自上述虚拟机迁移管理装置的迁移命令后,根据上述迁移命令将第一虚拟机的内存数据发送至上述目的端物理机;上述目的端物理机,用于在上述第二虚拟机在上述目的端物理机上运行的过程中,将上述第二虚拟机在运行的过程中产生的磁盘数据写入第二镜像文件。
在本发明实施例中,采用在虚拟机运行后拷贝磁盘数据的方式,通过在将源端物理机上的第一虚拟机的磁盘数据映射到目的端物理机上,以及将源端物理机上的第一虚拟机的内存数据发送至目的物理机后,运行在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机,进而,在第二虚拟机在目的端物理机上运行的过程中,进行磁盘数据的同步。由于在接收内存数据(内存数据往往数据量较少,传输时间短)后即开始运行目的端物理机上的第二虚拟机(此时虚拟机热迁移结束),而不需要等到同步第一虚拟机的磁盘数据之后才开始运行第二虚拟机,因此缩短了虚拟机的热迁移时间,解决了由于采用预拷贝造成的热迁移时间较长的技术问题,从而提高了虚拟机的迁移速度和效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的虚拟机热迁移的方法的硬件场景示意图;
图2是根据本发明实施例的一种可选的虚拟机热迁移的方法的流程示意图;
图3是根据本发明实施例的另一种可选的虚拟机热迁移的方法的流程示意图;
图4是根据本发明实施例的又一种可选的虚拟机热迁移的方法的流程示意图;
图5是根据本发明实施例的一种可选的虚拟机热迁移过程中数据迁移示意图;
图6是根据本发明实施例的另一种可选的虚拟机热迁移过程中数据迁移示意图;
图7是根据本发明实施例的一种可选的虚拟机迁移管理装置结构示意图;
图8是根据本发明实施例的另一种可选的虚拟机迁移管理装置结构示意图;
图9是根据本发明实施例的又一种可选的虚拟机迁移管理装置结构示意图;
图10是根据本发明实施例的又一种可选的虚拟机迁移管理装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中引入的几个要素:
Live-Migration(虚拟机热迁移):在虚拟机不停机的情况下将子机从一台物理母机(源端物理机)迁移到另一台物理母机(目的端物理机)。
Non-Share-Storage(非共享存储):虚拟机热迁移过程涉及的两台物理机分别存储两份独立的虚拟机磁盘数据(例如镜像文件),热迁移过程需要迁移虚拟机的磁盘数据。与其相对的是共享存储(Share-Storage),两台物理机共享同一份虚拟机的镜像文件。
Post-Copy(后拷贝):在虚拟子机热迁移结束后进行数据拷贝和迁移。
Dirty-Data(脏数据):由于热迁移过程中虚拟机保持正常运行状态,已经完成迁移的数据可能被虚拟机再次访问而发生变更,从而产生脏数据。热迁移需完成所有脏数据的处理,保证迁移完成后的数据一致性。
Migration-Bandwidth(迁移带宽):虚拟机热迁移消耗的数据传输带宽。由于热迁移过程占用的是额外的数据传输带宽,与虚拟机本身的带宽消耗存在竞争,所以迁移带宽一般是受限的。
实施例1
根据本发明实施例,提供了一种虚拟机热迁移的方法,在本实施例中,上述虚拟机热迁移的方法可以应用于如图1所示的源端物理机102和目的端物理机104所构成的硬件环境中。如图1所示,源端物理机102通过网络与目的端物理机104进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述源端物理机102以及目的端物理机104包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。源端物理机102及目的物理机104上的虚拟机迁移管理装置可以控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机运行之后,再将第一镜像文件中的磁盘数据同步至第二镜像文件。
可选地,在本实施例中,上述虚拟机热迁移的方法的流程可以如图2所示,该方法包括:
S202、虚拟机迁移管理装置将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件之间存在对应关系的第二镜像文件,其中,第一镜像文件中包括第一虚拟机的磁盘数据;
S204、虚拟机迁移管理装置向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机;
S206、虚拟机迁移管理装置控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行;
S208、在第二虚拟机在目的端物理机上运行的过程中,虚拟机迁移管理装置将第一镜像文件中的磁盘数据同步至第二镜像文件。
需要说明的是,本发明实施例中,“虚拟机”是指通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源,对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作;“物理机”,也称物理计算机,是指实体设备;“热迁移”是可以在不停机的情况下,将虚拟机从一台物理机(本实施例称源端物理机)迁移到另一台物理机(本实施例称目的端物理机),迁移过程不影响虚拟机的正常运行,即不会影响用户运行在虚拟机上的业务。
需要指出的是,本发明实施例对虚拟机的类型不做限制,例如可以是Xen虚拟机,KVM(Kernel Virtual Machine,内核虚拟机),hyperv虚拟机(微软的虚拟化技术)等,都应在本发明实施例的保护范围之内。并且,本发明实施例的虚拟机迁移管理装置可以单独存在,也可以集成于源端物理机和/或目的端物理机之内,本发明实施例不做限制。
首先,本发明实施例对本发明实施例提供的虚拟机热迁移的方法可以应用的场景进行示例性介绍:
1、物理机宕机或者故障大多时候是有先兆的,例如内核会报硬件错误,在收到这个告警之后和物理机宕机之前的这段时间内,可以通过热迁移将该物理机上的虚拟机迁移到一台状态健康的物理机上,避免虚拟机收到物理机宕机的影响,保障用户业务的正常;
2、物理机raid卡故障时,容易造成虚拟机的I/O(Input/Output,输入/输出)急剧下降,相当于虚拟机不可用,那么可以通过热迁移将虚拟机迁移走,以保证虚拟机的I/O性能;
3、物理机在毫无前兆的情况下宕机了,那重复宕机的可能性就很大。为了避免该物理机上的虚拟机受到二次宕机的影响,在物理机恢复后,可以通过热迁移将该物理机上的虚拟机迁移走,将该物理机下架检查修复;
4、当物理机的负载达到瓶颈,那么物理机上的虚拟机的性能也会受到影响,通过监控发现负载问题,可以通过热迁移物理机上的部分虚拟机来降低物理机的负载,以达到资源利用率和虚拟机性能的平衡。
在上述环境下,根据本发明实施例提供的虚拟机热迁移的方法,在步骤S202中,虚拟机迁移管理装置需要将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件之间存在对应关系的第二镜像文件,其中,第一镜像文件中包括第一虚拟机的磁盘数据。
本发明实施例中,虚拟机的数据可以包括磁盘数据和内存数据,也可以包括设备状态数据(例如虚拟机CPU寄存器),热迁移就是把虚拟机的数据在保证一致的情况下迁移至目的端物理机。
在本发明实施例中,当需要将运行在源端物理机上的第一虚拟机迁移至目的端物理机时,虚拟机迁移控制装置可以将源端物理上的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件存在对应关系的第二镜像文件,这样,当第一虚拟机迁移至目的端物理机上运行时(迁移后称为第二虚拟机),第二虚拟机可以同时访问源端物理机上的第一镜像文件(也可称作旧镜像)和目的端物理机上第二镜像文件(也可称作新镜像)。
其中,镜像文件是指将特定的一系列文件按照一定的格式制作成单一的文件,镜像文件可以包括很多信息。本发明实施例中,第一镜像文件中包括第一虚拟机的磁盘数据。
需要说明的是,本发明实施例中的镜像文件仅仅是虚拟机使用本地存储空间(虚拟机所在物理机的存储空间)的一种方式,对于使用卷、分区等其他任意方式所构成的虚拟机的磁盘数据迁移也在本发明实施例的保护范围之内。
例如,将源端物理机的第一虚拟机VM(Virtual Machine,虚拟机)-A,迁移到目的端物理机第二虚拟机VM-A',可以将VM-A的第一镜像文件映射到目的端物理机上,以生成VM-A'的第二镜像文件。例如可选地,在一个实施例中,如图3所示,虚拟机迁移管理装置通过以下步骤将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件之间存在对应关系的第二镜像文件:
S302、虚拟机迁移管理装置设置第一镜像文件为共享文件,并设置允许访问第一镜像文件的地址为目的端物理机的IP地址;
S304、虚拟机迁移管理装置在目的端物理机上生成第二镜像文件,其中,第二镜像文件在目的端物理机上的路径与第一镜像文件在源端物理机上的路径一致;
S306、虚拟机迁移管理装置建立第一镜像文件与第二镜像文件的中数据块的对应关系。
可选地,本发明实施例可以利用NFS(Network File System,网络文件系统)技术,通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,具体地,通过网络让目的端物理机上的VM-A'可以访问源端物理机上的第一镜像文件。
作为一种可能的实现方式,虚拟机管理装置可以对源端物理机进行配置,例如,可以修改/etc/exports文件,在exports文件中可以定义共享目录、访问权限和允许访问的IP(Internet Protocol,互联网协议)地址,在本发明实施例中,该共享目录可以为第一镜像文件,访问权限可以为读写,允许访问的IP地址(即允许访问第一镜像文件的地址)可以为目的端物理机的IP地址。
进一步地,虚拟机迁移管理装置在目的端物理机上生成第二镜像文件,第二镜像文件在目的端物理机上的路径与第一镜像文件在源端物理机上的路径一致,该第二镜像文件用于存储VM-A'的磁盘数据,以保证VM-A'能够正常运行。虚拟机迁移管理装置建立第一镜像文件与第二镜像文件的中数据块的对应关系,进而,VM-A'就可以通过该对应关系调用第一镜像文件中的磁盘数据了。
需要说明的是,此时在目的端物理机上第二镜像文件可以一个空的文件,里面没有数据,但第二镜像文件在目的端物理机上的路径和第一镜像文件在源端物理机上的路径需要一致。
在上述环境下,根据本发明实施例提供的虚拟机热迁移的方法,在步骤S204中,虚拟机迁移管理装置向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机。
可选地,虚拟机迁移管理装置可以在目的端物理机上创建一个和第一虚拟机配置相同的第二虚拟机,第二虚拟机当前状态为暂停状态,第二虚拟机的虚拟CPU为暂停状态。
在本发明实施例中,虚拟机迁移管理装置可以向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机。例如可选地,虚拟机迁移管理装置可以给VM-A对应的qemu进程发出一个迁移命令,迁移命令可以指定目的端物理机为目标、指定需要迁移的数据、最大停机时间、迁移的带宽限制等。
需要说明的是,待迁移的内存数据可以直接由源端物理机的ethx网卡发出,进入到目的端物理机的ethx网卡,本发明实施例对此不做限制。并且,本发明实施例对数据传输通道的类型不做限制。
需要说明的是,本发明实施例对步骤S202和步骤S204的时间顺序不做限制,可以先执行步骤S202再执行步骤S204,也可以先执行步骤S204再执行步骤S202,还可以同时执行步骤S202和步骤S204,均应在本发明实施例的保护范围之内。
作为一种可选的实施方式,如图4所示,虚拟机迁移管理装置通过以下步骤向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机:
S402、虚拟机迁移管理装置生成迁移命令,其中,迁移命令用于指示目的端物理机的IP地址以及内存数据;
S404、虚拟机迁移管理装置向源端物理机发送迁移命令,以使源端物理机将内存数据发送至IP地址所指示的目的端物理机。
可选地,源端物理机在收到该迁移命令后,可以根据该迁移命令确定待发送的内存数据,进而将该内存数据发送至上述IP地址所指示的目的端物理机。具体地,源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机,可以包括:
S1、源端物理机根据迁移命令中的目的端物理机的IP地址,将内存数据发送至目的端物理机;
S2、源端物理机将内存数据的发送过程中产生的脏数据从源端物理机发送至目的端物理机,其中,脏数据包括:在第一虚拟机运行过程中发生变更的数据。
其中,每个虚拟机在创建的时候都会注册内存数据的迁移函数(对于设备状态数据而言,没有对应的迁移函数,因为设备状态数据的数据量较少,只需在最后阶段一次同步即可),本发明实施例在进行内存数据迁移的过程中可以调用这些注册函数来完成源端物理机发送数据的功能。
然而,在迁移的过程中可能产生脏数据(发生变更的数据),如果不迁移脏数据,那源端物理机和目的端物理机上的数据必然是不一致的,因此在内存数据的迁移函数的实现上,可以分三个阶段,第一阶段是准备阶段,第二阶段是迁移全量数据,第三阶段是迁移发生变更的数据也就是脏数据。具体可以包括:
a、第一阶段主要是进行数据传输的准备工作,例如,把内存所有页全部设置为脏页,并发送开始迁移的标志到VM-A'的进程。
b、如图5所示,第二阶段需要全量迁移数据,这个阶段是一个迁移收敛的过程,上述设置的最大停机时间和迁移的带宽限制可以影响到收敛的过程,源端物理机边迁移边记录剩下的脏数据大小和计算迁移过程的平均传输带宽,用脏数据与平均传输带宽的比值与最大停机时间比较,如果比值大于最大停机时间,那么继续迁移,如果比值小于最大停机时间,则暂停源端物理机的运行,以避免产生新的脏数据。
c、如图6所示,暂停之后,进入第三阶段,源端物理机可以将内存脏数据和设备状态数据一次性同步到目的端物理机,同步完成时VM-A和VM-A'的内存数据和设备状态数据就一致了,这时,虚拟机迁移管理装置可以关闭VM-A,并把VM-A'的CPU恢复运行状态,VM-A'则可以开始运行了。
在上述环境下,根据本发明实施例提供的虚拟机热迁移的方法,在步骤S206中,虚拟机迁移管理装置控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行。
本发明实施例中,在内存数据迁移完成后,可以关闭VM-A,VM-A'作为VM-A的拷贝,在目的端物理机上运行,需要说明的是,此时VM-A的磁盘数据并未同步,因此,VM-A'可以通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行。
当VM-A关闭,VM-A'运行时,表示热迁移过程已结束,只剩磁盘数据的同步。由于源端物理机在发送了第一虚拟机的内存数据后,第一虚拟机即迁移至目的端物理机运行,第一虚拟机不再在源端物理机上运行,也不会占用源端物理机的CPU,因此采用本发明实施例的虚拟机热迁移的方法可以快速减轻源端物理机的负载,快速为源端物理机腾出内存空间。
需要说明的是,本发明实施例对何时建立与第一虚拟机配置相同的第二虚拟机不做限制,即本发明实施例对建立第二虚拟机和步骤S202和步骤S204的时间顺序不做限制。
在上述环境下,根据本发明实施例提供的虚拟机热迁移的方法,在步骤S208中,在第二虚拟机在目的端物理机上运行的过程中,虚拟机迁移管理装置将第一镜像文件中的磁盘数据同步至第二镜像文件。
本发明实施例提供的虚拟机热迁移的方法,采用磁盘数据后拷贝技术,即磁盘数据在第二虚拟机运行之后从第一镜像文件同步至第二镜像文件。不但使得热迁移效率增大,而且避免了磁盘脏数据的传输,即第二虚拟机在运行过程中产生的磁盘数据写入第二镜像文件,降低了系统负载。
可选地,虚拟机迁移管理装置将第一镜像文件中的磁盘数据同步至第二镜像文件,包括:虚拟机迁移管理装置读取第一镜像文件中的磁盘数据;虚拟机迁移管理装置将第一镜像文件中的磁盘数据写入第二镜像文件。
作为一种可选的实施方式,在将第一镜像文件中的磁盘数据同步至第二镜像文件之前,方法还包括:虚拟机迁移管理装置生成用于记录磁盘数据同步进度的位图,其中,位图的每一位用于表示对应的磁盘数据中的数据块是否完成同步,若位图的第i位的值为1,则表示与第i位对应的磁盘数据中的第i数据块已从第一镜像文件同步至第二镜像文件;若第i位的值为0,则表示第i数据块未从第一镜像文件同步至第二镜像文件;其中,位图的位数为N,1≤i≤N;在将第一镜像文件中的磁盘数据同步至第二镜像文件之后,方法还包括:在第二虚拟机在目的端物理机上运行、且需要读取第i数据块时,若第i位的值为1,则第二虚拟机从第二镜像文件中读取第i数据块,若第i位的值为0,则第二虚拟机从第一镜像文件中读取第i数据块。
由于本发明实施例中第二虚拟机所需的磁盘数据是在第二虚拟机运行过程中,从第一镜像文件同步至第二镜像文件的,那么就会出现一部分磁盘数据在第一镜像文件中(即未同步状态),一部分磁盘数据在第二镜像文件中(即已同步状态)的情况。因此,第二虚拟机在运行过程中就需要知晓磁盘数据到底处于哪一个镜像文件中。故,如上述方法,虚拟机迁移管理装置生成用于记录磁盘数据同步进度的位图,该位图包括多个位,每一位对应于磁盘数据中的一个数据块,用于表示对应的数据块是否完成同步。
例如,在时刻B时,数据块C未从第一镜像文件同步至第二镜像文件,即数据块C还处于第一镜像文件中,那么位图中与数据块C对应的位的值为0,第二虚拟机在目的端物理机上运行时,若需要读取该数据块C,则通过位图中与数据块C对应的位的值获知该数据块C处于第一镜像文件中,那么第二虚拟机则从第一镜像文件中读取该数据块C;在时刻D时,数据块C已从第一镜像文件同步至第二镜像文件,即数据块C第二镜像文件中,那么位图中与数据块C对应的位的值为1,第二虚拟机在目的端物理机上运行时,若需要读取该数据块C,则通过位图中与数据块C对应的位的值获知该数据块C处于第二镜像文件中,那么第二虚拟机则从第二镜像文件中读取该数据块C。
需要说明的是,在第二虚拟机在目的端物理机上运行的过程中,第二虚拟机将第二虚拟机在运行的过程中产生的磁盘数据写入第二镜像文件。
由于在磁盘数据同步的过程中,用户或系统发送的磁盘数据写入操作在第二镜像文件上完成,第一镜像文件中至发生磁盘数据读取操作,因此,本发明实施例的虚拟机热迁移的方法避免了虚拟机的磁盘脏数据的传输,整个热迁移过程中产生的磁盘读写请求数量下降,降低系统负载。同时,本发明实施例的虚拟机热迁移的方法只需进行内存数据的预拷贝,数据类型单一,拷贝速度较快。
在完成磁盘数据同步之后,虚拟机迁移管理装置可以解除对第一镜像文件与第二镜像文件之间的映射,第二虚拟机则不再访问第一镜像文件。
在本发明实施例中,采用在虚拟机运行后拷贝磁盘数据的方式,通过在将源端物理机上的第一虚拟机的磁盘数据映射到目的端物理机上,以及将源端物理机上的第一虚拟机的内存数据发送至目的物理机后,运行在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机,进而,在第二虚拟机在目的端物理机上运行的过程中,进行磁盘数据的同步。由于在接收内存数据(内存数据往往数据量较少,传输时间短)后即开始运行目的端物理机上的第二虚拟机(此时虚拟机热迁移结束),而不需要等到同步第一虚拟机的磁盘数据之后才开始运行第二虚拟机,因此缩短了虚拟机的热迁移时间,解决了由于采用预拷贝造成的热迁移时间较长的技术问题,从而提高了虚拟机的迁移速度和效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,提供了一种虚拟机迁移管理装置,在本实施例中,上述虚拟机迁移管理装置可以应用于如图1所示的源端物理机102和目的端物理机104所构成的硬件环境中。如图1所示,源端物理机102通过网络与目的端物理机104进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述源端物理机102以及目的端物理机104包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。源端物理机102及目的物理机104上的虚拟机迁移管理装置可以控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机运行之后,再将第一镜像文件中的磁盘数据同步至第二镜像文件。
根据本发明实施例,还提供了一种用于实施上述虚拟机热迁移的方法的虚拟机迁移管理装置,如图7所示,该装置包括:
1)映射单元702,用于将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件之间存在对应关系的第二镜像文件,其中,第一镜像文件中包括第一虚拟机的磁盘数据;
2)第一发送单元704,用于向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机;
3)控制单元706,用于控制在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行;
4)同步单元708,用于在第二虚拟机在目的端物理机上运行的过程中,将第一镜像文件中的磁盘数据同步至第二镜像文件。
需要说明的是,本发明实施例中,“虚拟机”是指通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作;“物理机”,也称物理计算机,是指实体设备;“热迁移”是可以在不停机的情况下,将虚拟机从一台物理机(本实施例称源端物理机)迁移到另一台物理机(本实施例称目的端物理机),迁移过程不影响虚拟机的正常运行,即不会影响用户运行在虚拟机上的业务。
需要指出的是,本发明实施例对虚拟机的类型不做限制,例如可以是Xen虚拟机,KVM虚拟机,hyperv虚拟机(微软的虚拟化技术)等,都应在本发明实施例的保护范围之内。并且,本发明实施例的虚拟机迁移管理装置可以单独存在,也可以集成于源端物理机和/或目的端物理机之内,本发明实施例不做限制。
首先,本发明实施例对本发明实施例提供的虚拟机迁移管理装置可以应用的场景进行示例性介绍:
1、物理机宕机或者故障大多时候是有先兆的,例如内核会报硬件错误,在收到这个告警之后和物理机宕机之前的这段时间内,可以通过热迁移将该物理机上的虚拟机迁移到一台状态健康的物理机上,避免虚拟机收到物理机宕机的影响,保障用户业务的正常;
2、物理机raid卡故障时,容易造成虚拟机的I/O急剧下降,相当于虚拟机不可用,那么可以通过热迁移将虚拟机迁移走,以保证虚拟机的I/O性能;
3、物理机在毫无前兆的情况下宕机了,那重复宕机的可能性就很大。为了避免该物理机上的虚拟机受到二次宕机的影响,在物理机恢复后,可以通过热迁移将该物理机上的虚拟机迁移走,将该物理机下架检查修复;
4、当物理机的负载达到瓶颈,那么物理机上的虚拟机的性能也会受到影响,通过监控发现负载问题,可以通过热迁移物理机上的部分虚拟机来降低物理机的负载,以达到资源利用率和虚拟机性能的平衡。
本发明实施例中,虚拟机的数据可以包括磁盘数据和内存数据,也可以包括设备状态数据(例如虚拟机CPU寄存器),热迁移就是把虚拟机的数据在保证一致的情况下迁移至目的端物理机。
在本发明实施例中,当需要将运行在源端物理机上的第一虚拟机迁移至目的端物理机时,虚拟机迁移控制装置可以将源端物理上的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件存在对应关系的第二镜像文件,这样,当第一虚拟机迁移至目的端物理机上运行时(迁移后称为第二虚拟机),第二虚拟机可以同时访问源端物理机上的第一镜像文件(也可称作旧镜像)和目的端物理机上第二镜像文件(也可称作新镜像)。
其中,镜像文件是指将特定的一系列文件按照一定的格式制作成单一的文件,镜像文件可以包括很多信息。本发明实施例中,第一镜像文件中包括第一虚拟机的磁盘数据。
需要说明的是,本发明实施例中的镜像文件仅仅是虚拟机使用本地存储空间(虚拟机所在物理机的存储空间)的一种方式,对于使用卷、分区等其他任意方式所构成的虚拟机的磁盘数据迁移也在本发明实施例的保护范围之内。
例如,将源端物理机的第一虚拟机VM(Virtual Machine,虚拟机)-A,迁移到目的端物理机第二虚拟机VM-A',可以将VM-A的第一镜像文件映射到目的端物理机上,以生成VM-A'的第二镜像文件。
可选地,如图8所示,映射单元702包括:
设置模块802,用于设置第一镜像文件为共享文件,并设置允许访问第一镜像文件的地址为目的端物理机的IP地址;
第一生成模块804,用于在目的端物理机上生成第二镜像文件,其中,第二镜像文件在目的端物理机上的路径与第一镜像文件在源端物理机上的路径一致;
建立模块806,用于建立第一镜像文件与第二镜像文件的中数据块的对应关系。
可选地,本发明实施例可以利用NFS(Network File System,网络文件系统)技术,通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,具体地,通过网络让目的端物理机上的VM-A'可以访问源端物理机上的第一镜像文件。
作为一种可能的实现方式,虚拟机管理装置可以对源端物理机进行配置,例如,可以修改/etc/exports文件,在exports文件中可以定义共享目录、访问权限和允许访问的IP地址,在本发明实施例中,该共享目录可以为第一镜像文件,访问权限可以为读写,允许访问的IP地址(即允许访问第一镜像文件的地址)可以为目的端物理机的IP地址。
进一步地,虚拟机迁移管理装置在目的端物理机上生成第二镜像文件,第二镜像文件在目的端物理机上的路径与第一镜像文件在源端物理机上的路径一致,该第二镜像文件用于存储VM-A'的磁盘数据,以保证VM-A'能够正常运行。虚拟机迁移管理装置建立第一镜像文件与第二镜像文件的中数据块的对应关系,进而,VM-A'就可以通过该对应关系调用第一镜像文件中的磁盘数据了。
需要说明的是,此时在目的端物理机上第二镜像文件可以一个空的文件,里面没有数据,但第二镜像文件在目的端物理机上的路径和第一镜像文件在源端物理机上的路径需要一致。
可选地,虚拟机迁移管理装置可以在目的端物理机上创建一个和第一虚拟机配置相同的第二虚拟机,第二虚拟机当前状态为暂停状态,第二虚拟机的虚拟CPU为暂停状态。
在本发明实施例中,虚拟机迁移管理装置可以向源端物理机发送迁移命令,以使源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机。例如可选地,虚拟机迁移管理装置可以给VM-A对应的qemu进程发出一个迁移命令,迁移命令可以指定目的端物理机为目标、指定需要迁移的数据、最大停机时间、迁移的带宽限制等。
需要说明的是,待迁移的内存数据可以直接由源端物理机的ethx网卡发出,进入到目的端物理机的ethx网卡,本发明实施例对此不做限制。并且,本发明实施例对数据传输通道的类型不做限制。
可选地,源端物理机在收到该迁移命令后,可以根据该迁移命令确定待发送的内存数据,进而将该内存数据发送至上述IP地址所指示的目的端物理机。具体地,源端物理机根据迁移命令将第一虚拟机的内存数据发送至目的端物理机,可以包括:
S1、源端物理机根据迁移命令中的目的端物理机的IP地址,将内存数据发送至目的端物理机;
S2、源端物理机将内存数据的发送过程中产生的脏数据从源端物理机发送至目的端物理机,直到全部的脏数据均已发送至目的端物理机。
其中,每个虚拟机在创建的时候都会注册内存数据的迁移函数(对于设备状态数据而言,没有对应的迁移函数,因为设备状态数据的数据量较少,只需在最后阶段一次同步即可),本发明实施例在进行内存数据迁移的过程中可以调用这些注册函数来完成源端物理机发送数据的功能。
然而,在迁移的过程中可能产生脏数据(发生变更的数据),如果不迁移脏数据,那源端物理机和目的端物理机上的数据必然是不一致的,因此在内存数据的迁移函数的实现上,可以分三个阶段,第一阶段是准备阶段,第二阶段是迁移全量数据,第三阶段是迁移发生变更的数据也就是脏数据。具体可以包括:
a、第一阶段主要是进行数据传输的准备工作,例如,把内存所有页全部设置为脏页,并发送开始迁移的标志到VM-A'的进程。
b、如图5所示,第二阶段需要全量迁移数据,这个阶段是一个迁移收敛的过程,上述设置的最大停机时间和迁移的带宽限制可以影响到收敛的过程,源端物理机边迁移边记录剩下的脏数据大小和计算迁移过程的平均传输带宽,用脏数据与平均传输带宽的比值与最大停机时间比较,如果比值大于最大停机时间,那么继续迁移,如果比值小于最大停机时间,则暂停源端物理机的运行,以避免产生新的脏数据。
c、如图6所示,暂停之后,进入第三阶段,源端物理机可以将内存脏数据和设备状态数据一次性同步到目的端物理机,同步完成时VM-A和VM-A'的内存数据和设备状态数据就一致了,这时,虚拟机迁移管理装置可以关闭VM-A,并把VM-A'的CPU恢复运行状态,VM-A'则可以开始运行了。
本发明实施例中,在内存数据迁移完成后,可以关闭VM-A,VM-A'作为VM-A的拷贝,在目的端物理机上运行,需要说明的是,此时VM-A的磁盘数据并未同步,因此,VM-A'可以通过调用存储在目的端物理机中的第一虚拟机的内存数据以及对应关系在目的端物理机上运行。
当VM-A关闭,VM-A'运行时,表示热迁移过程已结束,只剩磁盘数据的同步。由于源端物理机在发送了第一虚拟机的内存数据后,第一虚拟机即迁移至目的端物理机运行,第一虚拟机不再在源端物理机上运行,也不会占用源端物理机的CPU,因此采用本发明实施例的虚拟机热迁移的方法可以快速减轻源端物理机的负载,快速为源端物理机腾出内存空间。
可选地,所述第一发送单元704可以包括:
1)第二生成模块,用于生成所述迁移命令,其中,所述迁移命令用于指示所述目的端物理机的IP地址以及所述内存数据;
2)发送模块,用于向所述源端物理机发送所述迁移命令,以使所述源端物理机将所述内存数据发送至所述IP地址所指示的所述目的端物理机。
可选地,如图9所示,上述同步单元708包括:
读取模块902,用于读取第一镜像文件中的磁盘数据;
写入模块904,用于将第一镜像文件中的磁盘数据写入第二镜像文件。
本发明实施例提供的虚拟机热迁移的方法,采用磁盘数据后拷贝技术,即磁盘数据在第二虚拟机运行之后从第一镜像文件同步至第二镜像文件。不但使得热迁移效率增大,而且避免了磁盘脏数据的传输,即第二虚拟机在运行过程中产生的磁盘数据写入第二镜像文件,降低了系统负载。
可选地,如图10所示,上述虚拟机迁移管理装置,还包括:
生成单元1002,用于生成用于记录磁盘数据同步进度的位图,其中,位图的每一位用于表示对应的磁盘数据中的数据块是否完成同步,若位图的第i位的值为1,则表示与第i位对应的磁盘数据中的第i数据块已从第一镜像文件同步至第二镜像文件;若第i位的值为0,则表示第i数据块未从第一镜像文件同步至第二镜像文件;其中,位图的位数为N,1≤i≤N。
由于本发明实施例中第二虚拟机所需的磁盘数据是在第二虚拟机运行过程中,从第一镜像文件同步至第二镜像文件的,那么就会出现一部分磁盘数据在第一镜像文件中(即未同步状态),一部分磁盘数据在第二镜像文件中(即已同步状态)的情况。因此,第二虚拟机在运行过程中就需要知晓磁盘数据到底处于哪一个镜像文件中。故,如上述方法,虚拟机迁移管理装置生成用于记录磁盘数据同步进度的位图,该位图包括多个位,每一位对应于磁盘数据中的一个数据块,用于表示对应的数据块是否完成同步。
例如,在时刻B时,数据块C未从第一镜像文件同步至第二镜像文件,即数据块C还处于第一镜像文件中,那么位图中与数据块C对应的位的值为0,第二虚拟机在目的端物理机上运行时,若需要读取该数据块C,则通过位图中与数据块C对应的位的值获知该数据块C处于第一镜像文件中,那么第二虚拟机则从第一镜像文件中读取该数据块C;在时刻D时,数据块C已从第一镜像文件同步至第二镜像文件,即数据块C第二镜像文件中,那么位图中与数据块C对应的位的值为1,第二虚拟机在目的端物理机上运行时,若需要读取该数据块C,则通过位图中与数据块C对应的位的值获知该数据块C处于第二镜像文件中,那么第二虚拟机则从第二镜像文件中读取该数据块C。
需要说明的是,在第二虚拟机在目的端物理机上运行的过程中,第二虚拟机将第二虚拟机在运行的过程中产生的磁盘数据写入第二镜像文件。
由于在磁盘数据同步的过程中,用户或系统发送的磁盘数据写入操作在第二镜像文件上完成,第一镜像文件中至发生磁盘数据读取操作,因此,本发明实施例的虚拟机热迁移的方法避免了虚拟机的磁盘脏数据的传输,整个热迁移过程中产生的磁盘读写请求数量下降,降低系统负载。同时,本发明实施例的虚拟机迁移管理装置只需进行内存数据的预拷贝,数据类型单一,拷贝速度较快。
在完成磁盘数据同步之后,虚拟机迁移管理装置可以解除对第一镜像文件与第二镜像文件之间的映射,第二虚拟机则不再访问第一镜像文件。
在本发明实施例中,采用在虚拟机运行后拷贝磁盘数据的方式,通过在将源端物理机上的第一虚拟机的磁盘数据映射到目的端物理机上,以及将源端物理机上的第一虚拟机的内存数据发送至目的物理机后,运行在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机,进而,在第二虚拟机在目的端物理机上运行的过程中,进行磁盘数据的同步。由于在接收内存数据(内存数据往往数据量较少,传输时间短)后即开始运行目的端物理机上的第二虚拟机(此时虚拟机热迁移结束),而不需要等到同步第一虚拟机的磁盘数据之后才开始运行第二虚拟机,因此缩短了虚拟机的热迁移时间,解决了由于采用预拷贝造成的热迁移时间较长的技术问题,从而提高了虚拟机的迁移速度和效率。
实施例3
根据本发明实施例,提供了一种实现虚拟机热迁移的系统,在本实施例中,上述实现虚拟机热迁移的系统可以应用于如图1所示的源端物理机102和目的端物理机104所构成的硬件环境中。如图1所示,源端物理机102通过网络与目的端物理机104进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述源端物理机102以及目的端物理机104包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。源端物理机102及目的物理机104上的虚拟机迁移管理装置可以控制在目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机运行之后,再将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
可选地,在本实施例中,上述实现虚拟机热迁移的系统,包括具有上述任意特征的虚拟机迁移管理装置,与所述虚拟机迁移管理装置连接的源端物理机以及目的端物理机,其中,第一虚拟机运行在所述源端物理机上,第二虚拟机运行在所述目的端物理机上,所述源端物理机,用于接收来自所述虚拟机迁移管理装置的迁移命令后,根据所述迁移命令将第一虚拟机的内存数据发送至所述目的端物理机;所述目的端物理机,用于在所述第二虚拟机在所述目的端物理机上运行的过程中,将所述第二虚拟机在运行的过程中产生的磁盘数据写入第二镜像文件。
需要说明的是,本发明实施例中,“虚拟机”是指通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作;“物理机”,也称物理计算机,是指实体设备;“热迁移”是可以在不停机的情况下,将虚拟机从一台物理机(本实施例称源端物理机)迁移到另一台物理机(本实施例称目的端物理机),迁移过程不影响虚拟机的正常运行,即不会影响用户运行在虚拟机上的业务。
需要指出的是,本发明实施例对虚拟机的类型不做限制,例如可以是微软虚拟机、Java虚拟机等,都应在本发明实施例的保护范围之内。并且,本发明实施例的虚拟机迁移管理装置可以单独存在,也可以集成于源端物理机和/或目的端物理机之内,本发明实施例不做限制。
首先,本发明实施例对本发明实施例提供的实现虚拟机热迁移的系统可以应用的场景进行示例性介绍:
1、物理机宕机或者故障大多时候是有先兆的,例如内核会报硬件错误,在收到这个告警之后和物理机宕机之前的这段时间内,可以通过热迁移将该物理机上的虚拟机迁移到一台状态健康的物理机上,避免虚拟机收到物理机宕机的影响,保障用户业务的正常;
2、物理机raid卡故障时,容易造成虚拟机的I/O急剧下降,相当于虚拟机不可用,那么可以通过热迁移将虚拟机迁移走,以保证虚拟机的I/O性能;
3、物理机在毫无前兆的情况下宕机了,那重复宕机的可能性就很大。为了避免该物理机上的虚拟机受到二次宕机的影响,在物理机恢复后,可以通过热迁移将该物理机上的虚拟机迁移走,将该物理机下架检查修复;
4、当物理机的负载达到瓶颈,那么物理机上的虚拟机的性能也会受到影响,通过监控发现负载问题,可以通过热迁移物理机上的部分虚拟机来降低物理机的负载,以达到资源利用率和虚拟机性能的平衡。
本发明实施例中,虚拟机的数据可以包括磁盘数据和内存数据,也可以包括设备状态数据(例如虚拟机CPU寄存器),热迁移就是把虚拟机的数据在保证一致的情况下迁移至目的端物理机。
在本发明实施例中,当需要将运行在源端物理机上的第一虚拟机迁移至目的端物理机时,虚拟机迁移控制装置可以将源端物理上的第一虚拟机的第一镜像文件映射到目的端物理机上,以在目的端物理机上生成与第一镜像文件存在对应关系的第二镜像文件,这样,当第一虚拟机迁移至目的端物理机上运行时(迁移后称为第二虚拟机),第二虚拟机可以同时访问源端物理机上的第一镜像文件(也可称作旧镜像)和目的端物理机上第二镜像文件(也可称作新镜像)。
其中,镜像文件是指将特定的一系列文件按照一定的格式制作成单一的文件,镜像文件可以包括很多信息。本发明实施例中,第一镜像文件中包括第一虚拟机的磁盘数据。
需要说明的是,本发明实施例中的镜像文件仅仅是虚拟机使用本地存储空间(虚拟机所在物理机的存储空间)的一种方式,对于使用卷、分区等其他任意方式所构成的虚拟机的磁盘数据迁移也在本发明实施例的保护范围之内。
可选地,本发明实施例可以利用NFS技术,通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,具体地,通过网络让目的端物理机上的VM-A'可以访问源端物理机上的第一镜像文件。
作为一种可能的实现方式,虚拟机管理装置可以对源端物理机进行配置,例如,可以修改/etc/exports文件,在exports文件中可以定义共享目录、访问权限和允许访问的IP地址,在本发明实施例中,该共享目录可以为所述第一镜像文件,所述访问权限可以为读写,允许访问的IP地址(即允许访问第一镜像文件的地址)可以为目的端物理机的IP地址。
进一步地,虚拟机迁移管理装置在所述目的端物理机上生成第二镜像文件,所述第二镜像文件在所述目的端物理机上的路径与所述第一镜像文件在所述源端物理机上的路径一致,该第二镜像文件用于存储VM-A'的磁盘数据,以保证VM-A'能够正常运行。虚拟机迁移管理装置建立所述第一镜像文件与所述第二镜像文件的中数据块的对应关系,进而,VM-A'就可以通过该对应关系调用第一镜像文件中的磁盘数据了。
需要说明的是,此时在目的端物理机上第二镜像文件可以一个空的文件,里面没有数据,但第二镜像文件在目的端物理机上的路径和第一镜像文件在源端物理机上的路径需要一致。
可选地,所述源端物理机包括:第二发送单元,用于根据所述迁移命令中的所述目的端物理机的IP地址,将所述内存数据发送至所述目的端物理机;第三发送单元,用于将所述内存数据的发送过程中产生的脏数据从所述源端物理机发送至所述目的端物理机,其中,所述脏数据包括:在所述第一虚拟机运行过程中发生变更的数据。
可选地,虚拟机迁移管理装置可以在目的端物理机上创建一个和第一虚拟机配置相同的第二虚拟机,第二虚拟机当前状态为暂停状态,第二虚拟机的虚拟CPU为暂停状态。
在本发明实施例中,虚拟机迁移管理装置可以向源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机。例如可选地,虚拟机迁移管理装置可以给VM-A对应的qemu进程发出一个迁移命令,迁移命令可以指定目的端物理机为目标、指定需要迁移的数据、最大停机时间、迁移的带宽限制等。
需要说明的是,待迁移的内存数据可以直接由源端物理机的ethx网卡发出,进入到目的端物理机的ethx网卡,本发明实施例对此不做限制。并且,本发明实施例对数据传输通道的类型不做限制。
其中,每个虚拟机在创建的时候都会注册内存数据的迁移函数(对于设备状态数据而言,没有对应的迁移函数,因为设备状态数据的数据量较少,只需在最后阶段一次同步即可),本发明实施例在进行内存数据迁移的过程中可以调用这些注册函数来完成源端物理机发送数据的功能。
然而,在迁移的过程中可能产生脏数据(发生变更的数据),如果不迁移脏数据,那源端物理机和目的端物理机上的数据必然是不一致的,因此在内存数据的迁移函数的实现上,可以分三个阶段,第一阶段是准备阶段,第二阶段是迁移全量数据,第三阶段是迁移发生变更的数据也就是脏数据。具体可以包括:
a、第一阶段主要是进行数据传输的准备工作,例如,把内存所有页全部设置为脏页,并发送开始迁移的标志到VM-A'的进程。
b、如图5所示,第二阶段需要全量迁移数据,这个阶段是一个迁移收敛的过程,上述设置的最大停机时间和迁移的带宽限制可以影响到收敛的过程,源端物理机边迁移边记录剩下的脏数据大小和计算迁移过程的平均传输带宽,用脏数据与平均传输带宽的比值与最大停机时间比较,如果比值大于最大停机时间,那么继续迁移,如果比值小于最大停机时间,则暂停源端物理机的运行,以避免产生新的脏数据。
c、如图6所示,暂停之后,进入第三阶段,源端物理机可以将内存脏数据和设备状态数据一次性同步到目的端物理机,同步完成时VM-A和VM-A'的内存数据和设备状态数据就一致了,这时,虚拟机迁移管理装置可以关闭VM-A,并把VM-A'的CPU恢复运行状态,VM-A'则可以开始运行了。
在本发明实施例中,采用在虚拟机运行后拷贝磁盘数据的方式,通过在将源端物理机上的第一虚拟机的磁盘数据映射到目的端物理机上,以及将源端物理机上的第一虚拟机的内存数据发送至目的物理机后,运行在目的端物理机预先建立的与第一虚拟机配置相同的第二虚拟机,进而,在第二虚拟机在目的端物理机上运行的过程中,进行磁盘数据的同步。由于在接收内存数据(内存数据往往数据量较少,传输时间短)后即开始运行目的端物理机上的第二虚拟机(此时虚拟机热迁移结束),而不需要等到同步第一虚拟机的磁盘数据之后才开始运行第二虚拟机,因此缩短了虚拟机的热迁移时间,解决了由于采用预拷贝造成的热迁移时间较长的技术问题,从而提高了虚拟机的迁移速度和效率。
实施例4
根据本发明实施例,还提供了一种用于实施上述虚拟机热迁移的方法的物理机,上述物理机可以应用于如图1所示的硬件环境中。
如图1所示,源端物理机102通过网络与目的端物理机104进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述源端物理机102以及目的端物理机104包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。源端物理机102及目的物理机104上的虚拟机迁移管理装置可以控制在目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机运行之后,再将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
可选地,在本实施例中,上述包括:
1)存储器,被设置为存储磁盘数据和内存数据;
2)处理器,被设置为将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在所述目的端物理机上生成与所述第一镜像文件之间存在对应关系的第二镜像文件,其中,所述第一镜像文件中包括所述第一虚拟机的磁盘数据;向所述源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机;控制在所述目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机通过调用存储在所述目的端物理机中的所述第一虚拟机的内存数据以及所述对应关系在所述目的端物理机上运行;在所述第二虚拟机在所述目的端物理机上运行的过程中,将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
可选地,在本实施例中,上述存储器还可以用于存储上述实施例1中的确定过程中所存储的其他数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
实施例5
本发明的实施例还提供了一种存储介质,上述存储介质可以应用于如图1所示的硬件环境中。
如图1所示,源端物理机102通过网络与目的端物理机104进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述源端物理机102以及目的端物理机104包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。源端物理机102及目的物理机104上的虚拟机迁移管理装置可以控制在目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机运行之后,再将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1:将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在所述目的端物理机上生成与所述第一镜像文件之间存在对应关系的第二镜像文件,其中,所述第一镜像文件中包括所述第一虚拟机的磁盘数据;
S2:向所述源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机;
S3:控制在所述目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机通过调用存储在所述目的端物理机中的所述第一虚拟机的内存数据以及所述对应关系在所述目的端物理机上运行;
S4:在所述第二虚拟机在所述目的端物理机上运行的过程中,将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1:设置所述第一镜像文件为共享文件,并设置允许访问所述第一镜像文件的地址为所述目的端物理机的IP地址;
S2:在所述目的端物理机上生成所述第二镜像文件,其中,所述第二镜像文件在所述目的端物理机上的路径与所述第一镜像文件在所述源端物理机上的路径一致;
S3:建立所述第一镜像文件与所述第二镜像文件的中数据块的对应关系。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1:生成所述迁移命令,其中,所述迁移命令用于指示所述目的端物理机的IP地址以及所述内存数据;
S2:向所述源端物理机发送所述迁移命令,以使所述源端物理机将所述内存数据发送至所述IP地址所指示的所述目的端物理机。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1:读取所述第一镜像文件中的所述磁盘数据;
S2:将所述第一镜像文件中的磁盘数据写入所述第二镜像文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1:生成用于记录所述磁盘数据同步进度的位图,其中,所述位图的每一位用于表示对应的所述磁盘数据中的数据块是否完成同步,若所述位图的第i位的值为1,则表示与所述第i位对应的所述磁盘数据中的第i数据块已从所述第一镜像文件同步至所述第二镜像文件;若所述第i位的值为0,则表示所述第i数据块未从所述第一镜像文件同步至所述第二镜像文件;其中,所述位图的位数为N,1≤i≤N。
S2:根据所述播放时刻上所述播放位置出现的次数,将所述播放位置中的至少一个设置为用于插入多媒体文件的插入位置。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种虚拟机热迁移的方法,其特征在于,包括:
虚拟机迁移管理装置将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在所述目的端物理机上生成与所述第一镜像文件之间存在对应关系的第二镜像文件,其中,所述第一镜像文件中包括所述第一虚拟机的磁盘数据;
所述虚拟机迁移管理装置向所述源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机;
所述虚拟机迁移管理装置控制在所述目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机通过调用存储在所述目的端物理机中的所述第一虚拟机的内存数据以及所述对应关系在所述目的端物理机上运行;
在所述第二虚拟机在所述目的端物理机上运行的过程中,所述虚拟机迁移管理装置将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机迁移管理装置将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在所述目的端物理机上生成与所述第一镜像文件之间存在对应关系的第二镜像文件,包括:
所述虚拟机迁移管理装置设置所述第一镜像文件为共享文件,并设置允许访问所述第一镜像文件的地址为所述目的端物理机的IP地址;
所述虚拟机迁移管理装置在所述目的端物理机上生成所述第二镜像文件,其中,所述第二镜像文件在所述目的端物理机上的路径与所述第一镜像文件在所述源端物理机上的路径一致;
所述虚拟机迁移管理装置建立所述第一镜像文件与所述第二镜像文件的中数据块的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述虚拟机迁移管理装置向所述源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机,包括:
所述虚拟机迁移管理装置生成所述迁移命令,其中,所述迁移命令用于指示所述目的端物理机的IP地址以及所述内存数据;
所述虚拟机迁移管理装置向所述源端物理机发送所述迁移命令,以使所述源端物理机将所述内存数据发送至所述IP地址所指示的所述目的端物理机。
4.根据权利要求1所述的方法,其特征在于,所述虚拟机迁移管理装置将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件,包括:
所述虚拟机迁移管理装置读取所述第一镜像文件中的所述磁盘数据;
所述虚拟机迁移管理装置将所述第一镜像文件中的磁盘数据写入所述第二镜像文件。
5.根据权利要求1所述的方法,其特征在于,
在所述将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件之前,所述方法还包括:所述虚拟机迁移管理装置生成用于记录所述磁盘数据同步进度的位图,其中,所述位图的每一位用于表示对应的所述磁盘数据中的数据块是否完成同步,若所述位图的第i位的值为1,则表示与所述第i位对应的所述磁盘数据中的第i数据块已从所述第一镜像文件同步至所述第二镜像文件;若所述第i位的值为0,则表示所述第i数据块未从所述第一镜像文件同步至所述第二镜像文件;其中,所述位图的位数为N,1≤i≤N;
在所述将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件之后,所述方法还包括:在所述第二虚拟机在所述目的端物理机上运行、且需要读取所述第i数据块时,若所述第i位的值为1,则所述第二虚拟机从所述第二镜像文件中读取所述第i数据块,若所述第i位的值为0,则所述第二虚拟机从所述第一镜像文件中读取所述第i数据块。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机,包括:
所述源端物理机根据所述迁移命令中的所述目的端物理机的IP地址,将所述内存数据发送至所述目的端物理机;
所述源端物理机将所述内存数据的发送过程中产生的脏数据从所述源端物理机发送至所述目的端物理机,其中,所述脏数据包括:在所述第一虚拟机运行过程中发生变更的数据。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述第二虚拟机在所述目的端物理机上运行的过程中,还包括:
所述第二虚拟机将所述第二虚拟机在运行的过程中产生的磁盘数据写入所述第二镜像文件。
8.一种虚拟机迁移管理装置,其特征在于,包括:
映射单元,用于将在源端物理机上运行的第一虚拟机的第一镜像文件映射到目的端物理机上,以在所述目的端物理机上生成与所述第一镜像文件之间存在对应关系的第二镜像文件,其中,所述第一镜像文件中包括所述第一虚拟机的磁盘数据;
第一发送单元,用于向所述源端物理机发送迁移命令,以使所述源端物理机根据所述迁移命令将所述第一虚拟机的内存数据发送至所述目的端物理机;
控制单元,用于控制在所述目的端物理机预先建立的与所述第一虚拟机配置相同的第二虚拟机通过调用存储在所述目的端物理机中的所述第一虚拟机的内存数据以及所述对应关系在所述目的端物理机上运行;
同步单元,用于在所述第二虚拟机在所述目的端物理机上运行的过程中,将所述第一镜像文件中的所述磁盘数据同步至所述第二镜像文件。
9.根据权利要求8所述的装置,其特征在于,所述映射单元包括:
设置模块,用于设置所述第一镜像文件为共享文件,并设置允许访问所述第一镜像文件的地址为所述目的端物理机的IP地址;
第一生成模块,用于在所述目的端物理机上生成所述第二镜像文件,其中,所述第二镜像文件在所述目的端物理机上的路径与所述第一镜像文件在所述源端物理机上的路径一致;
建立模块,用于建立所述第一镜像文件与所述第二镜像文件的中数据块的对应关系。
10.根据权利要求8所述的装置,其特征在于,所述第一发送单元包括:
第二生成模块,用于生成所述迁移命令,其中,所述迁移命令用于指示所述目的端物理机的IP地址以及所述内存数据;
发送模块,用于向所述源端物理机发送所述迁移命令,以使所述源端物理机将所述内存数据发送至所述IP地址所指示的所述目的端物理机。
11.根据权利要求8所述的装置,其特征在于,所述同步单元包括:
读取模块,用于读取所述第一镜像文件中的所述磁盘数据;
写入模块,用于将所述第一镜像文件中的磁盘数据写入所述第二镜像文件。
12.根据权利要求8所述的装置,其特征在于,还包括:
生成单元,用于生成用于记录所述磁盘数据同步进度的位图,其中,所述位图的每一位用于表示对应的所述磁盘数据中的数据块是否完成同步,若所述位图的第i位的值为1,则表示与所述第i位对应的所述磁盘数据中的第i数据块已从所述第一镜像文件同步至所述第二镜像文件;若所述第i位的值为0,则表示所述第i数据块未从所述第一镜像文件同步至所述第二镜像文件;其中,所述位图的位数为N,1≤i≤N。
13.一种实现虚拟机热迁移的系统,其特征在于,包括如权利要求8至12中任一项所述的虚拟机迁移管理装置,与所述虚拟机迁移管理装置连接的源端物理机以及目的端物理机,
其中,第一虚拟机运行在所述源端物理机上,第二虚拟机运行在所述目的端物理机上,
所述源端物理机,用于接收来自所述虚拟机迁移管理装置的迁移命令后,根据所述迁移命令将第一虚拟机的内存数据发送至所述目的端物理机;
所述目的端物理机,用于在所述第二虚拟机在所述目的端物理机上运行的过程中,将所述第二虚拟机在运行的过程中产生的磁盘数据写入第二镜像文件。
14.根据权利要求13所述的系统,其特征在于,所述源端物理机包括:
第二发送单元,用于根据所述迁移命令中的所述目的端物理机的IP地址,将所述内存数据发送至所述目的端物理机;
第三发送单元,用于将所述内存数据的发送过程中产生的脏数据从所述源端物理机发送至所述目的端物理机,其中,所述脏数据包括:在所述第一虚拟机运行过程中发生变更的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510031835.8A CN104965757B (zh) | 2015-01-21 | 2015-01-21 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510031835.8A CN104965757B (zh) | 2015-01-21 | 2015-01-21 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104965757A true CN104965757A (zh) | 2015-10-07 |
CN104965757B CN104965757B (zh) | 2018-03-30 |
Family
ID=54219793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510031835.8A Active CN104965757B (zh) | 2015-01-21 | 2015-01-21 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104965757B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227374A (zh) * | 2015-10-23 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群应用的故障迁移方法和系统 |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN105677480A (zh) * | 2015-12-31 | 2016-06-15 | 杭州华为数字技术有限公司 | 一种数据处理方法及装置 |
CN105893133A (zh) * | 2016-03-31 | 2016-08-24 | 乐视控股(北京)有限公司 | 基于容器技术的应用服务无缝迁移方法和系统 |
CN106293879A (zh) * | 2016-08-05 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux物理服务器的P2V迁移方法及其系统 |
CN106708603A (zh) * | 2016-12-28 | 2017-05-24 | 平安科技(深圳)有限公司 | 虚拟机快速恢复方法及装置 |
CN106874070A (zh) * | 2017-02-24 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种虚拟机的迁移方法及装置 |
CN106990999A (zh) * | 2017-03-15 | 2017-07-28 | 深信服科技股份有限公司 | 虚拟机业务迁移方法及装置 |
CN107085534A (zh) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107111452A (zh) * | 2015-12-03 | 2017-08-29 | 华为技术有限公司 | 应用于计算机系统的数据迁移方法和装置、计算机系统 |
CN107168774A (zh) * | 2017-06-14 | 2017-09-15 | 北京云联万维技术有限公司 | 一种基于本地存储的虚拟机迁移方法及系统 |
CN107247619A (zh) * | 2017-06-12 | 2017-10-13 | 上海优刻得信息科技有限公司 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
CN107506491A (zh) * | 2017-09-26 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种分布式文件系统的osd数据分发方法及装置 |
CN108446164A (zh) * | 2018-03-01 | 2018-08-24 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
CN109032763A (zh) * | 2018-08-14 | 2018-12-18 | 新华三云计算技术有限公司 | 一种虚拟机迁移方法及虚拟机管理器 |
WO2019042005A1 (zh) * | 2017-09-04 | 2019-03-07 | 华为技术有限公司 | 一种虚拟机的热迁移方法、装置和系统 |
CN109995814A (zh) * | 2017-12-29 | 2019-07-09 | 中移(苏州)软件技术有限公司 | 云主机资源的迁移方法及装置、通信设备、存储介质 |
WO2019196705A1 (zh) * | 2018-04-08 | 2019-10-17 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
CN110737502A (zh) * | 2018-07-19 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 镜像文件的处理方法、装置和系统 |
CN111884837A (zh) * | 2020-07-13 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 虚拟加密机的迁移方法、装置及计算机存储介质 |
CN112379974A (zh) * | 2020-12-04 | 2021-02-19 | 海光信息技术股份有限公司 | 一种虚拟机热迁移系统及其热迁移方法 |
CN112698794A (zh) * | 2021-02-02 | 2021-04-23 | 南京群顶科技有限公司 | 一种实现分布式存储卷在线迁移的方法及装置 |
WO2021169129A1 (zh) * | 2020-02-27 | 2021-09-02 | 平安科技(深圳)有限公司 | 虚拟机在线迁移方法、装置、设备及计算机可读存储介质 |
CN113626142A (zh) * | 2021-07-14 | 2021-11-09 | 麒麟软件有限公司 | 一种虚拟时统卡热迁移方法 |
CN114143252A (zh) * | 2021-11-29 | 2022-03-04 | 中国电信集团系统集成有限责任公司 | 一种虚拟机迁移时组播流量不间断的实现方法 |
CN114138409A (zh) * | 2021-11-15 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 虚拟机镜像文件迁移的方法、装置及存储介质 |
CN114327745A (zh) * | 2021-11-25 | 2022-04-12 | 北京志凌海纳科技有限公司 | 一种跨主机虚拟机存储热迁移的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144389A1 (en) * | 2007-12-04 | 2009-06-04 | Hiroshi Sakuta | Virtual computer system and virtual computer migration control method |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US8380674B1 (en) * | 2008-01-09 | 2013-02-19 | Netapp, Inc. | System and method for migrating lun data between data containers |
CN103399778A (zh) * | 2013-07-01 | 2013-11-20 | 华为技术有限公司 | 一种虚拟机在线整体迁移方法和设备 |
CN103699429A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 虚拟机迁移方法及装置 |
-
2015
- 2015-01-21 CN CN201510031835.8A patent/CN104965757B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144389A1 (en) * | 2007-12-04 | 2009-06-04 | Hiroshi Sakuta | Virtual computer system and virtual computer migration control method |
US8380674B1 (en) * | 2008-01-09 | 2013-02-19 | Netapp, Inc. | System and method for migrating lun data between data containers |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
CN103399778A (zh) * | 2013-07-01 | 2013-11-20 | 华为技术有限公司 | 一种虚拟机在线整体迁移方法和设备 |
CN103699429A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 虚拟机迁移方法及装置 |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227374B (zh) * | 2015-10-23 | 2018-05-29 | 浪潮(北京)电子信息产业有限公司 | 一种集群应用的故障迁移方法和系统 |
CN105227374A (zh) * | 2015-10-23 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群应用的故障迁移方法和系统 |
CN107111452A (zh) * | 2015-12-03 | 2017-08-29 | 华为技术有限公司 | 应用于计算机系统的数据迁移方法和装置、计算机系统 |
CN107111452B (zh) * | 2015-12-03 | 2020-01-10 | 华为技术有限公司 | 应用于计算机系统的数据迁移方法和装置、计算机系统 |
US10740018B2 (en) | 2015-12-03 | 2020-08-11 | Huawei Technologies Co., Ltd. | Data migration method and apparatus applied to computer system, and computer system |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN105677480A (zh) * | 2015-12-31 | 2016-06-15 | 杭州华为数字技术有限公司 | 一种数据处理方法及装置 |
CN105677480B (zh) * | 2015-12-31 | 2019-03-26 | 杭州华为数字技术有限公司 | 一种数据处理方法及装置 |
CN105893133A (zh) * | 2016-03-31 | 2016-08-24 | 乐视控股(北京)有限公司 | 基于容器技术的应用服务无缝迁移方法和系统 |
WO2017166513A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 基于容器技术的应用服务无缝迁移方法和系统 |
CN106293879A (zh) * | 2016-08-05 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux物理服务器的P2V迁移方法及其系统 |
CN106708603A (zh) * | 2016-12-28 | 2017-05-24 | 平安科技(深圳)有限公司 | 虚拟机快速恢复方法及装置 |
CN106708603B (zh) * | 2016-12-28 | 2019-04-26 | 平安科技(深圳)有限公司 | 虚拟机快速恢复方法及装置 |
CN106874070A (zh) * | 2017-02-24 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种虚拟机的迁移方法及装置 |
CN106990999A (zh) * | 2017-03-15 | 2017-07-28 | 深信服科技股份有限公司 | 虚拟机业务迁移方法及装置 |
CN107085534A (zh) * | 2017-03-30 | 2017-08-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107085534B (zh) * | 2017-03-30 | 2020-06-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107247619A (zh) * | 2017-06-12 | 2017-10-13 | 上海优刻得信息科技有限公司 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
CN107247619B (zh) * | 2017-06-12 | 2019-07-23 | 优刻得科技股份有限公司 | 虚拟机热迁移方法、装置、系统、存储介质及设备 |
CN107168774A (zh) * | 2017-06-14 | 2017-09-15 | 北京云联万维技术有限公司 | 一种基于本地存储的虚拟机迁移方法及系统 |
US11604670B2 (en) | 2017-09-04 | 2023-03-14 | Huawei Technologies Co., Ltd. | Virtual machine live migration method, apparatus, and system |
WO2019042005A1 (zh) * | 2017-09-04 | 2019-03-07 | 华为技术有限公司 | 一种虚拟机的热迁移方法、装置和系统 |
CN107506491A (zh) * | 2017-09-26 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种分布式文件系统的osd数据分发方法及装置 |
CN107506491B (zh) * | 2017-09-26 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统的osd数据分发方法及装置 |
CN109995814B (zh) * | 2017-12-29 | 2021-08-13 | 中移(苏州)软件技术有限公司 | 云主机资源的迁移方法及装置、通信设备、存储介质 |
CN109995814A (zh) * | 2017-12-29 | 2019-07-09 | 中移(苏州)软件技术有限公司 | 云主机资源的迁移方法及装置、通信设备、存储介质 |
CN108446164B (zh) * | 2018-03-01 | 2022-02-22 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
CN108446164A (zh) * | 2018-03-01 | 2018-08-24 | 深信服科技股份有限公司 | 一种v2p的数据迁移方法、系统及相关装置 |
CN110347483A (zh) * | 2018-04-08 | 2019-10-18 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
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 |
CN110347483B (zh) * | 2018-04-08 | 2021-05-11 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
CN110737502B (zh) * | 2018-07-19 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 镜像文件的处理方法、装置和系统 |
CN110737502A (zh) * | 2018-07-19 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 镜像文件的处理方法、装置和系统 |
CN109032763A (zh) * | 2018-08-14 | 2018-12-18 | 新华三云计算技术有限公司 | 一种虚拟机迁移方法及虚拟机管理器 |
WO2021169129A1 (zh) * | 2020-02-27 | 2021-09-02 | 平安科技(深圳)有限公司 | 虚拟机在线迁移方法、装置、设备及计算机可读存储介质 |
CN111884837A (zh) * | 2020-07-13 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 虚拟加密机的迁移方法、装置及计算机存储介质 |
CN111884837B (zh) * | 2020-07-13 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 虚拟加密机的迁移方法、装置及计算机存储介质 |
CN112379974A (zh) * | 2020-12-04 | 2021-02-19 | 海光信息技术股份有限公司 | 一种虚拟机热迁移系统及其热迁移方法 |
CN112698794A (zh) * | 2021-02-02 | 2021-04-23 | 南京群顶科技有限公司 | 一种实现分布式存储卷在线迁移的方法及装置 |
CN113626142A (zh) * | 2021-07-14 | 2021-11-09 | 麒麟软件有限公司 | 一种虚拟时统卡热迁移方法 |
CN113626142B (zh) * | 2021-07-14 | 2024-04-05 | 麒麟软件有限公司 | 一种虚拟时统卡热迁移方法 |
CN114138409A (zh) * | 2021-11-15 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 虚拟机镜像文件迁移的方法、装置及存储介质 |
CN114138409B (zh) * | 2021-11-15 | 2024-03-12 | 苏州浪潮智能科技有限公司 | 虚拟机镜像文件迁移的方法、装置及存储介质 |
CN114327745A (zh) * | 2021-11-25 | 2022-04-12 | 北京志凌海纳科技有限公司 | 一种跨主机虚拟机存储热迁移的方法及系统 |
CN114143252B (zh) * | 2021-11-29 | 2022-11-01 | 中电信数智科技有限公司 | 一种虚拟机迁移时组播流量不间断的实现方法 |
CN114143252A (zh) * | 2021-11-29 | 2022-03-04 | 中国电信集团系统集成有限责任公司 | 一种虚拟机迁移时组播流量不间断的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104965757B (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965757A (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
EP2840495B1 (en) | Container-based processing method and apparatus | |
CN101128807B (zh) | 用于扩充中断控制器和合成中断来源的系统和方法 | |
EP3462671B1 (en) | Virtual network function resource management method and device | |
CN106201566A (zh) | 利博伟特软件热升级方法及设备 | |
US10331470B2 (en) | Virtual machine creation according to a redundancy policy | |
CN106339177A (zh) | 一种创建虚拟机的方法和装置 | |
CN108469986A (zh) | 一种数据迁移方法及装置 | |
US9792075B1 (en) | Systems and methods for synthesizing virtual hard drives | |
US11036535B2 (en) | Data storage method and apparatus | |
CN109656646B (zh) | 一种远程桌面控制方法、装置、设备及虚拟化芯片 | |
CN106095622A (zh) | 数据备份方法及装置 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
CN111026510A (zh) | 一种云环境下虚拟机跨存储热迁移方法 | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
JP2023531532A (ja) | クラウドプラットフォーム間の仮想マシン移行方法、装置、記憶媒体及び電子機器 | |
CN111679889B (zh) | 一种虚拟机的转换迁移方法和系统 | |
CN116320469B (zh) | 一种虚拟化视频编解码系统及方法、电子设备和存储介质 | |
CN104598293A (zh) | 一种在线快照的方法和设备 | |
US10467078B2 (en) | Crash dump extraction of guest failure | |
CN109101323A (zh) | 虚拟机运行状态下基于qcow2格式的快照实现方法 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN112463296B (zh) | 一种创建虚拟机的方法及装置 | |
CN105335203A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |