CN109426547B - 一种虚拟机的热迁移方法、装置和系统 - Google Patents

一种虚拟机的热迁移方法、装置和系统 Download PDF

Info

Publication number
CN109426547B
CN109426547B CN201710785939.7A CN201710785939A CN109426547B CN 109426547 B CN109426547 B CN 109426547B CN 201710785939 A CN201710785939 A CN 201710785939A CN 109426547 B CN109426547 B CN 109426547B
Authority
CN
China
Prior art keywords
target
configuration information
service configuration
acceleration component
server
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
CN201710785939.7A
Other languages
English (en)
Other versions
CN109426547A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710785939.7A priority Critical patent/CN109426547B/zh
Priority to EP18852177.7A priority patent/EP3671444A4/en
Priority to PCT/CN2018/093917 priority patent/WO2019042005A1/zh
Publication of CN109426547A publication Critical patent/CN109426547A/zh
Priority to US16/807,334 priority patent/US11604670B2/en
Application granted granted Critical
Publication of CN109426547B publication Critical patent/CN109426547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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

Abstract

本发明实施例公开了一种虚拟机的热迁移方法、装置和系统,属于通信技术领域。所述方法包括:在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理;读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;向目的服务器发送所述目标业务配置信息,以使所述目的服务器存储所述目标业务配置信息。采用本发明,可以防止业务处理失败。

Description

