CN107678830A - 数据迁移方法、设备及其系统 - Google Patents
数据迁移方法、设备及其系统 Download PDFInfo
- Publication number
- CN107678830A CN107678830A CN201710839815.2A CN201710839815A CN107678830A CN 107678830 A CN107678830 A CN 107678830A CN 201710839815 A CN201710839815 A CN 201710839815A CN 107678830 A CN107678830 A CN 107678830A
- Authority
- CN
- China
- Prior art keywords
- extended attribute
- destination host
- data
- host
- 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.)
- Pending
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
技术领域
本公开涉及一种数据迁移方法、设备及其系统。
背景技术
虚拟机监视器(Virtual Machine Monitor,简称为VMM)也称为Hypervisior,是一种运行在物理服务器和操作系统之间的中间软件层,可协调访问服务器上的物理机(如主机)和虚拟机,当服务器启动并执行Hypervisor时,会给虚拟机分配适量的内存、中央处理器(Central Processing Unit,简称为CPU)、网络和磁盘,并为所有虚拟机加载操作系统。
支持虚拟技术的CPU的扩展特性包括其支持的指令集、运算速度、浮点运算能力等,当使用这些扩展特性的应用程序所在的虚拟机发生热迁移时,会由于目的主机和源主机的虚拟化CPU的扩展特性不匹配,导致热迁移失败。
发明内容
有鉴于此,本公开提供了一种数据迁移方法、设备及其系统。
本公开的一个方面提供了一种数据迁移方法,该方法包括:在将虚拟机由源主机迁移至目的主机的过程中,获取包含有上述源主机的扩展特性和上述目的主机的扩展特性的目的扩展特性,其中,上述目的扩展特性用于支持上述目的主机对迁移数据进行处理,上述迁移数据为从上述源主机一端迁移至上述目的主机一端的上述虚拟机的数据;将获取到的目的扩展特性发送给上述目的主机;以及将上述虚拟机在上述源主机一端的数据迁移至上述目的主机一端,以使上述目的主机能够基于上述目的扩展特性处理迁移后的数据。
可选地,获取包含有上述源主机的扩展特性和上述目的主机的扩展特性的目的扩展特性包括:获取上述目的主机的扩展特性;获取记录有上述源主机的扩展特性的记录表;将上述目的主机的扩展特性写入上述记录表中;以及读取上述记录表以获取上述目的扩展特性。
可选地,将上述目的主机的扩展特性写入上述记录表中包括:对上述目的主机的扩展特性与上述源主机的扩展特性进行比较,得到对应的比较结果;以及根据上述比较结果,将上述目的主机的扩展特性中与上述源主机的扩展特性不同的部分写入上述记录表中。
本公开的另一个方面提供了一种数据迁移方法,包括:在将虚拟机由源主机迁移至目的主机的过程中,接收包含有上述源主机的扩展特性和上述目的主机的扩展特性的目的扩展特性,其中,上述目的扩展特性用于支持上述目的主机对迁移数据进行处理,上述迁移数据为从上述源主机一端迁移至上述目的主机一端的上述虚拟机的数据;接收上述虚拟机从上述源主机一端迁移至上述目的主机一端的数据;以及基于上述目的扩展特性处理上述虚拟机迁移至上述目的主机一端的数据。
可选地,基于上述目的扩展特性处理上述虚拟机迁移至上述目的主机一端的数据包括:针对上述虚拟机迁移至上述目的主机一端的数据,查询记录有上述目的主机的扩展特性的记录表;以及若在记录有上述目的主机的扩展特性的记录表中没有查到用于处理上述虚拟机迁移至上述目的主机一端的数据的扩展特性,则从上述目的扩展特性中查找对应的扩展特性,以处理上述虚拟机迁移至上述目的主机一端的数据。
本公开的另一个方面提供了一种数据迁移设备,包括:一个或多个存储器,用于存储可执行指令;以及一个或多个处理器,执行上述可执行指令,以实现任一项上述的数据迁移方法。
本公开的另一个方面提供了一种数据迁移系统,包括:获取模块,用于在将虚拟机由源主机迁移至目的主机的过程中,获取包含有上述源主机的扩展特性和上述目的主机的扩展特性的目的扩展特性,其中,上述目的扩展特性用于支持上述目的主机对迁移数据进行处理,上述迁移数据为从上述源主机一端迁移至上述目的主机一端的上述虚拟机的数据;发送模块,用于将获取到的目的扩展特性发送给上述目的主机;以及迁移模块,用于将上述虚拟机在上述源主机一端的数据迁移至上述目的主机一端,以使上述目的主机能够基于上述目的扩展特性处理迁移后的数据。
可选地,上述获取模块包括:第一获取单元,用于获取上述目的主机的扩展特性;第二获取单元,用于获取记录有上述源主机的扩展特性的记录表;第一处理单元,用于将上述目的主机的扩展特性写入上述记录表中;以及第二处理单元,用于读取上述记录表以获取上述目的扩展特性。
本公开的另一个方面提供了一种数据迁移系统,包括:第一接收模块,用于在将虚拟机由源主机迁移至目的主机的过程中,接收包含有上述源主机的扩展特性和上述目的主机的扩展特性的目的扩展特性,其中,上述目的扩展特性用于支持上述目的主机对迁移数据进行处理,上述迁移数据为从上述源主机一端迁移至上述目的主机一端的上述虚拟机的数据;第二接收模块,用于接收上述虚拟机从上述源主机一端迁移至上述目的主机一端的数据;以及处理模块,用于基于上述目的扩展特性处理上述虚拟机迁移至上述目的主机一端的数据。
可选地,上述处理模块包括:查询单元,用于针对上述虚拟机迁移至上述目的主机一端的数据,查询记录有上述目的主机的扩展特性的记录表;以及处理单元,用于在记录有上述目的主机的扩展特性的记录表中没有查到用于处理上述虚拟机迁移至上述目的主机一端的数据的扩展特性时,从上述目的扩展特性中查找对应的扩展特性,以处理上述虚拟机迁移至上述目的主机一端的数据。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用数据迁移方法的应用场景;
图2示意性示出了根据本公开实施例的数据迁移方法的流程图;
图3A示意性示出了根据本公开实施例的获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性的流程图;
图3B示意性示出了根据本公开实施例的将目的主机的扩展特性写入记录表中的流程图;
图4A示意性示出了根据本公开另一实施例的数据迁移方法的流程图;
图4B示意性示出了根据本公开另一实施例的基于目的扩展特性处理虚拟机迁移至目的主机一端的数据的流程图;
图5示意性示出了根据本公开实施例的数据迁移设备的框图;
图6A示意性示出了根据本公开实施例的数据迁移系统的框图;
图6B示意性示出了根据本公开实施例的获取模块的框图;
图7A示意性示出了根据本公开另一实施例的数据迁移系统的框图;
图7B示意性示出了根据本公开另一实施例的处理模块的框图;以及
图8示意性示出了应用本公开实施例的适于实现数据迁移方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种数据迁移方法,该方法包括:在将虚拟机由源主机迁移至目的主机的过程中,获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性,其中,目的扩展特性用于支持目的主机对迁移数据进行处理,迁移数据为从源主机一端迁移至目的主机一端的虚拟机的数据;将获取到的目的扩展特性发送给目的主机;以及将虚拟机在源主机一端的数据迁移至目的主机一端,以使目的主机能够基于目的扩展特性处理迁移后的数据。
图1示意性示出了根据本公开实施例的可以应用数据迁移方法的应用场景。
根据本公开的实施例可以实现虚拟机的热迁移,热迁移又称为动态迁移、实时迁移,即将整个虚拟机的运行状态完整的保存下来,同时将虚拟机从一台物理机(源主机)迁移到另一台物理机(目的主机)上,并且能够在另一台物理机上正常运行。需要说明的是,物理机可以是个人计算机(Personal Computer,简称为PC)或服务器。
如图1所示,源主机101为一台服务器,其上配置有虚拟机(图中未示出),虚拟机上安装有操作系统,还可以安装有各种应用程序,基于某些考虑,如降低源主机101的能耗,需要将虚拟机从源主机101迁移到目的主机102上,其中,目的主机102与源主机101在硬件结构上可以相同或相异,迁移数据可以包括虚拟机安装的操作系统和各种应用程序及其操作数据等。
需要说明的是,本实施例的应用场景仅仅是示意性的,并不能限定或缩小本公开的范围。
图2示意性示出了根据本公开实施例的数据迁移方法的流程图。
如图2所示,该数据迁移方法可以包括操作S210~S230,其中:
操作S210,在将虚拟机由源主机迁移至目的主机的过程中,获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性。
操作S220,将获取到的目的扩展特性发送给目的主机。
操作S230,将虚拟机在源主机一端的数据迁移至目的主机一端,以使目的主机能够基于目的扩展特性处理迁移后的数据。
在X86架构平台上,处理器(Central Processing Unit,简称为CPU)的一些特性往往作为扩展特性通过CPU ID指令获取,其中,CPU ID指令是Intel IA32架构下获得CPU信息的汇编指令,可以得到CPU类型,型号,制造商信息,商标信息,序列号,缓存等一系列CPU相关的基本特性。CPU扩展特性包括其支持的指令集、运算速度、浮点运算能力等,用来支持处理器对系统中的数据进行处理,不同的处理器可能具有相同的扩展特性,也可能具有不同的扩展特性。
Hypervisior是一种运行在物理服务器和操作系统之间的中间软件层,可协调访问服务器上的物理机(如主机)和虚拟机,当服务器启动并执行Hypervisor时,会给虚拟机分配适量的内存、CPU、网络和磁盘,并为虚拟机加载操作系统。同时,Hypervisor是虚拟化技术的核心,其基本功能是可以非中断地支持多工作负载迁移。假设虚拟机所在的源主机101上配置有Hypervisior 1,虚拟机将要迁移到的目的主机103上配置有Hypervisior 2,当Hypervisior 1和Hypervisior 2的版本不一致时,两者的虚拟CPU扩展特性也不一致,称为异构虚拟处理器。
在虚拟机的热迁移开始之前,Hypervisior一般会检测目的主机的X86架构是否与源主机兼容,可以包括但不限于存储设备以及处理器,当CPU的类型不一样,或者相同厂商不同产品线的CPU不一样,也或者是源主机和目的主机的Hypervisior版本不一致都表示兼容性没有通过,即源主机的处理器和目的主机的处理器是异构处理器,而当使用这些扩展特性的应用程序所在的虚拟机发生热迁移时,会因为两者的扩展特性不一致,导致虚拟机的热迁移失败。
在当前数据中心里异构处理器普遍存,而异构处理器的存在给云平台整体弹性管理带来很大的不便。基于此,本公开的实施例提供了一种可以应用于异构处理器间的虚拟机热迁移方法,具体地,在将虚拟机由源主机迁移至目的主机的过程中,首先获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性,然后在将虚拟机在源主机一端的数据迁移至目的主机一端的同时,将获取到的目的扩展特性也发送给目的主机,使得目的主机能够基于目的扩展特性处理迁移后的数据。
需要说明的是,目的扩展特性可以是包括目的主机的虚拟化CPU的扩展特性和源主机的虚拟化CPU的扩展特性的集合,其获取是通过运行在物理服务器和操作系统之间的中间软件层Hypervisior实现的,具体获取方式本公开不做限定。其中,目的扩展特性由于既包含源主机的扩展特性(用来描述源主机支持的指令集、运算速度、浮点运算能力等),也包含目的主机的扩展特性(用来描述目的主机支持的指令集、运算速度、浮点运算能力等),因此在目的主机接收到源主机发送的目的扩展特性(用来描述源主机和目的主机支持的指令集、运算速度、浮点运算能力等)之后,可以基于该目的扩展特性对迁移数据进行处理。
迁移数据为从源主机一端迁移至目的主机一端的虚拟机的数据,可以包括整个虚拟机的运行状态,如安装的操作系统、应用程序以及存储的数据等,在此不做限定。
通过本公开的实施例,由于采用在将虚拟机由源主机迁移至目的主机的过程中,获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性并将其发送至目的主机的技术方案,使得虚拟机能够的迁移能够不受目的主机与源主机的扩展特性不匹配的限制,至少部分克服了相关技术中由于主机和源主机扩展特性不匹配而导致的热迁移失败的技术问题,使得在目的主机和源主机的扩展特性不匹配的情况下,也可以实现虚拟机的热迁移,提高热迁移的成功率。
下面参考图3A~图3B,结合具体实施例对图2所示的数据迁移方法做进一步说明。
图3A示意性示出了根据本公开实施例的获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性的流程图。
在该实施例中,该数据迁移方法除了可以包括上文参考图2所对应的实施例中描述的操作S210~S230之外,还可以包括操作S311~S314。其中,操作S210描述的获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性可以替换为操作S311~S314。为了描述的简洁起见,这里省略对图2描述的操作S210~S230的描述。如图3A所示,其中:
操作S311,获取目的主机的扩展特性。
操作S312,获取记录有源主机的扩展特性的记录表。
操作S313,将目的主机的扩展特性写入记录表中。
操作S314,读取记录表以获取目的扩展特性。
需要说明的是,源主机上的虚拟机开机启动时,在有处理任务时,会记录被调用的CPU ID扩展功能及其指令调用结果,并将其写入记录有源主机的扩展特性的记录表(Recording Table)中,如可以通过Hypervisiorl加入CPU ID扩展功能记录的CPU IDLogging,在此不做限定。当热迁移发生时,由源主机向目的主机发送一查询请求,用于查询目的主机上Hypervisor 2虚拟CPU ID的扩展特性集合,再将获取到的目的主机的虚拟CPUID的扩展特性集合及其调用结果添加到记录有源主机的扩展特性的记录表RecordingTable中,得到新的扩展特性及其调用结果的记录表,表中记录有包含源主机的扩展特性和目的主机的扩展特性的目的扩展特性。
通过本公开的实施例,由于采用查询目的主机的扩展特性集合和源主机的扩展特性集合,将目的主机的扩展特性及其调用结果增加到源主机扩展特性记录表中的技术方案,实现源主机对特定扩展特性的追踪记录来保证虚拟机能够在目的主机和源主机的虚拟化CPU的扩展特性不匹配的情况下平滑迁移,可以至少部分克服相关技术提供的技术方案中,由于目的主机和源主机的虚拟化CPU的扩展特性不匹配,导致热迁移失败的技术问题。
图3B示意性示出了根据本公开实施例的将目的主机的扩展特性写入记录表中的流程图。
在该实施例中,该数据迁移方法除了可以包括上文参考图3A所对应的实施例中描述的操作S311~S314之外,还可以包括操作S321~S322。其中,操作S313描述的将目的主机的扩展特性写入记录表中可以替换为操作S321~S322。为了描述的简洁起见,这里省略对图3A描述的操作S311~S314的描述。如图3B所示,其中:
操作S321,对目的主机的扩展特性与源主机的扩展特性进行比较,得到对应的比较结果。
操作S322,根据比较结果,将目的主机的扩展特性中与源主机的扩展特性不同的部分写入记录表中。
需要说明的是,当热迁移发生时,由源主机向目的主机发送一查询请求,用于查询目的主机上Hypervisor 2虚拟CPU ID的扩展特性,在获取到包含有目的主机的扩展特性的集合之后,一般会将获取到的目的主机的扩展特性集合与记录有源主机的扩展特性的记录表中的源主机的扩展特性相对比,如果源主机的扩展特性的记录表中记录的扩展特性集合是目的主机的扩展特性集合的子集,即源主机记录表中的任意一个扩展特性都是目的主机的扩展特性集合中的扩展特性,那么调用源主机中缺失的扩展特性并将其结果增加到Recording Table中,换言之,源主机会将尚未记录的目的主机的扩展特性添加进源主机的扩展特性记录表中,使得扩展特性记录表中既包含源主机的扩展特性,又包含目的主机的扩展特性。
通过本公开的实施例,由于采用将获取的目的主机的扩展特性集合与记录表中的源主机的扩展特性进行对比,将缺失的扩展特性及其结果增加到Recording Table中的技术方案,可以至少部分克服由于重复记录目的主机的扩展特性造成的存储空间浪费,数据冗余的缺陷。
下面参考图4A~图4B,结合具体实施例对另一数据迁移方法做进一步说明。
图4A示意性示出了根据本公开另一实施例的数据迁移方法的流程图。
如图4A所示,该数据迁移方法可以包括操作S410~S430,其中:
操作S410,在将虚拟机由源主机迁移至目的主机的过程中,接收包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性。
操作S420,接收虚拟机从源主机一端迁移至目的主机一端的数据。
操作S430,基于目的扩展特性处理虚拟机迁移至目的主机一端的数据。
需要说明的是,在虚拟机迁移的准备阶段,源主机会向目的主机发送虚拟机配置和设备信息,即告知目的主机配置该虚拟机所需的资源,并分配所需资源,在虚拟机的内存数据传送到一定阶段后,需要挂起源主机进入热移的宕机阶段,此时,源主机在发送实时内存数据的同时,也会将包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性以设备状态的扩展发给目的主机的虚拟机监视器,目的主机在热迁移顺利完成后,可以启动查找功能,如CPU ID hook机制,使得在目的主机端运行虚拟机时,当有应用程序调用目的主机本地不支持的扩展特性时,目的主机可以基于接收到的目的扩展特性来实现应用程序的正常运行,使得虚拟机实现从源主机到目的主机的成功迁移。
通过本公开的实施例,由于采用将包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性以设备状态的扩展发给目的主机的技术方案,使得目的主机能够基于接收到的目的扩展特性对迁移数据进行处理,保证虚拟机在目的主机和源主机的扩展特性不匹配的情况下,也可以实现虚拟机的热迁移的技术效果。
图4B示意性示出了根据本公开另一实施例的基于目的扩展特性处理虚拟机迁移至目的主机一端的数据的流程图。
在该实施例中,该数据迁移方法除了可以包括上文参考图4A所对应的实施例中描述的操作S410~S430之外,还可以包括操作S411~S412。其中,操作S430描述的基于目的扩展特性处理虚拟机迁移至目的主机一端的数据可以替换为操作S411~S412。为了描述的简洁起见,这里省略对图4A描述的操作S410~S430的描述。如图4B所示,其中:
操作S411,针对虚拟机迁移至目的主机一端的数据,查询记录有目的主机的扩展特性的记录表。
操作S412,若在记录有目的主机的扩展特性的记录表中没有查到用于处理虚拟机迁移至目的主机一端的数据的扩展特性,则从目的扩展特性中查找对应的扩展特性,以处理虚拟机迁移至目的主机一端的数据。
具体地,在热迁移完成后,安装有各种应用程序的虚拟机从源主机迁移至目的主机,当有应用程序需要调用某一扩展特性时,目的主机会查找相应的扩展特性,若在记录有目的主机的扩展特性的记录表中没有查到,则说明该被调用的扩展特性是目的主机本地并不支持的扩展特性,则可以进入超级用户如root模式查找记录有源主机的扩展特性的记录表(Recording Table),当查找之后退出超级用户模式或重新进入non-root模式并将调用结果返回给该调用,基于查找到的该扩展特性即可以实现应用程序的运行。
通过本公开的实施例,由于采用在热迁移完成后,目的主机能够通过查找并调用目的主机本地不支持的扩展特性,来实现对迁移数据的处理,使得在目的主机和源主机的扩展特性不匹配的情况下,不但可以实现虚拟机的平滑迁移,还可以在目的主机端处理迁移数据,使得用户的体验更好。
图5示意性示出了根据本公开实施例的数据迁移设备的框图。
如图5所示,该数据迁移设备500可以包括一个或多个存储器510和一个或多个处理器520,其中:一个或多个存储器510用于存储可执行指令。一个或多个处理器520用于执行上述可执行指令,以实现任一项上述的数据迁移方法。
图6A示意性示出了根据本公开实施例的数据迁移系统的框图。
如图6A所示,该数据迁移系统600可以包括获取模块610、发送模块620和迁移模块630,其中:获取模块610用于在将虚拟机由源主机迁移至目的主机的过程中,获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性,其中,目的扩展特性用于支持目的主机对迁移数据进行处理,迁移数据为从源主机一端迁移至目的主机一端的虚拟机的数据。发送模块620用于将获取到的目的扩展特性发送给目的主机。迁移模块630用于将虚拟机在源主机一端的数据迁移至目的主机一端,以使目的主机能够基于目的扩展特性处理迁移后的数据。
通过本公开的实施例,由于采用在将虚拟机由源主机迁移至目的主机的过程中,获取包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性并将其发送至目的主机的技术方案,使得虚拟机能够的迁移能够不受目的主机与源主机的扩展特性不匹配的限制,至少部分克服了相关技术中由于主机和源主机扩展特性不匹配而导致的热迁移失败的技术问题,使得在目的主机和源主机的扩展特性不匹配的情况下,也可以实现虚拟机的热迁移,提高热迁移的成功率。
可以理解的是,获取模块610、发送模块620和迁移模块630可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,获取模块610、发送模块620和迁移模块630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,获取模块610、发送模块620和迁移模块630中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图6B示意性示出了根据本公开实施例的获取模块的框图。
如图6B所示,该获取模块610可以包括第一获取单元621、第二获取单元622、第一处理单元623和第二处理单元624。其中:第一获取单元621用于获取目的主机的扩展特性。第二获取单元622用于获取记录有源主机的扩展特性的记录表。第一处理单元623用于将目的主机的扩展特性写入记录表中。第二处理单元624用于读取记录表以获取目的扩展特性。
通过本公开的实施例,由于采用查询目的主机的扩展特性集合和源主机的扩展特性集合,将目的主机的扩展特性及其调用结果增加到源主机扩展特性记录表中的技术方案,实现源主机对特定扩展特性的追踪记录来保证虚拟机能够在目的主机和源主机的虚拟化CPU的扩展特性不匹配的情况下平滑迁移,可以至少部分克服相关技术提供的技术方案中,由于目的主机和源主机的虚拟化CPU的扩展特性不匹配,导致热迁移失败的技术问题。
图7A示意性示出了根据本公开另一实施例的数据迁移系统的框图。
如图7A所示,该数据迁移系统700可以包括第一接收模块710、第二接收模块720和处理模块730。其中,第一接收模块710用于在将虚拟机由源主机迁移至目的主机的过程中,接收包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性,其中,目的扩展特性用于支持目的主机对迁移数据进行处理,迁移数据为从源主机一端迁移至目的主机一端的虚拟机的数据。第二接收模块720用于接收虚拟机从源主机一端迁移至目的主机一端的数据。处理模块730用于基于目的扩展特性处理虚拟机迁移至目的主机一端的数据。
通过本公开的实施例,由于采用将包含有源主机的扩展特性和目的主机的扩展特性的目的扩展特性以设备状态的扩展发给目的主机的技术方案,使得目的主机能够基于接收到的目的扩展特性对迁移数据进行处理,保证虚拟机在目的主机和源主机的扩展特性不匹配的情况下,也可以实现虚拟机的热迁移的技术效果。
可以理解的是,第一接收模块710、第二接收模块720和处理模块730可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一接收模块710、第二接收模块720和处理模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,第一接收模块710、第二接收模块720和处理模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图7B示意性示出了根据本公开另一实施例的处理模块的框图。
如图7B所示,该处理模块730可以包括查询单元721和处理单元722。其中:查询单元721用于针对虚拟机迁移至目的主机一端的数据,查询记录有目的主机的扩展特性的记录表。处理单元722用于在记录有目的主机的扩展特性的记录表中没有查到用于处理虚拟机迁移至目的主机一端的数据的扩展特性时,从目的扩展特性中查找对应的扩展特性,以处理虚拟机迁移至目的主机一端的数据。
通过本公开的实施例,由于采用在热迁移完成后,目的主机能够通过查找并调用目的主机本地不支持的扩展特性,来实现对迁移数据的处理,使得在目的主机和源主机的扩展特性不匹配的情况下,不但可以实现虚拟机的平滑迁移,还可以在目的主机端处理迁移数据,使得用户的体验更好。
需要说明的是,本公开实施例的数据迁移方法与数据迁移系统是相对应的,对于该数据迁移系统的描述可以参考根据本公开实施例的数据迁移方法的描述,在此不再赘述。
图8示意性示出了应用本公开实施例的适于实现数据迁移方法的计算机系统的框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的计算机系统800包括处理器520、可读存储介质810。该计算机系统800可以用于执行参考图2、图3A、图3B、图4A和图4B描述的数据迁移的方法。
具体地,处理器520例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器520还可以包括用于缓存用途的板载存储器。处理器520可以是用于执行参考图2、图3A、图3B、图4A和图4B描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
可读存储介质810,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
可读存储介质810可以包括计算机程序811,该计算机程序811可以包括代码/计算机可执行指令,其在由处理器520执行时使得处理器520执行例如上面结合参考图2、图3A、图3B、图4A和图4B所描述的方法流程及其任何变形。
计算机程序811可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序811中的代码可以包括一个或多个程序模块,例如包括811A、模块811B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器520执行时,使得处理器520可以执行例如上面结合参考图2、图3A、图3B、图4A和图4B所描述的方法流程及其任何变形。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种数据迁移方法,包括:
在将虚拟机由源主机迁移至目的主机的过程中,获取包含有所述源主机的扩展特性和所述目的主机的扩展特性的目的扩展特性,其中,所述目的扩展特性用于支持所述目的主机对迁移数据进行处理,所述迁移数据为从所述源主机一端迁移至所述目的主机一端的所述虚拟机的数据;
将获取到的目的扩展特性发送给所述目的主机;以及
将所述虚拟机在所述源主机一端的数据迁移至所述目的主机一端,以使所述目的主机能够基于所述目的扩展特性处理迁移后的数据。
2.根据权利要求1所述的方法,其中,获取包含有所述源主机的扩展特性和所述目的主机的扩展特性的目的扩展特性包括:
获取所述目的主机的扩展特性;
获取记录有所述源主机的扩展特性的记录表;
将所述目的主机的扩展特性写入所述记录表中;以及
读取所述记录表以获取所述目的扩展特性。
3.根据权利要求2所述的方法,其中,将所述目的主机的扩展特性写入所述记录表中包括:
对所述目的主机的扩展特性与所述源主机的扩展特性进行比较,得到对应的比较结果;以及
根据所述比较结果,将所述目的主机的扩展特性中与所述源主机的扩展特性不同的部分写入所述记录表中。
4.一种数据迁移方法,包括:
在将虚拟机由源主机迁移至目的主机的过程中,接收包含有所述源主机的扩展特性和所述目的主机的扩展特性的目的扩展特性,其中,所述目的扩展特性用于支持所述目的主机对迁移数据进行处理,所述迁移数据为从所述源主机一端迁移至所述目的主机一端的所述虚拟机的数据;
接收所述虚拟机从所述源主机一端迁移至所述目的主机一端的数据;以及
基于所述目的扩展特性处理所述虚拟机迁移至所述目的主机一端的数据。
5.根据权利要求4所述的方法,其中,基于所述目的扩展特性处理所述虚拟机迁移至所述目的主机一端的数据包括:
针对所述虚拟机迁移至所述目的主机一端的数据,查询记录有所述目的主机的扩展特性的记录表;以及
若在记录有所述目的主机的扩展特性的记录表中没有查到用于处理所述虚拟机迁移至所述目的主机一端的数据的扩展特性,则从所述目的扩展特性中查找对应的扩展特性,以处理所述虚拟机迁移至所述目的主机一端的数据。
6.一种数据迁移设备,包括:
一个或多个存储器,用于存储可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现权利要求1至5中任一项所述的数据迁移方法。
7.一种数据迁移系统,包括:
获取模块,用于在将虚拟机由源主机迁移至目的主机的过程中,获取包含有所述源主机的扩展特性和所述目的主机的扩展特性的目的扩展特性,其中,所述目的扩展特性用于支持所述目的主机对迁移数据进行处理,所述迁移数据为从所述源主机一端迁移至所述目的主机一端的所述虚拟机的数据;
发送模块,用于将获取到的目的扩展特性发送给所述目的主机;以及
迁移模块,用于将所述虚拟机在所述源主机一端的数据迁移至所述目的主机一端,以使所述目的主机能够基于所述目的扩展特性处理迁移后的数据。
8.根据权利要求7所述的系统,其中,所述获取模块包括:
第一获取单元,用于获取所述目的主机的扩展特性;
第二获取单元,用于获取记录有所述源主机的扩展特性的记录表;
第一处理单元,用于将所述目的主机的扩展特性写入所述记录表中;以及
第二处理单元,用于读取所述记录表以获取所述目的扩展特性。
9.一种数据迁移系统,包括:
第一接收模块,用于在将虚拟机由源主机迁移至目的主机的过程中,接收包含有所述源主机的扩展特性和所述目的主机的扩展特性的目的扩展特性,其中,所述目的扩展特性用于支持所述目的主机对迁移数据进行处理,所述迁移数据为从所述源主机一端迁移至所述目的主机一端的所述虚拟机的数据;
第二接收模块,用于接收所述虚拟机从所述源主机一端迁移至所述目的主机一端的数据;以及
处理模块,用于基于所述目的扩展特性处理所述虚拟机迁移至所述目的主机一端的数据。
10.根据权利要求9所述的系统,其中,所述处理模块包括:
查询单元,用于针对所述虚拟机迁移至所述目的主机一端的数据,查询记录有所述目的主机的扩展特性的记录表;以及
处理单元,用于在记录有所述目的主机的扩展特性的记录表中没有查到用于处理所述虚拟机迁移至所述目的主机一端的数据的扩展特性时,从所述目的扩展特性中查找对应的扩展特性,以处理所述虚拟机迁移至所述目的主机一端的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710839815.2A CN107678830A (zh) | 2017-09-15 | 2017-09-15 | 数据迁移方法、设备及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710839815.2A CN107678830A (zh) | 2017-09-15 | 2017-09-15 | 数据迁移方法、设备及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107678830A true CN107678830A (zh) | 2018-02-09 |
Family
ID=61137570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710839815.2A Pending CN107678830A (zh) | 2017-09-15 | 2017-09-15 | 数据迁移方法、设备及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678830A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193824A (zh) * | 2010-03-18 | 2011-09-21 | 微软公司 | 虚拟机均质化以实现跨异构型计算机的迁移 |
CN103019847A (zh) * | 2012-12-24 | 2013-04-03 | 创新科存储技术(深圳)有限公司 | 对虚拟机数据进行迁移的方法及系统 |
CN103699429A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 虚拟机迁移方法及装置 |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
-
2017
- 2017-09-15 CN CN201710839815.2A patent/CN107678830A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193824A (zh) * | 2010-03-18 | 2011-09-21 | 微软公司 | 虚拟机均质化以实现跨异构型计算机的迁移 |
CN103019847A (zh) * | 2012-12-24 | 2013-04-03 | 创新科存储技术(深圳)有限公司 | 对虚拟机数据进行迁移的方法及系统 |
CN103699429A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 虚拟机迁移方法及装置 |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107733977B (zh) | 一种基于Docker的集群管理方法及装置 | |
US20220158953A1 (en) | Distributed stream-based database triggers | |
Sahni et al. | A hybrid approach to live migration of virtual machines | |
CN105740048B (zh) | 一种镜像管理方法、装置及系统 | |
US10140461B2 (en) | Reducing resource consumption associated with storage and operation of containers | |
US11048492B2 (en) | Reducing downtime while patching binaries on a cluster | |
JP2021509200A (ja) | コンテナを更新するためのシステム及び方法 | |
US10157214B1 (en) | Process for data migration between document stores | |
US20130268644A1 (en) | Consistent ring namespaces facilitating data storage and organization in network infrastructures | |
US20150149409A1 (en) | Dml replication with logical log shipping | |
US11048685B1 (en) | Function-based object queries | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
US11436042B2 (en) | Migrating the runtime state of a container between two nodes | |
CN106775946A (zh) | 一种虚拟机快速创建方法 | |
US20150379155A1 (en) | Optimized browser render process | |
CN107851060A (zh) | 卸载数据分析应用中的概率计算 | |
US20240061712A1 (en) | Method, apparatus, and system for creating training task on ai training platform, and medium | |
CN103077034B (zh) | 混合虚拟化平台java应用迁移方法与系统 | |
US20210303327A1 (en) | Gpu-remoting latency aware virtual machine migration | |
CN104572941A (zh) | 数据存储方法、装置和设备 | |
WO2018076699A1 (zh) | 一种应用程序运行方法、装置及存储介质 | |
CN105487946B (zh) | 一种故障计算机自动切换方法及装置 | |
US20160337479A1 (en) | System and method for providing a climate data analytic services application programming interface | |
US9710291B2 (en) | Processor-optimized library loading for virtual machines | |
CN107678830A (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 |