CN113127133B - 跨平台的虚拟机热迁移方法、装置、设备和介质 - Google Patents

跨平台的虚拟机热迁移方法、装置、设备和介质 Download PDF

Info

Publication number
CN113127133B
CN113127133B CN201911391631.XA CN201911391631A CN113127133B CN 113127133 B CN113127133 B CN 113127133B CN 201911391631 A CN201911391631 A CN 201911391631A CN 113127133 B CN113127133 B CN 113127133B
Authority
CN
China
Prior art keywords
virtual machine
platform
source
shadow
information
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
Application number
CN201911391631.XA
Other languages
English (en)
Other versions
CN113127133A (zh
Inventor
董刚刚
赵峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Shanxi Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Shanxi Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Shanxi Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201911391631.XA priority Critical patent/CN113127133B/zh
Publication of CN113127133A publication Critical patent/CN113127133A/zh
Application granted granted Critical
Publication of CN113127133B publication Critical patent/CN113127133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了跨平台的虚拟机热迁移方法、装置、设备和介质。该方法包括:基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机;基于影子虚拟机的配置信息在目标平台上确定目标虚拟机,其中,影子虚拟机的配置信息承载于稀疏文件;将源虚拟机的待迁移数据迁移至目标虚拟机,待迁移数据包含有影子虚拟机的配置信息。根据本发明实施例提供的跨平台的虚拟机热迁移方法、装置、设备和介质,可以提高虚拟机热迁移速率。

Description

跨平台的虚拟机热迁移方法、装置、设备和介质
技术领域
本发明涉及通信领域,尤其涉及跨平台的虚拟机热迁移方法、装置、设备和介质。
背景技术
虚拟机(Virtual Machine,VM)是虚机的计算资源单位,每台物理机上可以同时运行有多个虚拟机。在虚拟机的运行过程中,可能需要将虚拟机从一台物理机迁移至另一台物理机,或者将虚拟机从一个平台迁往另一个平台,这个时候就需要涉及到虚拟机迁移技术。
虚拟机热迁移(Live Migration)是虚拟机迁移技术中的一种,将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。但是,现有技术需要将虚拟机的镜像信息迁移至目标虚拟机,因虚拟机的镜像信息的数据较大导致整个热迁移过程迁移速率较低。
发明内容
本发明实施例提供的跨平台的虚拟机热迁移方法、装置、设备和介质,可以提高虚拟机热迁移速率。
第一方面,提供一种跨平台的虚拟机热迁移方法,包括:基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机;基于影子虚拟机的配置信息在目标平台上确定目标虚拟机,其中,影子虚拟机的配置信息承载于稀疏文件;将源虚拟机的待迁移数据迁移至目标虚拟机,待迁移数据包含有承载于稀疏文件的影子虚拟机的配置信息。
在一种可选的实施方式中,基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机之前,方法还包括:在确定源平台和目标平台之间的网络具备连通性的基础上,确定源平台和目标平台具备适配性。
在一种可选的实施方式中,确定源平台和目标平台具备适配性,包括:判断源平台的平台版本和目标平台的平台版本的高低;若源平台的平台版本不高于目标平台的平台版本,判断管理源平台的服务组件的版本和管理目标平台的服务组件的版本的高低;若管理源平台的服务组件的版本不高于管理目标平台的服务组件的版本,确定源平台和目标平台具备适配性。
在一种可选的实施方式中,源虚拟机的配置信息包括:用于表征源虚拟机硬件配置规格要求的硬件配置信息,用于表征源虚拟机的软件配置要求的软件配置镜像信息、源虚拟机的系统盘信息、源虚拟机的安全组信息、源虚拟机的网络信息和用于存储用户数据的磁盘信息;基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机,包括:基于硬件配置信息,将目标平台的资源池中符合硬件配置规格要求的硬件资源配置为影子虚拟机的硬件资源,并将硬件资源对应的物理机确定为目标物理机;基于软件配置镜像信息和系统盘信息,将目标平台的资源池中符合软件配置要求的软件资源配置为影子虚拟机的软件资源;基于安全组信息,在目标平台的基础上为影子虚拟机配置安全组信息;基于网络信息,在目标平台的未被占用的网络地址的基础上配置影子虚拟机的网络资源,以完成影子虚拟机的创建;基于磁盘信息,为影子虚拟机配置云盘。
在一种可选的实施方式中,方法还包括:在创建影子虚拟机的过程中,若目标资源的配置过程出现异常,则将已配置资源和已配置的目标资源进行删除;其中,若目标资源为影子虚拟机的软件资源,已配置资源包括影子虚拟机的硬件资源;若目标资源为影子虚拟机的安全组信息,已配置资源包括影子虚拟机的硬件资源和影子虚拟机的软件资源;若目标资源为影子虚拟机的网络资源,已配置资源包括影子虚拟机的硬件资源、影子虚拟机的软件资源和影子虚拟机的安全组信息。
在一种可选的实施方式中,方法还包括:
将影子虚拟机的硬件配置信息、影子虚拟机的软件配置镜像信息、影子虚拟机的系统盘信息、影子虚拟机的安全组信息、影子虚拟机的网络信息和云盘的信息写入稀疏文件,以生成影子虚拟机的配置信息。
在一种可选的实施方式中,基于硬件配置信息,将目标平台的资源池中符合硬件配置规格要求的硬件资源创建为影子虚拟机的硬件资源之前,方法还包括:基于源虚拟机的配置信息中的网络信息,确定目标平台具备迁移条件。
在一种可选的实施方式中,若硬件配置信息不包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址;若硬件配置信息包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址且目标平台支持源虚拟机的特征性配置。
在一种可选的实施方式中,方法还包括:将影子虚拟机的标识信息、影子虚拟机的管理台信息添加入影子虚拟机的配置信息。
在一种可选的实施方式中,方法还包括:将影子虚拟机的配置信息发送至源虚拟机,并将影子虚拟机的配置信息更为新的源虚拟机的配置信息,并基于新的源虚拟机的配置信息生成源虚拟机的待迁移数据;其中,源虚拟机的待迁移数据包括新的源虚拟机的配置信息、虚拟机的实例文件和源虚拟机在热迁移过程中产生的动态信息中的至少一种。
第二方面,提供一种跨平台的虚拟机热迁移装置,包括:创建模块,用于基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机其中,影子虚拟机的配置信息承载于稀疏文件;确定模块,用于基于影子虚拟机的配置信息在目标平台上确定目标虚拟机;迁移模块,用于将源虚拟机的待迁移数据迁移至目标虚拟机,待迁移数据包含有承载于稀疏文件的影子虚拟机的配置信息。。
第三方面,提供一种跨平台的虚拟机热迁移设备,包括:存储器,用于存储程序;处理器,用于运行存储器中存储的程序,以执行第一方面或第一方面的任一可选的实施方式提供的跨平台的虚拟机热迁移方法。
第四方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或第一方面的任一可选的实施方式提供的跨平台的虚拟机热迁移方法。
根据本发明实施例中的跨平台的虚拟机热迁移方法、装置、设备和介质,由于在构造影子虚拟机时可以将影子虚拟机的配置信息承载于稀疏文件,且稀疏文件的存储空间可以在数据写入时一点点地增大,相应地影子虚拟机的配置信息的数据量较小,减小了待迁移数据的数据量,提高了虚拟机热迁移速率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本发明实施例的跨平台的虚拟机热迁移方法的示意流程图;
图2是本发明实施例提供的一种示例性的源虚拟机的配置信息的信息结构示意图;
图3是根据本发明实施例提供的一种跨平台的虚拟机热迁移装置的结构示意图;
图4是本发明实施例中跨平台的虚拟机热迁移设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供了一种跨平台的虚拟机热迁移方法、装置、设备和介质,可应用在将虚拟机从一个云平台迁往另一个云平台的具体场景中。
为了更好的理解本发明,下面将结合附图,详细描述根据本发明实施例的跨平台的虚拟机热迁移方法、装置、设备和介质,应注意,这些实施例并不用来限制本发明公开的范围。
图1是示出根据本发明实施例的跨平台的虚拟机热迁移方法的示意流程图。如图1所示,本实施例中的跨平台的虚拟机热迁移方法100可以包括以下步骤S110至S130。
S110,基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机。
首先,针对源虚拟机的配置信息,源虚拟机的配置信息可以包括以下至少一种信息:源虚拟机的硬件配置信息、源虚拟机的软件配置信息、用于存储用户数据的磁盘信息、网络信息、安全组信息、系统盘信息、源虚拟机的标识等。示例性的,源虚拟机的配置信息可承载于扩展标记语言(Extensible Markup Language,xml)配置文件。具体地,源虚拟机的配置信息的提取步骤可以由迁移装置的元数据提取模块实现。
本发明下述实施例结合图2对源虚拟机的配置信息作具体的说明。
作一个示例,图2是本发明实施例提供的一种示例性的源虚拟机的配置信息的信息结构示意图。如图2所示,源虚拟机的标识用于唯一标识源虚拟机,例如源虚拟机的通用唯一识别码(Universally Unique Identifier,UUID),源虚拟机的名称。
源虚拟机的硬件配置信息用于表征源虚拟机硬件配置规格要求。例如,硬件配置信息包括内存大小信息、处理器个数信息、磁盘大小信息和特性配置信息。需要说明的是,本发明实施例中虚拟机的硬件均为虚拟化的,例如虚拟化的内存、虚拟化的处理器(Virtual Central Processing Unit,vCPU)等。
其中,这里的特性配置信息主要是用于为虚拟机提高性能所做一些特殊的配置,例如非一致性内存访问节点(Non Uniform Memory Access Architecture Node,NUMANode)配置信息,中央处理器引脚(Central Processing Unit Pin,CPU Pin)配置信息和大内存页(Hugepages)配置信息等。这些配置对虚拟机的性能有决定性的影响。其中,使用NUMA Node配置信息能尽量保证每个NUMA Node内的CPU只访问本Node节点内的内存,也就是能够避免CPU跨节点内存访问,保证CPU访问内存的稳定性并提高了访问内存的速度。CPUPin是指虚拟机的CPU和物理机的CPU一一绑定,以保证物理CPU不会调度的别的进程上,避免虚拟机性能的不稳定。针对Hugepages,在不做任何配置的时候,操作系统为虚拟机分配的内存页的大小为4k,而经过Hugepages特性配置后,操作系统为虚拟机分配的大内存页的大小可以是4k、2M或者1G等。在具体实施过程中,可以将上述三种配置信息进行整合后生成列表形式的特性配置信息。示例性的,表格形式的特性配置信息如下述表1所示。
表1
NUMA Node Node 0 Node 1
处理器信息 0,1,2,3 4,5,6,7
内存4k页个数 0 0
内存2M页个数 0 0
内存1G页个数 1 1
如表1所示,在这个示例中,虚拟机包括两个NUMA Node,分别是Node 0和Node 1。两个NUMA Node所使用的CPU个数均为4个。两个NUMA Node上都可以使用1G的大内存页。
考虑到NUMA拓扑结构的虚拟机的重要性和广泛使用,通过在源平台的配置信息中增加NUMA Node等特性配置信息,目标平台可以基于源平台的特性配置信息进行目标虚拟机的配置,从而能够保证迁移过程中选择的目标平台和目标虚拟机均能够支持NUMA拓扑结构的虚拟机。
软件配置镜像信息用于表征源虚拟机的软件配置要求,可以是软件配置信息的镜像。具体地,软件配置镜像信息包括镜像软件类型信息、镜像软件大小信息、镜像软件名称信息和特性配置信息等信息,对此不作具体限定。例如,若软件配置镜像信息包括对虚拟机的操作系统等的配置要求,则镜像软件类型信息包括操作系统的类型信息,镜像软件大小信息包括操作系统的大小信息、镜像软件名称包括操作系统的名称信息。
针对系统盘信息,系统盘信息可以包括驱动、主机的var文件系统、home文件系统、opt文件系统等信息中的一种或多种。
针对网络信息,磁盘信息包含源虚拟机的网络配置信息。网络信息可以包括每个网卡的标识,例如网卡对应的网络标识(Identity Document,ID)、网卡的序号等。每个网卡的网络信息还可以包括该网卡的网际互连协议(Internet Protocol,IP)地址,该网卡的无类域间路由选择(Classless Inter-Domain Routing,CIDR),网关地址等信息中的一种或多种。
针对磁盘信息,磁盘信息包含存储用户数据的磁盘的具体配置信息。例如,磁盘信息可以包含磁盘的个数,磁盘的大小,磁盘的UUID等信息中的一种或多种。需要说明的是,图2示出的磁盘信息中的磁盘用于存储用户数据,图2中硬件配置信息中的磁盘用于存储源虚拟机的操作系统的相关数据。
针对安全组信息,安全组信息可以表征源虚拟机与源平台上的其他一个或多个虚拟机之间可以进行可信访问。
其次,针对S110,可以将源虚拟机的配置信息由源平台发送至目标平台。目标平台对源虚拟机的配置信息进行解析,并利用解析得到的信息创建影子虚拟机。示例性的,可以在源平台和目标平台注入信息采集(agent)插件,以实现源平台和目标平台之间的数据传输。
在一些实施例中,S110中创建影子虚拟机的具体实施方式包括下述第一步骤至第五步骤。可选的,创建虚拟机的五个步骤可以由迁移装置的调度模块实现。
第一步骤、基于源虚拟机的配置信息中的硬件配置信息,将目标平台的资源池中符合硬件配置规格要求的硬件资源配置为影子虚拟机的硬件资源,并将硬件资源对应的物理机确定为目标物理机。
首先,针对配置影子虚拟机的硬件资源的具体实施方式,在一些实施例中,在目标平台的资源池包含一个或多个预先配置好的硬件资源模板。示例性的,硬件资源模板可以包括内存、处理器和用于存储操作系统的相关数据的磁盘的固定配置格式。相应地,在执行第一步骤时,可以先判断目标平台的资源池中是否存在符合硬件配置规格要求的已有硬件资源模板,若目标平台的资源池中存在符合源平台的硬件配置规格要求的已有硬件资源模板,则可以记录下该硬件资源模板的标识信息,例如该硬件资源模板的ID。若目标平台的资源池中不存在符合硬件配置规格要求的已有硬件资源模板,则可以利用目标平台的资源池中的虚拟硬件资源配置出符合源平台的硬件配置规格要求的硬件资源。可选的,为了便于下一次硬件资源配置,可以将配置好的符合源平台的硬件配置规格要求的硬件资源作为硬件资源模板。
需要说明的是,利用已有的硬件资源模板对影子虚拟机进行硬件资源配置,能够提高配置速度,简化配置流程。
其次,针对目标物理机,目标物理机表示为目标虚拟机的宿主机。具体地,可以根据影子虚拟机的硬件资源确定与该影子虚拟机的硬件资源对应的目标物理机。在确定目标物理机之后,可以记录目标物理机的标识信息,例如目标物理机的ip地址,目标物理机的域名等能够唯一标识目标物理机的信息。
在一个实施例中,在确定目标物理机之后,可以根据源虚拟机的配置信息确定源虚拟机热迁移至目标物理机后是否能够保持稳定的性能。示例性的,可以调用libvirt接口获取目标物理机支持的虚拟服务器型号(CPU model)和目标物理机支持的特性配置(feature)。并根据目标物理机支持的虚拟服务器型号与源虚拟机的配置信息中的软件配置镜像信息中的镜像软件类型信息进行匹配,以及根据目标物理机支持的特性配置与源虚拟机的配置信息中特性配置信息进行匹配。若匹配成功,则确定源虚拟机热迁移至目标物理机后能够保持稳定的性能。其中,目标物理机支持的特性配置可以由目标物理机支持的虚拟服务器型号确定。
通过本实施例,能够保证源虚拟机在进行热迁移之后,在目标平台能够具有稳定的性能。
第二步骤、基于源虚拟机的配置信息中的软件配置镜像信息和系统盘信息,将目标平台的资源池中符合软件配置要求的软件资源配置为影子虚拟机的软件资源。其中,影子虚拟机的软件资源包括影子虚拟机的操作系统以及系统盘的文件资源。
在一个实施例中,在第二步骤完成软件资源的配置之后,可以将影子虚拟机的软件配置镜像信息和系统盘信息写入影子虚拟机的配置信息中。其中,影子虚拟机的软件配置镜像信息是对影子虚拟机的软件配置信息的镜像。在该步骤中,可以用OpenStack平台的镜像服务接口(glance-api)创建软件配置镜像信息。其中,影子虚拟机的软件配置镜像信息和源虚拟机的软件配置镜像信息的具体内容一致。由于在热迁移的整个过程中,源虚拟机的软件的镜像信息仅在构建影子虚拟机的软件资源的过程中是有用的,在影子虚拟机创建完成后,源虚拟机的软件的镜像信息将不再有任何用处,并且源虚拟机的软件的镜像信息一般都在几个G以上,在源平台和目标平台之间进行传输时会占用大量的网络带宽,传输速率较慢。本实施例通过将影子虚拟机的软件配置镜像信息写入影子虚拟机的配置信息,在影子虚拟机的创建过程中无需调取源虚拟机的软件的镜像信息,也无需将影子虚拟机的软件的镜像信息写入影子虚拟机的配置信息,减少了影子虚拟机的配置信息的无用数据,且保证了热迁移的速率。
第三步骤、基于源虚拟机的配置信息中的安全组信息,在目标平台的基础上为影子虚拟机配置安全组信息。在一个实施例中,在第三步骤完成安全组信息的配置之后,可以将影子虚拟机的安全组信息写入影子虚拟机的配置信息中。
第四步骤、基于源虚拟机的配置信息中的网络信息,在目标平台的未被占用的网络地址的基础上配置影子虚拟机的网络资源,以完成影子虚拟机的创建。具体地,可以调用nova boot(一种计算模块)的相应的api接口实现影子虚拟机的网络资源的创建。在本步骤中,影子虚拟机的网络资源可以包括影子虚拟机的IP地址、网关、网卡、CIDR等网络资源。影子虚拟机的IP地址可以预留为目标虚拟机的IP地址。通过为影子虚拟机分配IP地址,可以实现对目标虚拟机的ip地址的提前分配,确保目标虚拟机创建完后,地址资源已经预留。可选的,在为影子虚拟机配置好网络资源之后,可以将影子虚拟机的网络资源的信息写入影子虚拟机的配置信息。
第五步骤、基于磁盘信息,为影子虚拟机配置云盘。其中,影子虚拟机的云盘指用于写入用户数据的磁盘。在该步骤中,在影子虚拟机的创建完成之后,可以再为影子虚拟机挂载云盘。可选的,在挂载好云盘之后,可以将云盘的信息作为影子虚拟机的磁盘信息写入影子虚拟机的配置信息。
在一个实施例中,在上述创建影子虚拟机的过程中,还需要生成影子虚拟机的配置信息。示例性的,影子虚拟机的配置信息的具体格式可以与图2示出的源虚拟机的配置信息的具体信息结构相同。
具体地,由于影子虚拟机的配置信息需要承载于稀疏文件中,在创建影子虚拟机的过程中,可以先创建一个未写入影子虚拟机的配置信息的稀疏文件。示例性的,可以利用dd命令创建一个稀疏文件。
然后,再将影子虚拟机的硬件配置信息、影子虚拟机的软件配置镜像信息、影子虚拟机的系统盘信息、影子虚拟机的安全组信息、影子虚拟机的网络信息和云盘的信息写入稀疏文件,以生成影子虚拟机的配置信息。示例性的,在完成影子虚拟机的硬件资源的创建工作之后,可以创建未写入影子虚拟机的配置信息的稀疏文件。然后在执行上述创建影子虚拟机的第二步骤至第五步骤的过程中,每完成一个步骤,就将该步骤中创建的信息写入稀疏文件。需要说明的是,对稀疏文件的创建步骤与上述创建影子虚拟机的五个步骤之间的次序不作具体限定,还以在第一步骤,即创建影子虚拟机的硬件资源之前先创建一个稀疏文件。
此外,可选的,还可以将影子虚拟机的相关信息加入影子虚拟机的配置信息。相应地,跨平台的虚拟机热迁移方法100还包括:将影子虚拟机的标识信息、影子虚拟机的管理台信息添加入影子虚拟机的配置信息。其中,影子虚拟机的标识信息可以是影子虚拟机的UUID。影子虚拟机的管理台信息可以包括:虚拟机控制台(Console)登录信息和/或虚拟网络控制台(Virtual Network Console,VNC)登录信息。其中,Console登录方式相当于直接登录影子虚拟机的操作系统,Vnc登录方式是通过网络远程连接的方式登录影子虚拟机的管理台信息。
在该实施例中,由于稀疏文件的原理是:当用户需要申请一块很大的存储空间时,此时文件系统为了节省存储资源,提高资源利用率,不会分配实际存储空间,只有真正写入数据时,操作系统才一点一点地分配空间,以64KB为单位增量增长。因此,选用承载于稀疏文件的影子虚拟机的配置信息的数据量较小,减小了待迁移数据的数据量,不仅能够提高热迁移的效率,也减少了待迁移数据在目标平台上需要占用的存储空间。另外,采用稀疏文件的方式构建影子虚拟机的镜像配置信息的方式,避免了从源节点获取镜像,减少了源平台和目标平台的无用数据的占用生产环境的网络带宽。
在一个实施例中,在上述创建影子虚拟机的五个步骤中,都存在配置失败的可能性。若创建影子虚拟机中途失败,对目标平台而言已创建的资源会成为无用的资源。为了不对目标平台造成影响,在配置失败时,可以针对已创建的资源执行回退删除机制。相应地,跨平台的虚拟机热迁移方法100还包括:在创建影子虚拟机的过程中,若目标资源的配置过程出现异常,则将已配置资源和已配置的目标资源进行删除。其中,创建异常包括目标平台的可用虚拟资源不能满足源虚拟机的配置要求等导致资源无法正常创建的异常情况。
其中,已配置资源和已配置的目标资源包括下述三种情况。
第一种情况、若目标资源为影子虚拟机的软件资源,已配置资源包括影子虚拟机的硬件资源。
第二种情况、若目标资源为影子虚拟机的安全组信息,已配置资源包括影子虚拟机的硬件资源和影子虚拟机的软件资源;
第三种情况、若目标资源为影子虚拟机的网络资源,已配置资源包括影子虚拟机的硬件资源、影子虚拟机的软件资源和影子虚拟机的安全组信息。
可选的,可以按照与各资源的创建次序相反的次序对已创建资源进行删除。示例性的,若在配置网络资源时配置失败,资源的删除次序依次为:已配置的网络资源→影子虚拟机的安全组信息→影子虚拟机的软件资源→影子虚拟机的硬件资源。在一个具体的示例中,为了确保在虚拟机跨平台迁移过程中不会对目标平台创建无用的资源,在创建影子虚拟机的整个流程中每创建一个资源(硬件资源,软件资源,安全组,网络资源)等都会在数据库中记录做相应的记录。这些资源的记录会根据创建的先后顺序进行编号,如果创建虚拟机创建失败,就会根据虚拟机的id结合编号对资源进行清理。清理的顺序是按照编号的相反方向来进行的。
在一些实施例中,为了提高迁移成功率,在创建影子虚拟机之前可以先检查目标平台是否具备迁移条件。相应地,在创建影子虚拟机之前,跨平台的虚拟机热迁移方法100还包括:基于源虚拟机的配置信息中的网络信息,确定目标平台具备迁移条件。可选的,检查目标平台是否具备迁移条件的步骤可以由迁移装置的调度模块实现。
首先,迁移条件分为下述两种情况。在一种情况中,若硬件配置信息不包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址。在另一种情况中,若硬件配置信息包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址且目标平台支持源虚拟机的特征性配置。
其次,确定目标平台具备迁移条件可以具体包括下述三个步骤。
第一步骤、判断目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址。若目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址,执行下述第二步骤。若不支持,结束热迁移过程。
可选的,在这一步中,可以根据虚拟机的配置信息中的网络信息进行网络一致性的判断。具体地,若源虚拟机具有多个网卡,网络信息中可以记录着每个网卡的IP地址、CIDR、网关地址等信息。具体地,针对每一网卡,可以判断目标平台中与源虚拟机相对应的ip地址是否已经占用,以及该IP地址的CIDR与该网卡的CIDR是否一致,该IP地址的网关地址与该网卡的网关地址是否一致。
第二步骤、判断源虚拟机的配置信息是否存在特性配置信息。若存在执行第三步骤,若不存在,执行创建影子虚拟机的相关流程。示例性的,若源虚拟机的配置信息的数据结构如图2所示,可以根据源虚拟机的配置信息中的硬件配置信息中的特性配置信息和/或软件配置信息中的特性配置信息进行判断。
第三步骤、判断目标平台是否支持源虚拟机的特征性配置。若支持源虚拟机的特征性配置,执行创建影子虚拟机的相关流程。若不支持,结束热迁移过程。可选的,可以根据目标平台的调度器中是否支持并启用非统一内存访问过滤器(NUMA Topology Filter)和整合多规格实例过滤器(Aggregate Instance Extra Specs Filter)这两个调度过滤器来进行目标平台是否支持源虚拟机的特征性配置的判断。如果目标平台存在这两个调度过滤器,且这两个调度过滤器处于开启状态,则表征目标平台支持源虚拟机的特征性配置。
S120,基于影子虚拟机的配置信息在目标平台上确定目标虚拟机,并将影子虚拟机的配置信息发送至源虚拟机。其中,影子虚拟机的配置信息承载于稀疏文件。可选的,向源虚拟机发送影子虚拟机的配置信息之后,可以销毁影子虚拟机,从而减小目标平台上的无用数据的数据量。在一个实施例中,若为了保证迁移的安全性,在执行S110之前对源虚拟机进行锁定,并在影子虚拟机生成之后对影子虚拟机进行锁定,则在确定目标虚拟机之后,可以先对影子虚拟机进行解锁,并在解锁之后进行销毁。具体地,目标平台可以调用OpenStack接口对解除虚拟机锁定,并注销掉影子虚拟机。
需要说明的是,确定目标虚拟机的步骤和向源虚拟机发送影子虚拟机的配置信息的步骤之间的执行次序不作限定,两个步骤可以同时执行或者异步执行。
S130,将源虚拟机的待迁移数据迁移至目标虚拟机。其中,待迁移数据包含有影子虚拟机的配置信息。在一个实施例中,在S130的迁移过程中,可以使用libvirt所支持的热迁移收敛特性,并通过设置可选参数的方式允许最终用户对云主机宕机时间的进行设定,来保证云主机秒级停服时间并且可控。基于此,严格保证云主机的业务的连续性。在另一个实施例中,在S130的迁移过程中,源平台可以启动迁移进度监控线程。每隔2秒,源平台调用libvirt api查询热迁移的进度。此监控会循环的等待,直到热迁移结束。需要说明的是,迁移过程可以由迁移装置的虚机迁移模块实现。
根据本发明实施例的跨平台的虚拟机热迁移方法,由于在构造影子虚拟机时可以将影子虚拟机的配置信息承载于稀疏文件,且稀疏文件的存储空间可以在数据写入时一点点地增大,相应地影子虚拟机的配置信息的数据量较小,减小了待迁移数据的数据量,提高了虚拟机热迁移速率。
此外,本发明实施例提出的先在目标平台上构建影子虚拟机的热迁移方式,能够解决云平台网络磁盘等外围设备的匹配性问题和云平台层的配置信息的管理问题。构建影子虚拟机的机制会在目标云平台上构造相同的镜像来模拟目标虚拟机的创建过程。在此过程中,目标虚拟机的外围设备就能够准备完成。同时,由于目标虚拟机的配置信息与影子虚拟机的配置信息相同,在创建影子虚拟机以及生成影子虚拟机的配置信息的过程中就能够准备完成并生成相应的xml配置文件。在迁移前,利用影子虚拟机的配置信息更新源虚拟机配置信息的方式,使得迁移过来的虚拟机能够正常启动完成热迁移。
在一些实施例中,在S130之前还包括利用影子虚拟机的配置信息生成待迁移数据的步骤。相应地,跨平台的虚拟机热迁移方法100还包括:将影子虚拟机的配置信息发送至源虚拟机,并将影子虚拟机的配置信息更为新的源虚拟机的配置信息,并基于新的源虚拟机的配置信息生成源虚拟机的待迁移数据。
其中,源虚拟机的待迁移数据包括新的源虚拟机的配置信息、虚拟机的实例文件和源虚拟机在热迁移过程中产生的动态信息中的至少一种。
在一些实施例中,S110之前,跨平台的虚拟机热迁移方法100还包括:在确定源平台和目标平台之间的网络具备连通性的基础上,确定源平台和目标平台具备适配性。具体地,确定源平台和目标平台具备适配性的步骤可以由迁移装置的基础环境检查模块执行和实现。
在一个实施例中,可以根据平台版本和管理平台的服务组件的版本判断两个平台是否具备适配性。若源平台与目标平台之间不具备适配性,则停止本次热迁移工作。具体地,首先,可以先判断源平台的平台版本和目标平台的平台版本的高低。若源平台的平台版本不高于目标平台的平台版本,再判断管理源平台的服务组件的版本和管理目标平台的服务组件的版本的高低。最后,若管理源平台的服务组件的版本不高于管理目标平台的服务组件的版本,确定源平台和目标平台具备适配性。
示例性的,源平台和目标平台可以均为OpenStack平台(即一种开源的云计算管理平台),管理源平台的服务组件和管理目标平台的服务组件可以为libvirt(一种用于管理虚拟化平台的开源的应用程序模块)。相应地,可以通过调用OpenStack平台的接口来获取源平台的版本信息和目标平台的版本信息。以及,可以通过调用libvirt的接口来获取管理源平台的服务组件的版本信息和管理目标平台的服务组件的版本信息。
如果源平台和目标平台之间版本不匹配,有可能导致实际的迁移过程不符合预期的迁移过程,导致迁移失败。而且,目前基于管理平台的服务组件的虚拟机,例如基于libvirt的虚拟机,需要在管理平台的服务组件的版本相匹配的基础上才能迁移。因此,通过提前获取平台版本以及管理该平台的服务组件的版本,并对两者进行检查,能够及早发现问题,提高迁移的成功率。
在一个实施例中,在确定源平台和目标平台具备适配性之前,跨平台的虚拟机热迁移方法100还包括:判断源平台和目标平台之间的网络是否具备连通性。例如,可以用ping等测试网络连通性的方法测试两个平台之间的连通性,还可以利用telent、调用相关服务等方法对连通性进行测试,本发明实施例对连通性测试的具体测试方法不作限定。在一些实施例中,在上述确定源平台和目标平台具备适配性之前,跨平台的虚拟机热迁移方法100还包括:对源虚拟机和目标虚拟机进行锁定。从而能够防止其他人在虚拟机的热迁移期间对虚拟机进行操作。
下面结合附图,详细介绍根据本发明实施例的装置。
基于相同的发明构思,本发明实施例提供了一种跨平台的虚拟机热迁移装置。图3是根据本发明实施例提供的一种跨平台的虚拟机热迁移装置的结构示意图。如图3所示,跨平台的虚拟机热迁移装置300包括:
创建模块310,用于基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机。
确定模块320,用于基于影子虚拟机的配置信息在目标平台上确定目标虚拟机。
迁移模块330,用于将源虚拟机的待迁移数据迁移至目标虚拟机。
在一些实施例中,虚拟机热迁移装置300还包括:基础环境检查模块,用于在确定源平台和目标平台之间的网络具备连通性的基础上,确定源平台和目标平台具备适配性。
在一些实施例中,基础环境检查模块具体用于:判断源平台的平台版本和目标平台的平台版本的高低;若源平台的平台版本不高于目标平台的平台版本,判断管理源平台的服务组件的版本和管理目标平台的服务组件的版本的高低;若管理源平台的服务组件的版本不高于管理目标平台的服务组件的版本,确定源平台和目标平台具备适配性。
在一些实施例中,源虚拟机的配置信息包括:用于表征源虚拟机硬件配置规格要求的硬件配置信息,用于表征源虚拟机的软件配置要求的软件配置镜像信息、源虚拟机的系统盘信息、源虚拟机的安全组信息、源虚拟机的网络信息和用于存储用户数据的磁盘信息。
相应地,创建模块310,具体用于:基于硬件配置信息,将目标平台的资源池中符合硬件配置规格要求的硬件资源配置为影子虚拟机的硬件资源,并将硬件资源对应的物理机确定为目标物理机;基于软件配置镜像信息和系统盘信息,将目标平台的资源池中符合软件配置要求的软件资源配置为影子虚拟机的软件资源;基于安全组信息,在目标平台的基础上为影子虚拟机配置安全组信息;基于网络信息,在目标平台的未被占用的网络地址的基础上配置影子虚拟机的网络资源,以完成影子虚拟机的创建;基于磁盘信息,为影子虚拟机配置云盘。在一个实施例中,创建模块310也可以称为调度模块。
在一些实施例中,创建模块310还用于:在创建影子虚拟机的过程中,若目标资源的配置过程出现异常,则将已配置资源和已配置的目标资源进行删除;其中,若目标资源为影子虚拟机的软件资源,已配置资源包括影子虚拟机的硬件资源;若目标资源为影子虚拟机的安全组信息,已配置资源包括影子虚拟机的硬件资源和影子虚拟机的软件资源;若目标资源为影子虚拟机的网络资源,已配置资源包括影子虚拟机的硬件资源、影子虚拟机的软件资源和影子虚拟机的安全组信息。
在一些实施例中,创建模块310还用于:将影子虚拟机的硬件配置信息、影子虚拟机的软件配置镜像信息、影子虚拟机的系统盘信息、影子虚拟机的安全组信息、影子虚拟机的网络信息和云盘的信息写入稀疏文件,以生成影子虚拟机的配置信息。
在一些实施例中,创建模块310还用于:基于源虚拟机的配置信息中的网络信息,确定目标平台具备迁移条件。
其中,若硬件配置信息不包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址。
若硬件配置信息包括表征源虚拟机的特性配置的特性配置信息,迁移条件包括:目标平台的未被占用的网络地址中存在与源虚拟机的网络地址一致的网络地址且目标平台支持源虚拟机的特征性配置。
在一些实施例中,创建模块310还用于:将影子虚拟机的标识信息、影子虚拟机的管理台信息添加入影子虚拟机的配置信息。
在一些实施例中,迁移模块330还用于:将影子虚拟机的配置信息发送至源虚拟机,并将影子虚拟机的配置信息更为新的源虚拟机的配置信息,并基于新的源虚拟机的配置信息生成源虚拟机的待迁移数据;其中,源虚拟机的待迁移数据包括新的源虚拟机的配置信息、虚拟机的实例文件和源虚拟机在热迁移过程中产生的动态信息中的至少一种。
根据本发明实施例的跨平台的虚拟机热迁移装置,由于在构造影子虚拟机时可以将影子虚拟机的配置信息承载于稀疏文件,且稀疏文件的存储空间可以在数据写入时一点点地增大,相应地影子虚拟机的配置信息的数据量较小,减小了待迁移数据的数据量,提高了虚拟机热迁移速率。
根据本发明实施例的跨平台的虚拟机热迁移装置的其他细节,与以上结合图1和图2所示实例描述的跨平台的虚拟机热迁移方法类似,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
图4是本发明实施例中跨平台的虚拟机热迁移设备的示例性硬件架构的结构图。
如图4所示,跨平台的虚拟机热迁移设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与跨平台的虚拟机热迁移设备400的其他组件连接。
具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到跨平台的虚拟机热迁移设备400的外部供用户使用。
也就是说,图4所示的跨平台的虚拟机热迁移设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图2描述的跨平台的虚拟机热迁移设备的方法和装置。
在一个实施例中,图4所示的跨平台的虚拟机热迁移设备400可以被实现为一种设备,该设备可以包括:存储器,用于存储程序;处理器,用于运行存储器中存储的程序,以执行本发明实施例的跨平台的虚拟机热迁移方法。
本发明实施例还提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现本发明实施例的跨平台的虚拟机热迁移方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

Claims (12)

1.一种跨平台的虚拟机热迁移方法,其特征在于,所述方法包括:
基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机;
基于所述影子虚拟机的配置信息在所述目标平台上确定目标虚拟机,其中,所述影子虚拟机的配置信息承载于稀疏文件;
将所述源虚拟机的待迁移数据迁移至所述目标虚拟机,所述待迁移数据包含有承载于所述稀疏文件的所述影子虚拟机的配置信息;
所述方法还包括:
将所述影子虚拟机的配置信息发送至源虚拟机,并将所述影子虚拟机的配置信息更为新的源虚拟机的配置信息,并基于所述新的源虚拟机的配置信息生成所述源虚拟机的待迁移数据;
其中,所述源虚拟机的待迁移数据包括所述新的源虚拟机的配置信息、所述虚拟机的实例文件和源虚拟机在热迁移过程中产生的动态信息中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述基于源平台上的源虚拟机的配置信息,在所述目标平台上创建影子虚拟机之前,所述方法还包括:
在确定所述源平台和所述目标平台之间的网络具备连通性的基础上,确定所述源平台和所述目标平台具备适配性。
3.根据权利要求2所述的方法,其特征在于,所述确定所述源平台和所述目标平台具备适配性,包括:
判断所述源平台的平台版本和目标平台的平台版本的高低;
若所述源平台的平台版本不高于所述目标平台的平台版本,判断管理所述源平台的服务组件的版本和管理所述目标平台的服务组件的版本的高低;
若管理所述源平台的服务组件的版本不高于管理所述目标平台的服务组件的版本,确定所述源平台和所述目标平台具备适配性。
4.根据权利要求1所述的方法,其特征在于,所述源虚拟机的配置信息包括:用于表征所述源虚拟机硬件配置规格要求的硬件配置信息,用于表征所述源虚拟机的软件配置要求的软件配置镜像信息、所述源虚拟机的系统盘信息、所述源虚拟机的安全组信息、所述源虚拟机的网络信息和用于存储用户数据的磁盘信息;
所述基于源平台上的源虚拟机的配置信息,在所述目标平台上创建影子虚拟机,包括:
基于所述硬件配置信息,将目标平台的资源池中符合所述硬件配置规格要求的硬件资源配置为所述影子虚拟机的硬件资源,并将所述硬件资源对应的物理机确定为目标物理机;
基于所述软件配置镜像信息和所述系统盘信息,将所述目标平台的资源池中符合所述软件配置要求的软件资源配置为所述影子虚拟机的软件资源;
基于所述安全组信息,在所述目标平台的基础上为所述影子虚拟机配置安全组信息;
基于所述网络信息,在目标平台的未被占用的网络地址的基础上配置所述影子虚拟机的网络资源,以完成所述影子虚拟机的创建;
基于所述磁盘信息,为所述影子虚拟机配置云盘。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在创建所述影子虚拟机的过程中,若目标资源的配置过程出现异常,则将已配置资源和已配置的目标资源进行删除;
其中,若所述目标资源为所述影子虚拟机的软件资源,所述已配置资源包括所述影子虚拟机的硬件资源;
若所述目标资源为所述影子虚拟机的安全组信息,所述已配置资源包括所述影子虚拟机的硬件资源和所述影子虚拟机的软件资源;
若所述目标资源为所述影子虚拟机的网络资源,所述已配置资源包括所述影子虚拟机的硬件资源、所述影子虚拟机的软件资源和所述影子虚拟机的安全组信息。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述影子虚拟机的硬件配置信息、所述影子虚拟机的软件配置镜像信息、所述影子虚拟机的系统盘信息、所述影子虚拟机的安全组信息、所述影子虚拟机的网络信息和所述云盘的信息写入所述稀疏文件,以生成所述影子虚拟机的配置信息。
7.根据权利要求4所述的方法,其特征在于,所述基于所述硬件配置信息,将目标平台的资源池中符合所述硬件配置规格要求的硬件资源创建为所述影子虚拟机的硬件资源之前,所述方法还包括:
基于所述源虚拟机的配置信息中的网络信息,确定所述目标平台具备迁移条件。
8.根据权利要求7所述的方法,其特征在于,
若所述硬件配置信息不包括表征所述源虚拟机的特性配置的特性配置信息,所述迁移条件包括:目标平台的未被占用的网络地址中存在与所述源虚拟机的网络地址一致的网络地址;
若所述硬件配置信息包括表征所述源虚拟机的特性配置的特性配置信息,所述迁移条件包括:目标平台的未被占用的网络地址中存在与所述源虚拟机的网络地址一致的网络地址且所述目标平台支持所述源虚拟机的特征性配置。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述影子虚拟机的标识信息、所述影子虚拟机的管理台信息添加入所述影子虚拟机的配置信息。
10.一种跨平台的虚拟机热迁移装置,其特征在于,所述装置包括:
创建模块,用于基于源平台上的源虚拟机的配置信息,在目标平台上创建影子虚拟机,其中,所述影子虚拟机的配置信息承载于稀疏文件;
确定模块,用于基于所述影子虚拟机的配置信息在所述目标平台上确定目标虚拟机;
迁移模块,用于将所述源虚拟机的待迁移数据迁移至所述目标虚拟机,所述待迁移数据包含有承载于所述稀疏文件的所述影子虚拟机的配置信息;
所述迁移模块,还用于将所述影子虚拟机的配置信息发送至源虚拟机,并将所述影子虚拟机的配置信息更为新的源虚拟机的配置信息,并基于所述新的源虚拟机的配置信息生成所述源虚拟机的待迁移数据;
其中,所述源虚拟机的待迁移数据包括所述新的源虚拟机的配置信息、所述虚拟机的实例文件和源虚拟机在热迁移过程中产生的动态信息中的至少一种。
11.一种跨平台的虚拟机热迁移设备,其特征在于,所述设备包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行权利要求1-9任一权利要求所述的跨平台的虚拟机热迁移方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1-9任一权利要求所述的跨平台的虚拟机热迁移方法。
CN201911391631.XA 2019-12-30 2019-12-30 跨平台的虚拟机热迁移方法、装置、设备和介质 Active CN113127133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911391631.XA CN113127133B (zh) 2019-12-30 2019-12-30 跨平台的虚拟机热迁移方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911391631.XA CN113127133B (zh) 2019-12-30 2019-12-30 跨平台的虚拟机热迁移方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN113127133A CN113127133A (zh) 2021-07-16
CN113127133B true CN113127133B (zh) 2023-09-05

Family

ID=76767575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911391631.XA Active CN113127133B (zh) 2019-12-30 2019-12-30 跨平台的虚拟机热迁移方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN113127133B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821168A (zh) * 2021-08-31 2021-12-21 济南浪潮数据技术有限公司 一种共享存储迁移系统、方法及电子设备和存储介质
CN113918284B (zh) * 2021-10-13 2022-08-02 江苏安超云软件有限公司 云主机批量迁移的方法及装置、电子设备和存储介质
CN115037627B (zh) * 2022-04-29 2024-05-07 阿里云计算有限公司 网络配置信息处理方法、sdn控制器、系统及存储介质
CN116185571B (zh) * 2023-04-20 2023-07-21 深圳市科力锐科技有限公司 数据迁移方法、设备、存储介质及装置
CN116149802B (zh) * 2023-04-20 2023-09-12 深圳市科力锐科技有限公司 数据推送方法、设备、存储介质及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700944A (zh) * 2015-12-31 2016-06-22 赛尔网络有限公司 虚拟机没有共享存储条件下的在线迁移方法和装置
CN105740074A (zh) * 2016-01-26 2016-07-06 中标软件有限公司 一种基于云计算的虚拟机负载均衡方法
CN106126318A (zh) * 2016-07-05 2016-11-16 云南大学 一种Openstack云平台中虚拟机的动态迁移方法
WO2017034596A1 (en) * 2015-08-21 2017-03-02 Hewlett Packard Enterprise Development Lp Virtual machine storage management
CN106648829A (zh) * 2016-10-28 2017-05-10 广州市泰富信通科技有限公司 云资源高效利用的虚拟机迁移方法
CN108345493A (zh) * 2018-03-13 2018-07-31 国云科技股份有限公司 一种基于多云统管系统Windows虚拟机跨云迁移的方法
CN110209465A (zh) * 2018-04-20 2019-09-06 腾讯科技(深圳)有限公司 虚拟机跨平台迁移方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9038066B2 (en) * 2010-12-22 2015-05-19 Vmware, Inc. In-place snapshots of a virtual disk configured with sparse extent
US10564996B2 (en) * 2016-08-28 2020-02-18 Vmware, Inc. Parentless virtual machine forking

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017034596A1 (en) * 2015-08-21 2017-03-02 Hewlett Packard Enterprise Development Lp Virtual machine storage management
CN105700944A (zh) * 2015-12-31 2016-06-22 赛尔网络有限公司 虚拟机没有共享存储条件下的在线迁移方法和装置
CN105740074A (zh) * 2016-01-26 2016-07-06 中标软件有限公司 一种基于云计算的虚拟机负载均衡方法
CN106126318A (zh) * 2016-07-05 2016-11-16 云南大学 一种Openstack云平台中虚拟机的动态迁移方法
CN106648829A (zh) * 2016-10-28 2017-05-10 广州市泰富信通科技有限公司 云资源高效利用的虚拟机迁移方法
CN108345493A (zh) * 2018-03-13 2018-07-31 国云科技股份有限公司 一种基于多云统管系统Windows虚拟机跨云迁移的方法
CN110209465A (zh) * 2018-04-20 2019-09-06 腾讯科技(深圳)有限公司 虚拟机跨平台迁移方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Enzo Baccarelli."Minimum-energy bandwidth management for QoS live migration of virtual machines".《Computer Networks》.2015,第93卷第1-22页. *

Also Published As

Publication number Publication date
CN113127133A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN113127133B (zh) 跨平台的虚拟机热迁移方法、装置、设备和介质
US10467241B2 (en) Dynamically provisioning instances of a single-tenant application for multi-tenant use
CN109542611B (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
US9043370B2 (en) Online database availability during upgrade
US8799453B2 (en) Managing networks and machines for an online service
US8296267B2 (en) Upgrade of highly available farm server groups
US8386501B2 (en) Dynamically splitting multi-tenant databases
KR101970839B1 (ko) 서비스의 2차 위치에서의 작업의 재생 기법
US20120102480A1 (en) High availability of machines during patching
CN107544783B (zh) 一种数据更新方法、装置及系统
CN109271233A (zh) 基于Kubernetes组建Hadoop集群的实现方法
US20110010708A1 (en) System and method for transporting configuration parameters
US20120102198A1 (en) Machine manager service fabric
WO2012054192A2 (en) Web service patterns for globally distributed service fabric
CN111787126A (zh) 容器创建方法、服务器及存储介质
US11444785B2 (en) Establishment of trusted communication with container-based services
CN109522043B (zh) 一种配置数据的管理方法、装置及存储介质
US20140109089A1 (en) System to rebuild difference virtual hard disk for updating operation system and method thereof
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN111722909A (zh) 一种虚拟机迁移方法、系统、设备及存储介质
CN115037757B (zh) 一种多集群服务管理系统
CN109376135B (zh) 一种集群文件系统管理方法和系统
CN113254415B (zh) 一种分布式文件系统读请求处理方法及装置
CN112994907A (zh) 虚拟机的网络配置方法、装置、存储介质及设备
CN115113882A (zh) 虚拟化引擎的部署方法、装置、计算机设备及存储介质

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
GR01 Patent grant
GR01 Patent grant