一种虚拟机的热迁移方法、装置和系统
技术领域
本申请涉及通信技术领域,特别涉及一种虚拟机的热迁移方法、装置和系统。
背景技术
网络侧服务器为了处理更多的业务报文,技术人员往往会在服务器中安装多个虚拟机,每个虚拟机可以实现某功能(比如,可以实现对业务报文进行加解密的功能),其中,虚拟机中可以安装有用于实现某功能的应用程序,即虚拟机可以通过安装的应用程序实现该功能。
当服务器中安装的虚拟机数量较多时,虚拟机实现的功能的性能将会下降,此时,往往会将虚拟机数量较多的服务器(可称为源服务器)中的某虚拟机迁移到虚拟机数量较小的服务器上(可称为目的服务器),即可以对虚拟机进行热迁移处理。具体的,当源服务器接收到对目标虚拟机进行热迁移的启动指令时,可以获取源服务器中存储的目标虚拟机对应的虚拟机内存数据,进而,可以将其发送至目的服务器。
目前,为了提高虚拟机实现的功能的性能,往往会在服务器中设置加速部件,由加速部件实现该功能,即通过硬件加速执行该功能。为了使得加速部件在服务器中的多个虚拟机中共享,可以通过SR-IOV(single-root I/O virtualization,单根输入输出虚拟化)技术创建多个虚拟加速部件,其中,虚拟加速部件的数目与服务器中的虚拟机的数目相同,一个虚拟机对应一个虚拟加速部件。此时,每个虚拟机可以通过对应的虚拟加速部件实现相应的功能,其中,虚拟加速部件在执行某功能时,一般会基于预先存储在虚拟加速部件中的业务配置信息。例如,加速部件为网络加速部件(比如为网卡),对应的功能可以是对业务报文进行转发,此种情况下,业务配置信息可以为路由转发表,该虚拟加速部件实现业务报文处理时,可以根据预先存储的路由转发表,实现对业务报文进行转发的功能。针对使用虚拟加速部件执行某功能的情况,虚拟机热迁移结束后,目的服务器可以使目标虚拟机停止工作,对该虚拟机对应的虚拟加速部件的业务配置信息进行下载,并进行存储。下载后,目标虚拟机可以恢复工作。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
基于上述处理方式,在下载业务配置信息时,如果接收到待目标虚拟机处理的业务报文,则由于目标虚拟机当前处于停止工作的状态,无法对该业务报文进行处理,从而,导致业务处理失败。
发明内容
为了解决相关技术中业务处理失败的问题,本发明实施例提供了一种虚拟机的热迁移方法、装置和系统。所述技术方案如下:
第一方面,提供了一种虚拟机的热迁移方法,该方法包括:在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,目标业务配置信息用于目标虚拟机对应的目标虚拟加速部件进行业务处理;读取存储位置信息对应的存储位置中的目标业务配置信息;向目的服务器发送目标业务配置信息,以使目的服务器存储目标业务配置信息。
本发明实施例所示的方案,当网络侧的各个服务器中安装的虚拟机的数量不均衡时,可以将虚拟机数量较多的服务器(即源服务器)中的某虚拟机(即目标虚拟机)迁移到虚拟机数量较少的服务器(即目的服务器)上。具体的,技术人员可以通过操作,触发源服务器接收到对目标虚拟机进行热迁移的启动指令,进而,源服务器可以启动对目标虚拟机的热迁移过程。在对目标虚拟机的热迁移过程中,即接收到对目标虚拟机进行热迁移的启动指令后,源服务器还可以对目标虚拟机对应的目标虚拟加速部件中的目标业务配置信息进行迁移。具体的,源服务器中可以预先存储有用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息,其中,各业务配置信息可以存储在对应的虚拟加速部件中,当源服务器接收到对目标虚拟机进行热迁移的启动指令后,可以在用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息中,选取目标业务配置信息的存储位置信息。源服务器获取到目标业务配置信息的存储位置信息后,可以确定存储位置信息对应的存储位置,进而,源服务器可以读取该存储位置存储的目标业务配置信息。源服务器读取到目标业务配置信息后,可以向目的服务器发送读取到的目标业务配置信息,相应的,目的服务器可以接收源服务器发送的目标业务配置信息,进而,可以将接收到目标业务配置信息进行存储。这样,热迁移一结束,目的服务器中的目标虚拟机即可正常工作,无需停止工作再去下载目标业务配置信息,从而,可以防止业务处理失败。
在一种可能的实现方式中,获取预先记录的目标业务配置信息对应的存储位置信息之前,还包括:当为目标虚拟加速部件配置目标业务配置信息时,确定目标虚拟加速部件中用于存储所述目标业务配置信息的存储位置信息;记录存储位置信息。
本发明实施例所示的方案,在目标虚拟机的工作过程中,可以为其对应的目标虚拟加速部件配置相应的目标业务配置信息。具体的,当需要为目标虚拟加速部件配置相应的目标业务配置信息时,源服务器可以在目标虚拟加速部件对应的存储位置信息中,确定用于存储目标业务配置信息的存储位置对应的存储位置信息,进而,可以将业务配置存储到确定出的存储位置。确定出存储位置信息后,源服务器还可以记录该存储位置信息,以便后续根据该存储位置信息读取相应的目标业务配置信息。
在一种可能的实现方式中,存储位置信息包括目标虚拟加速部件的部件标识和相对于目标虚拟加速部件的目标存储区域的起始地址的偏移地址;读取存储位置信息对应的存储位置中的目标业务配置信息,包括:根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;根据目标存储区域的起始地址和偏移地址,确定存储位置信息对应的存储位置;读取存储位置中的目标业务配置信息。
本发明实施例所示的方案,源服务器中可以预先安装有加速部件的驱动,加速部件中可以预先存储有虚拟加速部件的部件标识与存储区域的起始地址的对应关系。针对此种情况,源服务器获取到存储位置信息后,可以通过预先安装的加速部件的驱动访问加速部件,进而,可以在加速部件中预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系中,确定存储位置信息中包括的部件标识对应的目标存储区域的起始地址。确定出目标存储区域的起始地址后,源服务器可以将起始地址和存储位置信息中包括的偏移地址相加,得到存储位置信息对应的存储位置,进而,可以读取存储位置中的目标业务配置信息。
在一种可能的实现方式中,向目的服务器发送目标业务配置信息,以使目的服务器存储目标业务配置信息,包括:向目的服务器发送目标业务配置信息和存储位置信息,以使目的服务器将目标业务配置信息存储到存储位置信息在目的服务器中对应的存储位置中。
本发明实施例所示的方案,源服务器读取到目标虚拟机的虚拟机内存数据和目标业务配置信息后,可以向目的服务器同时发送虚拟机内存数据和目标业务配置信息。相应的,目的服务器可以同时接收源服务器发送的虚拟机内存数据和目标业务配置信息,并分别将其进行存储。
在一种可能的实现方式中,读取存储位置信息对应的存储位置中的目标业务配置信息,包括:读取目标虚拟机的虚拟机内存数据的同时,读取存储位置信息对应的存储位置中的目标业务配置信息;向目的服务器发送所述目标业务配置信息,以使目的服务器存储所述目标业务配置信息,包括:向目的服务器发送虚拟机内存数据的同时,向目的服务器发送目标业务配置信息,以使目的服务器存储所述目标业务配置信息。
第二方面,提供了一种虚拟机的热迁移方法,该方法包括:在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息,其中,目标业务配置信息用于目标虚拟机对应的目标虚拟加速部件进行业务处理;存储目标业务配置信息。
本发明实施例所示的方案,在目标虚拟机的热迁移过程中,源服务器向目的服务器发送目标业务配置信息后,目的服务器可以接收源服务器发送的目标业务配置信息,进而,可以将接收到的目标业务配置信息进行存储。
在一种可能的实现方式中,在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息,包括:在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息和存储位置信息,其中,存储位置信息可以是目标业务配置信息所在的存储位置对应的位置信息;存储目标业务配置信息,包括:将目标业务配置信息存储到存储位置信息在目的服务器中对应的存储位置中。
本发明实施例所示的方案,针对源服务器还向目的服务器发送存储位置信息的情况,目的服务器可以接收源服务器发送的存储位置信息,进而,在存储目标业务配置信息时,可以将目标业务配置信息存储到存储位置信息在目的服务器中对应的存储位置中。
第三方面,提供了一种虚拟机的热迁移装置,该装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的虚拟机的热迁移方法。
第四方面,提供了一种虚拟机的热迁移装置,该装置包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的虚拟机的热迁移方法。
第五方面,提供了一种源服务器,该源服务器包括处理器、存储器,处理器被配置为执行存储器中存储的指令;处理器通过执行指令来实现上述第一方面所提供的虚拟机的热迁移方法。
第六方面,提供了一种目的服务器,该目的服务器包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的虚拟机的热迁移方法。
第七方面,提供了一种虚拟机的热迁移系统,所述系统包括源服务器和目的服务器,其中:
所述源服务器,用于在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理;读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;向目的服务器发送所述目标业务配置信息;
所述目的服务器,用于在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息;存储所述目标业务配置信息。
第八方面,提供了计算机可读存储介质,包括指令,当所述计算机可读存储介质在源服务器上运行时,使得所述源服务器执行上述第一方面所述的方法。
第九方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在源服务器上运行时,使得所述源服务器执行上述第一方面所述的方法。
第十方面,提供了一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在目的服务器上运行时,使得所述目的服务器执行第二方面所述的方法。
第十一方面,提供了一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在目的服务器上运行时,使得所述目的服务器执行第二方面所述的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,在目标虚拟机的热迁移过程中,源服务器可以获取本地中存储的目标虚拟机对应的目标虚拟加速部件的目标业务配置信息,并将其发送至目的服务器,以便目的服务器存储该目标业务配置信息,其中,目标虚拟机在热迁移的过程中,源服务器中的目标虚拟机还处于工作状态。这样,由于在目标虚拟机的热迁移过程中,也将目标业务配置信息迁移到了目的服务器中,因此热迁移一结束,目的服务器中的目标虚拟机即可正常工作,无需停止工作再去下载目标业务配置信息,从而,可以防止业务处理失败。
附图说明
图1是本发明实施例提供的一种系统框架示意图;
图2(a)是本发明实施例提供的一种源服务器的结构示意图;
图2(b)是本发明实施例提供的一种目的服务器的结构示意图;
图3是本发明实施例提供的一种虚拟机的热迁移方法流程图;
图4是本发明实施例提供的一种虚拟机的热迁移方法流程图;
图5是本发明实施例提供的一种虚拟机的热迁移装置结构示意图;
图6是本发明实施例提供的一种虚拟机的热迁移装置结构示意图;
图7是本发明实施例提供的一种虚拟机的热迁移装置结构示意图。
具体实施方式
本发明实施例提供了一种虚拟机的热迁移方法,该方法可以由源服务器和目的服务器共同实现,其中,源服务器可以是需要迁出目标虚拟机的服务器,即可以是具有虚拟机热迁移和目标业务配置信息迁移功能的服务器,目的服务器可以是需要迁入目标虚拟机的服务器。为了防止由于目标虚拟机的热迁移而导致业务处理失败,在目标虚拟机的热迁移过程中,源服务器还可以将目标虚拟机对应的目标虚拟加速部件中的目标业务配置信息迁移到目的服务器中。具体的,源服务器中可以预先存储有用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息,其中,各业务配置信息可以存储在对应的虚拟加速部件中,当源服务器接收到对目标虚拟机进行热迁移的启动指令后,可以在用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息中,选取目标业务配置信息的存储位置信息。源服务器获取到目标业务配置信息的存储位置信息后,可以确定存储位置信息对应的存储位置,进而,可以读取存储位置信息对应的存储位置中的目标业务配置信息,并将其发送至目的服务器,目的服务器接收到目标业务配置信息后,可以将其存储,以便后续目标虚拟机可以根据目标业务配置信息执行对应的功能,系统框架示意图如图1所示。
源服务器可以包括处理器210、发射器220、接收器230,接收器230和发射器220可以分别与处理器210连接,如图2(a)所示。接收器230可以用于接收消息或数据,发射器220和接收器230可以是网卡,发射器220可以用于发送消息或数据,即可以发送目标业务配置信息和目标虚拟机的虚拟机内存数据。源服务器还可以包括加速部件(可称为加速器),当加速部件为网络加速部件时,加速部件可以为网卡。处理器210可以是源服务器的控制中心,利用各种接口和线路连接整个源服务器的各个部分,如接收器230和发射器220等。在本发明中,处理器210可以是CPU(Central Processing Unit,中央处理器),可以用于读取目标业务配置信息的相关处理,可选的,处理器210可以包括一个或多个处理单元;处理器210可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统,调制解调处理器主要处理无线通信。处理器210还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。源服务器还可以包括存储器240,存储器240可用于存储软件程序以及模块,处理器210通过读取存储在存储器的软件代码以及模块,从而执行源服务器的各种功能应用以及数据处理。
目的服务器可以包括处理器310、发射器320、接收器330,接收器330和发射器320可以分别与处理器310连接,如图2(b)所示。接收器330可以用于接收消息或数据,发射器320和接收器330和可以是网卡,接收器300可以用于接收消息或数据,即可以接收目标业务配置信息和目标虚拟机的虚拟机内存数据。目的服务器还可以包括加速部件(可称为加速器),当加速部件为网络加速部件时,加速部件可以为网卡。处理器310可以是目的服务器的控制中心,利用各种接口和线路连接整个目的服务器的各个部分,如接收器330和发射器320等。在本发明中,处理器310可以是CPU(Central Processing Unit,中央处理器),可选的,处理器310可以包括一个或多个处理单元;处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统,调制解调处理器主要处理无线通信。处理器310还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。目的服务器还可以包括存储器340,存储器340可用于存储软件程序以及模块,处理器310通过读取存储在存储器的软件代码以及模块,从而执行目的服务器的各种功能应用以及数据处理。
下面将结合具体实施方式,对图3所示的处理流程进行详细的说明,内容可以如下:
步骤301,在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,目标业务配置信息用于目标虚拟机对应的目标虚拟加速部件进行业务处理。
其中,目标虚拟加速部件可以是目标虚拟机对应的虚拟加速部件,虚拟加速部件可以是用于加速执行对应的功能的部件,也可以称为虚拟功能或者逻辑加速部件或者虚拟加速器,例如,可以是网络加速部件、可以是计算加速部件等。存储位置信息可以是目标虚拟加速部件中用于存储目标业务配置信息的存储位置的信息。
在实施中,当网络侧的各个服务器中安装的虚拟机的数量不均衡时,可以将虚拟机数量较多的服务器(即源服务器)中的某虚拟机(即目标虚拟机)迁移到虚拟机数量较少的服务器(即目的服务器)上。具体的,技术人员可以通过操作,触发源服务器接收到对目标虚拟机进行热迁移的启动指令,进而,源服务器可以启动对目标虚拟机的热迁移过程。在对目标虚拟机的热迁移过程中,即接收到对目标虚拟机进行热迁移的启动指令后,源服务器还可以对目标虚拟机对应的目标虚拟加速部件中的目标业务配置信息进行迁移。具体的,源服务器中可以预先存储有用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息,其中,各业务配置信息可以存储在对应的虚拟加速部件中,当源服务器接收到对目标虚拟机进行热迁移的启动指令后,可以在用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息中,选取目标业务配置信息的存储位置信息。
可选的,目标业务配置信息对应的存储位置信息可以是为目标虚拟加速部件配置目标业务配置信息时记录的,相应的,处理过程可以如下:当为目标虚拟加速部件配置目标业务配置信息时,确定目标虚拟加速部件中用于存储目标业务配置信息的存储位置信息;记录存储位置信息。
在实施中,在目标虚拟机的工作过程中,可以为其对应的目标虚拟加速部件配置相应的目标业务配置信息。具体的,当需要为目标虚拟加速部件配置相应的目标业务配置信息时,源服务器可以在目标虚拟加速部件对应的存储位置信息中,确定用于存储目标业务配置信息的存储位置对应的存储位置信息,进而,可以将业务配置存储到确定出的存储位置。确定出存储位置信息后,源服务器还可以记录该存储位置信息,以便后续根据该存储位置信息读取相应的目标业务配置信息。
例如,目标虚拟加速部件为虚拟网络加速部件,目标业务配置信息为路由转发表,则路由转发表中的每个路由转发信息的获取过程可以如下:每当目标虚拟加速部件接收到业务报文时,目标虚拟加速部件可以根据预先存储的路由转发表确定该业务报文的下一跳节点,进而,目标虚拟加速部件可以将该业务报文转发至下一跳节点。如果预先存储的路由转发表中未存储有该业务报文对应的路由转发信息,则目标虚拟加速部件可以向目标虚拟机发送该业务报文,以使目标虚拟机提取业务报文中携带的报文信息(如源地址和目的地址)。提取到源地址和目的地址后生成该业务报文的路由转发信息,并确定目标虚拟部件中用于存储该路由转发信息的存储位置对应的存储位置信息,进而,可以记录该存储位置信息,并将该路由转发信息存储到存储位置信息对应的存储位置中。
可选的,上述存储位置信息可以包括目标虚拟加速部件的部件标识和相对于目标虚拟加速部件的目标存储区域的起始地址的偏移地址。
步骤302,读取存储位置信息对应的存储位置中的目标业务配置信息。
在实施中,源服务器获取到目标虚拟加速部件中的目标业务配置信息的存储位置信息后,可以确定存储位置信息对应的存储位置,进而,源服务器可以读取该存储位置存储的目标业务配置信息。其中,源服务器可以通过DMA(Direct Memory Access,直接内存访问)读取存储位置信息对应的存储位置中的目标业务配置信息。
可选的,针对存储位置信息包括部件标识和偏移地址的情况,步骤302的处理过程可以如下:根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;根据目标存储区域的起始地址和偏移地址,确定存储位置信息对应的存储位置;读取存储位置中的目标业务配置信息。
在实施中,源服务器中可以预先安装有加速部件的驱动,加速部件中可以预先存储有虚拟加速部件的部件标识与存储区域的起始地址的对应关系。针对此种情况,源服务器获取到存储位置信息后,可以通过预先安装的加速部件的驱动访问加速部件,进而,可以在加速部件中预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系中,确定存储位置信息中包括的部件标识对应的目标存储区域的起始地址。确定出目标存储区域的起始地址后,源服务器可以将起始地址和存储位置信息中包括的偏移地址相加,得到存储位置信息对应的存储位置,进而,可以读取存储位置中的目标业务配置信息。
可选的,源服务器可以同时读取目标业务配置信息和虚拟机内存数据,相应的,步骤302的处理过程可以如下:读取目标虚拟机的虚拟机内存数据的同时,读取存储位置信息对应的存储位置中的目标业务配置信息。
其中,虚拟机内存数据可以是目标虚拟机当前的运行数据。
在实施中,在目标虚拟机的热迁移过程中,源服务器在向目的服务器发送虚拟机内存数据前,往往会先读取源服务器中存储的目标虚拟机的虚拟机内存数据。此种情况下,源服务器可以先读取目标虚拟机的虚拟机内存数据,再读取存储位置信息对应的存储位置中的目标业务配置信息,也可以先读取目标业务配置信息,再读取存储位置信息对应的存储位置中的目标虚拟机的虚拟机内存数据,即可以串行读取目标虚拟机的虚拟机内存数据和目标业务配置信息。或者,源服务器可以并行读取目标虚拟机的虚拟机内存数据和目标业务配置信息,即在读取目标虚拟机的虚拟机内存数据的同时,可以读取存储位置信息对应存储位置中的目标业务配置信息。
步骤303,向目的服务器发送目标业务配置信息,以使目的服务器存储目标业务配置信息。
在实施中,源服务器读取到目标业务配置信息后,可以向目的服务器发送读取到的目标业务配置信息,相应的,目的服务器可以接收源服务器发送的目标业务配置信息,进而,可以将接收到目标业务配置信息进行存储。
可选的,源服务器可以在向目的服务器发送虚拟机内存数据的同时,向目的服务器发送目标业务配置信息,相应的,步骤303的处理过程可以如下:向目的服务器发送虚拟机内存数据的同时,向目的服务器发送目标业务配置信息,以使目的服务器存储目标业务配置信息。
在实施中,源服务器读取到目标虚拟机的虚拟机内存数据和目标业务配置信息后,可以先向目的服务器发送虚拟机内存数据,再向目的服务器发送目标业务配置信息,即可以串行向目的服务器发送目标业务配置信息和虚拟机内存数据。或者,源服务器可以与目的服务器建立两个连接,可以分别通过两个连接并行向目的服务器发送虚拟机内存数据和目标业务配置信息,即可以向目的服务器同时发送虚拟机内存数据和目标业务配置信息。相应的,目的服务器可以同时(并行)接收源服务器发送的虚拟机内存数据和目标业务配置信息,并分别将其进行存储。
可选的,源服务器除了向目的服务器发送目标业务配置信息外,还可以发送存储位置信息,相应的,步骤303的处理过程可以如下:向目的服务器发送目标业务配置信息和存储位置信息,以使目的服务器将目标业务配置信息存储到存储位置信息在目的服务器中对应的存储位置中。
在实施中,源服务器获取到目标业务配置信息后,可以向目的服务器目标业务配置信息和存储位置信息,相应的,目的服务器可以接收源服务器发送的目标业务配置信息和存储位置信息。目的服务器接收到目标业务配置信息和存储位置信息后,可以在本地中确定存储位置信息对应的存储位置,进而,可以将目标业务配置信息存储到该存储位置中。
另外,源服务器中可以安装有虚拟机监视器,此时,源服务器可以通过虚拟机监视器进行上述步骤301-303的处理。
下面将结合目标虚拟机的热迁移的处理步骤和目标业务配置信息的处理步骤,对本方案进行详细说明,如图4所示。
步骤401,当接收到对目标虚拟机进行热迁移的启动指令时,源服务器将备用链路设置为当前链路。
在实施中,针对目标虚拟机中既安装有实现对应功能的应用程序(可称为功能应用程序),又部署有对应的目标虚拟加速部件的情况,目标虚拟机可以通过两种方式实现该功能,其中,可以通过功能应用程序实现该功能(可以将通过该方式实现该功能的链路称为备用链路),还可以通过对应的目标虚拟加速部件实现该功能(可以将通过该方式实现该功能的链路称为主用链路)。在目标虚拟机的工作过程中,可以将主用链路设置为当前链路,即接收到业务报文后,通过方式二对该业务报文进行处理。例如,加速部件为网络加速部件,主用链路可以是目标虚拟机通过目标虚拟加速部件的驱动与目标虚拟加速部件进行通信的通信链路,备用链路可以是目标虚拟机通过虚拟机监视器(Virtual MachineMonitor,VMM)与加速部件进行通信的通信链路。另外,在目标虚拟机的工作过程中,源服务器还可以对功能应用程序和目标虚拟加速部件的驱动进行绑定,即可以建立两者的对应关系。
当接收到对目标虚拟机进行热迁移的启动指令时,可以将备用链路设置为当前链路(其中,源服务器可以通过热拔虚拟加速部件的驱动,将备用链路设置为当前链路),即后续在热迁移过程中接收到业务报文时,可以通过方式一对该业务报文进行处理。
步骤402,源服务器获取预先记录的目标业务配置信息对应的存储位置信息。
在实施中,源服务器中可以预先存储有用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息,其中,各业务配置信息可以存储在对应的虚拟加速部件中,当源服务器接收到对目标虚拟机进行热迁移的启动指令后,可以在用于各虚拟加速部件进行业务处理的业务配置信息的存储位置信息中,选取目标业务配置信息的存储位置信息。
接收到对目标虚拟机进行热迁移的启动指令后,源服务器还可以建立与目的服务器的连接,以便后续向目的服务器传输相应的数据。
可选的,目标业务配置信息的存储位置信息可以是,目标虚拟机在为目标虚拟加速部件配置目标业务配置信息时记录的,相应的,处理过程可以如下:当通过目标虚拟机为目标虚拟加速部件配置目标业务配置信息时,确定目标虚拟加速部件中用于存储目标业务配置信息的存储位置信息;记录存储位置信息。
在实施中,在目标虚拟机的工作过程中,可以为其对应的目标虚拟加速部件配置相应的目标业务配置信息。具体的,当需要为目标虚拟加速部件配置相应的目标业务配置信息时,源服务器可以在目标虚拟加速部件对应的存储位置信息中,确定用于存储目标业务配置信息的存储位置对应的存储位置信息,进而,可以将目标业务配置信息存储到确定出的存储位置。确定出目标虚拟加速部件中用于存储目标业务配置信息的存储位置信息后,源服务器还可以记录该存储位置信息,以便后续根据该存储位置信息读取相应的目标业务配置信息。
步骤403a,源服务器读取存储位置信息对应的存储位置中的目标业务配置信息。
在实施中,源服务器获取到目标虚拟加速部件中的目标业务配置信息的存储位置信息后,可以确定存储位置信息对应的存储位置,进而,源服务器可以读取该存储位置存储的目标业务配置信息。
可选的,针对存储位置信息包括部件标识和偏移地址的情况,步骤403a的处理过程可以如下:根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;根据目标存储区域的起始地址和偏移地址,确定存储位置信息对应的存储位置;读取存储位置中的目标业务配置信息。
在实施中,源服务器中可以预先安装有加速部件的驱动,加速部件中可以预先存储有虚拟加速部件的部件标识与存储区域的起始地址的对应关系。针对此种情况,源服务器获取到存储位置信息后,可以通过预先安装的加速部件的驱动访问加速部件,进而,可以在加速部件中预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系中,确定存储位置信息中包括的部件标识对应的目标存储区域的起始地址。确定出目标存储区域的起始地址后,源服务器可以将起始地址和存储位置信息中包括的偏移地址相加,得到存储位置信息对应的存储位置,进而,可以读取存储位置中的目标业务配置信息。
步骤403b,源服务器向目的服务器发送目标业务配置信息。
在实施中,源服务器读取到目标业务配置信息后,可以向目的服务器发送读取到的目标业务配置信息。
可选的,源服务器除了向目的服务器发送目标业务配置信息外,还可以发送存储位置信息,相应的,步骤403b的处理过程可以如下:向目的服务器发送目标业务配置信息和存储位置信息,以使目的服务器将目标业务配置信息存储到存储位置信息在目的服务器中对应的存储位置中。
在实施中,源服务器获取到目标业务配置信息后,可以向目的服务器目标业务配置信息和存储位置信息。
相应的,目的服务器接收源服务器发送的目标业务配置信息。
步骤403c,目的服务器存储目标业务配置信息。
在实施中,源服务器向目的服务器发送目标虚拟加速部件中的目标业务配置信息后,目的服务器可以接收源服务器发送的目标业务配置信息,进而,可以将接收到目标业务配置信息进行存储。
可选的,针对源服务器向目的服务器发送目标业务配置信息和存储位置信息的情况,相应的,目的服务器可以接收源服务器发送的目标业务配置信息和存储位置信息。目的服务器接收到目标业务配置信息和存储位置信息后,可以在本地中确定存储位置信息对应的存储位置,进而,可以将目标业务配置信息存储到该存储位置中。
步骤404a,源服务器读取目标虚拟机的虚拟机内存数据。
其中,虚拟机内存数据可以是目标虚拟机当前的运行数据。
需要说明的是,步骤403a与步骤404a并无先后处理顺序,源服务器可以同时进行步骤403a与步骤404a的处理,也可以先进行步骤403a的处理,也可以先进行步骤404a的处理。
步骤404b,源服务器向目的服务器发送目标虚拟机的虚拟机内存数据。
在实施中,源服务器向目的服务器发送虚拟机内存数据后,相应的,目的服务器可以接收源服务器发送的虚拟机内存数据,并可以实时监控迁移状态,等待迁移完成。其中,虚拟机热迁移可以是通过内存迭代拷贝的方式将目标虚拟机的虚拟机内存数据迁移到目的服务器。
需要说明的是,针对源服务器同时读取虚拟机内存数据和目标业务配置信息的情况,源服务器可以同时向目的服务器发送虚拟机内存数据和目标业务配置信息。
步骤404c,目的服务器使能目标虚拟加速部件对应的驱动,并绑定功能应用程序与驱动。
步骤404d,目的服务器将主用链路设置为当前链路,结束热迁移。
另外,在进行目标虚拟机的热迁移前,目的服务器还可以加载虚拟机镜像,并为待迁移的目标虚拟机准备所需资源,其中,所需资源包括计算资源、存储资源和网络资源等。
本发明实施例中,在目标虚拟机的热迁移过程中,源服务器可以获取本地中存储的目标虚拟机对应的目标虚拟加速部件的目标业务配置信息,并将其发送至目的服务器,以便目的服务器存储该目标业务配置信息,其中,目标虚拟机在热迁移的过程中,源服务器中的目标虚拟机还处于工作状态。这样,由于在目标虚拟机的热迁移过程中,也将目标业务配置信息迁移到了目的服务器中,因此热迁移结束后,目的服务器中的目标虚拟机即可正常工作,无需停止工作再去下载目标业务配置信息,从而,可以防止业务处理失败。
基于相同的技术构思,本发明实施例还提供了一种虚拟机的热迁移装置,如图5所示,该装置包括:
获取模块510,用于在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,具体可以实现上述步骤301中的获取功能,以及其他隐含步骤。
读取模块520,用于读取所述存储位置信息对应的存储位置中的所述目标业务配置信息,具体可以实现上述步骤302中的读取功能,以及其他隐含步骤;
发送模块530,用于向目的服务器发送所述目标业务配置信息,以使所述目的服务器存储所述目标业务配置信息,具体可以实现上述步骤303中的发送功能,以及其他隐含步骤。
可选的,如图6所示,所述装置还包括:
确定模块540,用于当为所述目标虚拟加速部件配置所述目标业务配置信息时,确定所述目标虚拟加速部件中用于存储所述目标业务配置信息的存储位置信息;
记录模块550,用于记录所述存储位置信息。
可选的,所述存储位置信息包括所述目标虚拟加速部件的部件标识和相对于所述目标虚拟加速部件的目标存储区域的起始地址的偏移地址;
所述读取模块520,用于:
根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定所述目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;
根据所述目标存储区域的起始地址和所述偏移地址,确定所述存储位置信息对应的存储位置;
读取所述存储位置中的所述目标业务配置信息。
可选的,所述发送模块530,用于:
向目的服务器发送所述目标业务配置信息和所述存储位置信息。
可选的,所述读取模块520,用于:
读取所述目标虚拟机的虚拟机内存数据的同时,读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
所述发送模块530,用于:
向目的服务器发送所述虚拟机内存数据的同时,向所述目的服务器发送所述目标业务配置信息。
需要说明的是,上述获取模块510、读取模块520、发送模块530、确定模块540和记录模块550可以由处理器实现,或者处理器配合存储器来实现,或者,处理器执行存储器中的程序指令来实现。
基于相同的技术构思,本发明实施例还提供了一种虚拟机的热迁移装置,如图7所示,该装置包括:
接收模块710,用于在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息,其中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,具体可以实现上述提到的接收功能,以及其他隐含步骤。
存储模块720,用于存储所述目标业务配置信息,具体可以实现上述提到的存储功能,以及其他隐含步骤。
可选的,所述接收模块710,用于:
在目标虚拟机的热迁移过程,接收源服务器发送的目标业务配置信息和存储位置信息,其中,所述存储位置信息可以是所述目标业务配置信息所在的存储位置对应的位置信息;
所述存储模块720,用于:
将所述目标业务配置信息存储到所述存储位置信息在目的服务器中对应的存储位置中。
需要说明的是,上述接收模块710和存储模块720可以由处理器实现,或者处理器配合存储器来实现,或者,处理器执行存储器中的程序指令来实现。
本发明实施例中,在目标虚拟机的热迁移过程中,源服务器可以获取本地中存储的目标虚拟机对应的目标虚拟加速部件的目标业务配置信息,并将其发送至目的服务器,以便目的服务器存储该目标业务配置信息,其中,目标虚拟机在热迁移的过程中,源服务器中的目标虚拟机还处于工作状态。这样,由于在目标虚拟机的热迁移过程中,也将目标业务配置信息迁移到了目的服务器中,因此热迁移结束后,目的服务器中的目标虚拟机即可正常工作,无需停止工作再去下载目标业务配置信息,从而,可以防止业务处理失败。
需要说明的是:上述实施例提供的虚拟机的热迁移装置在虚拟机的热迁移时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将源服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟机的热迁移装置与虚拟机的热迁移方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本发明实施例还提供了一种虚拟机的热迁移系统,所述系统包括源服务器和目的服务器,其中:所述源服务器,用于在目标虚拟机的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理;读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;向目的服务器发送所述目标业务配置信息;所述目的服务器,用于在目标虚拟机的热迁移过程中,接收源服务器发送的目标业务配置信息;存储所述目标业务配置信息。
本发明实施例中,在目标虚拟机的热迁移过程中,源服务器可以获取本地中存储的目标虚拟机对应的目标虚拟加速部件的目标业务配置信息,并将其发送至目的服务器,以便目的服务器存储该目标业务配置信息,其中,目标虚拟机在热迁移的过程中,源服务器中的目标虚拟机还处于工作状态。这样,由于在目标虚拟机的热迁移过程中,也将目标业务配置信息迁移到了目的服务器中,因此热迁移结束后,目的服务器中的目标虚拟机即可正常工作,无需停止工作再去下载目标业务配置信息,从而,可以防止业务处理失败。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (26)

1.一种虚拟机的热迁移方法,其特征在于,所述方法由源服务器执行,包括:
在目标虚拟机从所述源服务器向目的服务器迁移的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;
读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
向所述目的服务器发送所述目标业务配置信息。
2.根据权利要求1所述的方法,其特征在于,所述获取预先记录的目标业务配置信息对应的存储位置信息之前,还包括:
当为所述目标虚拟加速部件配置所述目标业务配置信息时,确定所述目标虚拟加速部件中用于存储所述目标业务配置信息的存储位置信息;
记录所述存储位置信息。
3.根据权利要求1所述的方法,其特征在于,所述存储位置信息包括所述目标虚拟加速部件的部件标识和相对于所述目标虚拟加速部件的目标存储区域的起始地址的偏移地址;
所述读取所述存储位置信息对应的存储位置中的所述目标业务配置信息,包括:
根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定所述目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;
根据所述目标存储区域的起始地址和所述偏移地址,确定所述存储位置信息对应的存储位置;
读取所述存储位置中的所述目标业务配置信息。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述向所述目的服务器发送所述目标业务配置信息,包括:
向所述目的服务器发送所述目标业务配置信息和所述存储位置信息。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述读取所述存储位置信息对应的存储位置中的所述目标业务配置信息,包括:
读取所述目标虚拟机的虚拟机内存数据的同时,读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
所述向所述目的服务器发送所述目标业务配置信息,包括:
向所述目的服务器发送所述虚拟机内存数据的同时,向所述目的服务器发送所述目标业务配置信息。
6.一种虚拟机的热迁移方法,其特征在于,所述方法由目的服务器执行,包括:
在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;
存储所述目标业务配置信息。
7.根据权利要求6所述的方法,其特征在于,所述在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息,包括:
在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息和存储位置信息,其中,所述存储位置信息是所述目标业务配置信息所在的存储位置对应的位置信息;
所述存储所述目标业务配置信息,包括:
将所述目标业务配置信息存储到所述存储位置信息在目的服务器中对应的存储位置中。
8.一种虚拟机的热迁移装置,其特征在于,所述热迁移装置位于源服务器中,所述装置包括:
获取模块,用于在目标虚拟机从所述源服务器向目的服务器迁移的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;
读取模块,用于读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
发送模块,用于向所述目的服务器发送所述目标业务配置信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定模块,用于当为所述目标虚拟加速部件配置所述目标业务配置信息时,确定所述目标虚拟加速部件中用于存储所述目标业务配置信息的存储位置信息;
记录模块,用于记录所述存储位置信息。
10.根据权利要求8所述的装置,其特征在于,所述存储位置信息包括所述目标虚拟加速部件的部件标识和相对于所述目标虚拟加速部件的目标存储区域的起始地址的偏移地址;
所述读取模块,用于:
根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定所述目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;
根据所述目标存储区域的起始地址和所述偏移地址,确定所述存储位置信息对应的存储位置;
读取所述存储位置中的所述目标业务配置信息。
11.根据权利要求8-10任意一项所述的装置,其特征在于,所述发送模块,用于:
向所述目的服务器发送所述目标业务配置信息和所述存储位置信息。
12.根据权利要求8-10任意一项所述的装置,其特征在于,所述读取模块,用于:
读取所述目标虚拟机的虚拟机内存数据的同时,读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
所述发送模块,用于:
向所述目的服务器发送所述虚拟机内存数据的同时,向所述目的服务器发送所述目标业务配置信息。
13.一种虚拟机的热迁移装置,其特征在于,所述热迁移装置位于目的服务器中,所述装置包括:
接收模块,用于在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;
存储模块,用于存储所述目标业务配置信息。
14.根据权利要求13所述的装置,其特征在于,所述接收模块,用于:
在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程,接收所述源服务器发送的目标业务配置信息和存储位置信息,其中,所述存储位置信息是所述目标业务配置信息所在的存储位置对应的位置信息;
所述存储模块,用于:
将所述目标业务配置信息存储到所述存储位置信息在目的服务器中对应的存储位置中。
15.一种虚拟机的热迁移系统,其特征在于,所述系统包括源服务器和目的服务器,其中:
所述源服务器,用于在目标虚拟机从所述源服务器向所述目的服务器迁移的热迁移过程中,获取预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;向所述目的服务器发送所述目标业务配置信息;
所述目的服务器,用于在目标虚拟机从所述源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息;存储所述目标业务配置信息。
16.一种源服务器,其特征在于,所述源服务器包括处理器、存储器和发射器,其中:
所述处理器,用于在目标虚拟机从所述源服务器向目的服务器迁移的热迁移过程中,获取所述存储器中预先记录的目标业务配置信息对应的存储位置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
所述发射器,用于向所述目的服务器发送所述目标业务配置信息。
17.根据权利要求16所述的源服务器,其特征在于,所述处理器还用于:
当为所述目标虚拟加速部件配置所述目标业务配置信息时,确定所述目标虚拟加速部件中用于存储所述目标业务配置信息的存储位置信息;
记录所述存储位置信息。
18.根据权利要求16所述的源服务器,其特征在于,所述存储位置信息包括所述目标虚拟加速部件的部件标识和相对于所述目标虚拟加速部件的目标存储区域的起始地址的偏移地址;
所述处理器,用于:
根据预先存储的虚拟加速部件的部件标识与存储区域的起始地址的对应关系,确定所述目标虚拟加速部件的部件标识对应的目标存储区域的起始地址;
根据所述目标存储区域的起始地址和所述偏移地址,确定所述存储位置信息对应的存储位置;
读取所述存储位置中的所述目标业务配置信息。
19.根据权利要求16-18任意一项所述的源服务器,其特征在于,所述发射器,用于:
向所述目的服务器发送所述目标业务配置信息和所述存储位置信息。
20.根据权利要求16-18任意一项所述的源服务器,其特征在于,所述处理器,用于:
读取所述目标虚拟机的虚拟机内存数据的同时,读取所述存储位置信息对应的存储位置中的所述目标业务配置信息;
所述发射器,用于:
向所述目的服务器发送所述虚拟机内存数据的同时,向所述目的服务器发送所述目标业务配置信息。
21.一种目的服务器,其特征在于,所述目的服务器包括处理器、接收器和存储器,其中:
所述接收器,用于在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息,其中,所述目标业务配置信息是由所述目标虚拟机在工作过程中为其自身对应的目标虚拟加速部件配置的并存储在所述目标虚拟加速部件中,所述目标业务配置信息用于所述目标虚拟机对应的目标虚拟加速部件进行业务处理,所述目标虚拟加速部件为虚拟网络加速部件,所述虚拟网络加速部件是由服务器中的网络加速部件虚拟化得到的,所述网络加速部件包括网卡,所述目标业务配置信息包括路由转发表;
所述处理器,用于将所述目标业务配置信息存储到所述存储器中。
22.根据权利要求21所述的目的服务器,其特征在于,所述接收器,用于:
在目标虚拟机从源服务器向所述目的服务器迁移的热迁移过程中,接收所述源服务器发送的目标业务配置信息和存储位置信息,其中,所述存储位置信息是所述目标业务配置信息所在的存储位置对应的位置信息;
所述处理器,用于:
将所述目标业务配置信息存储到所述存储位置信息在目的服务器中对应的存储位置中。
23.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在源服务器上运行时,使得所述源服务器执行权利要求1-5任一项所述的方法。
24.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在源服务器上运行时,使得所述源服务器执行权利要求1-5任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在目的服务器上运行时,使得所述目的服务器执行权利要求6或7所述的方法。
26.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在目的服务器上运行时,使得所述目的服务器执行权利要求6或7所述的方法。
CN201710785939.7A 2017-09-04 2017-09-04 一种虚拟机的热迁移方法、装置和系统 Active CN109426547B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710785939.7A CN109426547B (zh) 2017-09-04 2017-09-04 一种虚拟机的热迁移方法、装置和系统
EP18852177.7A EP3671444A4 (en) 2017-09-04 2018-06-30 METHOD, DEVICE AND SYSTEM FOR LIVE MIGRATION FROM VIRTUAL MACHINE
PCT/CN2018/093917 WO2019042005A1 (zh) 2017-09-04 2018-06-30 一种虚拟机的热迁移方法、装置和系统
US16/807,334 US11604670B2 (en) 2017-09-04 2020-03-03 Virtual machine live migration method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710785939.7A CN109426547B (zh) 2017-09-04 2017-09-04 一种虚拟机的热迁移方法、装置和系统

Publications (2)

Publication Number Publication Date
CN109426547A CN109426547A (zh) 2019-03-05
CN109426547B true CN109426547B (zh) 2022-05-17

Family

ID=65513394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710785939.7A Active CN109426547B (zh) 2017-09-04 2017-09-04 一种虚拟机的热迁移方法、装置和系统

Country Status (4)

Country Link
US (1) US11604670B2 (zh)
EP (1) EP3671444A4 (zh)
CN (1) CN109426547B (zh)
WO (1) WO2019042005A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112954040B (zh) * 2021-02-04 2022-08-12 深圳融安网络科技有限公司 嵌入应用发布服务器的方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN102118458A (zh) * 2011-03-10 2011-07-06 浪潮(北京)电子信息产业有限公司 一种虚拟机热迁移的方法及系统
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
CN103812823A (zh) * 2012-11-07 2014-05-21 华为技术有限公司 虚拟机热迁移时配置信息迁移的方法、设备及系统
US8775781B2 (en) * 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
CN104199716A (zh) * 2014-07-31 2014-12-10 华为技术有限公司 一种虚拟机热迁移的方法、物理主机及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
JP5246388B2 (ja) * 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
US8405666B2 (en) * 2009-10-08 2013-03-26 Advanced Micro Devices, Inc. Saving, transferring and recreating GPU context information across heterogeneous GPUs during hot migration of a virtual machine
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
CN102141931B (zh) * 2011-03-15 2014-06-11 华为技术有限公司 一种创建虚拟机的方法、虚拟机监控器及虚拟机系统
US20130083690A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Network Adapter Hardware State Migration Discovery in a Stateful Environment
US9027024B2 (en) * 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US9152448B2 (en) * 2012-05-11 2015-10-06 Vmware, Inc. Performance of load balancing modules with migration awareness
WO2014032233A1 (zh) * 2012-08-29 2014-03-06 华为技术有限公司 虚拟机热迁移的系统和方法
CN103049308B (zh) * 2012-11-30 2016-01-20 华为技术有限公司 实现虚拟机热迁移的方法、装置及系统
CN103346900B (zh) * 2013-05-31 2016-12-28 华为技术有限公司 大二层网络中虚拟机热迁移后的路由配置方法和网关
CN103475560B (zh) * 2013-09-18 2017-02-08 杭州华三通信技术有限公司 一种用户报文处理方法及装置
CN103647849B (zh) * 2013-12-24 2017-02-08 华为技术有限公司 一种业务迁移方法、装置和一种容灾系统
CN103890728B (zh) * 2013-12-31 2015-12-30 华为技术有限公司 虚拟机热迁移的方法和服务器
CN104750554B (zh) * 2013-12-31 2018-03-23 中国移动通信集团公司 一种虚拟机间数据迁移的方法和设备
CN103942087B (zh) * 2014-03-31 2017-11-17 华为技术有限公司 虚拟机热迁移方法及相关装置和集群系统
CN104142853B (zh) * 2014-08-12 2018-02-09 华为技术有限公司 虚拟机存储资源部署方法和装置
CN104468397B (zh) * 2014-11-06 2018-06-12 新华三技术有限公司 一种虚拟机热迁移转发不丢包的方法和装置
US9811367B2 (en) * 2014-11-13 2017-11-07 Nsp Usa, Inc. Method and apparatus for combined hardware/software VM migration
CN104965757B (zh) * 2015-01-21 2018-03-30 深圳市腾讯计算机系统有限公司 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
US10740146B2 (en) * 2017-02-10 2020-08-11 Xilinx, Inc. Migrating virtual machines between compute systems by transmitting programmable logic accelerator state
CN106961487B (zh) * 2017-04-19 2020-10-27 南京大学 虚拟机热迁移过程中的数据流自适应调整系统及调整方法
US10228981B2 (en) * 2017-05-02 2019-03-12 Intel Corporation High-performance input-output devices supporting scalable virtualization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775781B2 (en) * 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN102118458A (zh) * 2011-03-10 2011-07-06 浪潮(北京)电子信息产业有限公司 一种虚拟机热迁移的方法及系统
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
CN103812823A (zh) * 2012-11-07 2014-05-21 华为技术有限公司 虚拟机热迁移时配置信息迁移的方法、设备及系统
CN104199716A (zh) * 2014-07-31 2014-12-10 华为技术有限公司 一种虚拟机热迁移的方法、物理主机及系统

Also Published As

Publication number Publication date
CN109426547A (zh) 2019-03-05
WO2019042005A1 (zh) 2019-03-07
EP3671444A1 (en) 2020-06-24
US11604670B2 (en) 2023-03-14
US20200201667A1 (en) 2020-06-25
EP3671444A4 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US8705514B2 (en) Apparatus for controlling a transfer destination of a packet originating from a virtual machine
EP3373518B1 (en) Service configuration method and device for network service
US20050138620A1 (en) Virtual network interface
US10657095B2 (en) Virtualizing connection management for virtual remote direct memory access (RDMA) devices
JP2018525948A (ja) ネットワークサービス記述子をオンボードするための方法及び装置
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
CN113778611A (zh) 数据传输方法、装置、系统及存储介质
CN103631652A (zh) 虚拟机迁移的实现方法及系统
CN109194589B (zh) 一种mdc实现方法及装置
CN104883302A (zh) 一种数据包转发的方法、装置及系统
CN110990110A (zh) 一种基于Sriov网卡的虚拟机创建方法及装置
CN109417507B (zh) 一种通过部分直接内存访问dma访问内存的方法和系统
US11321109B2 (en) Container engine for selecting driver based on container metadata
CN109426547B (zh) 一种虚拟机的热迁移方法、装置和系统
CN111654559B (zh) 一种容器数据传输方法及装置
CN109039765B (zh) 网络配置方法及装置
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
CN108494748B (zh) 一种通信方法、装置及存储介质
US9189370B2 (en) Smart terminal fuzzing apparatus and method using multi-node structure
CN109962788B (zh) 多控制器调度方法、装置和系统及计算机可读存储介质
KR102633569B1 (ko) 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법
CN107231244B (zh) 初始化加密机的系统、方法和装置
KR20210083561A (ko) 가상화 네트워크의 운용을 자동화하는 방법 및 그 장치
KR102567132B1 (ko) 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법

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