CN113326101A - 基于远程直接数据存储的热迁移方法、装置及设备 - Google Patents

基于远程直接数据存储的热迁移方法、装置及设备 Download PDF

Info

Publication number
CN113326101A
CN113326101A CN202110880048.6A CN202110880048A CN113326101A CN 113326101 A CN113326101 A CN 113326101A CN 202110880048 A CN202110880048 A CN 202110880048A CN 113326101 A CN113326101 A CN 113326101A
Authority
CN
China
Prior art keywords
migrated
message
virtual machine
physical machine
live migration
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
Application number
CN202110880048.6A
Other languages
English (en)
Other versions
CN113326101B (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202110880048.6A priority Critical patent/CN113326101B/zh
Publication of CN113326101A publication Critical patent/CN113326101A/zh
Application granted granted Critical
Publication of CN113326101B publication Critical patent/CN113326101B/zh
Priority to PCT/CN2022/107930 priority patent/WO2023011254A1/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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明实施例提供了一种基于远程直接数据存储的热迁移方法、装置及设备。热迁移方法包括:获取热迁移请求,热迁移请求中包括:待迁移虚拟机;基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;基于所述中继路由进行所述待迁移虚拟机的热迁移操作。本实施例提供的技术方案,通过中继路由进行待迁移虚拟机的热迁移操作,可以使得其他物理机对正在进行热迁移操作的当前物理机的RDMA访问不中断,RDMA数据不丢失,让用户无感知。

Description

基于远程直接数据存储的热迁移方法、装置及设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于远程直接数据存储的热迁移方法、装置及设备。
背景技术
热迁移(又叫动态迁移、实时迁移),即虚拟机保存(save)/恢复(restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
在云网络中,用户使用的都是虚拟机,例如:云服务器(Elastic ComputeService,简称ECS),其网卡通常是由软件虚拟化实现的,不具备硬件网卡的全称远程直接内存访问(Remote Direct Memory Access,简称RDMA)能力;其次,当前云网络通常都是基于overlay网络所实现的私有云(Virtual Private Cloud,简称VPC)网络,无法使用传统的RDMA技术;最后,由于云网络中的网络虚拟化,用户的网络不想受到物理网络拓扑的限制,而传统RDMA对物理网络的感知是非常重要的。
另外,由于热迁移操作可以规避底层硬件或系统带来的风险故障,同时热迁移也是资源腾挪的有效手段。因此,如何提供一种支持云网络VPC架构的、且让用户无感知的热迁移方法具有十分重要的意义。
发明内容
本发明实施例提供了一种基于远程直接数据存储的热迁移方法、装置及设备,在进行热迁移操作时,可以使得其他物理机对正在进行热迁移操作的当前物理机的RDMA访问不中断,RDMA数据不丢失,让用户无感知。
第一方面,本发明实施例提供一种基于远程直接数据存储的热迁移方法,包括:
获取热迁移请求,所述热迁移请求中包括:待迁移虚拟机;
基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;
基于所述中继路由进行所述待迁移虚拟机的热迁移操作。
第二方面,本发明实施例提供一种基于远程直接数据存储的热迁移装置,包括:
第一获取模块,用于获取热迁移请求,所述热迁移请求中包括:待迁移虚拟机;
第一生成模块,用于基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;
第一处理模块,用于基于所述中继路由进行所述待迁移虚拟机的热迁移操作。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的基于远程直接数据存储的热迁移方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的基于远程直接数据存储的热迁移方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述第一方面所示的基于远程直接数据存储的热迁移方法中的步骤。
第六方面,本发明实施例提供了一种基于远程直接数据存储的热迁移装置,包括:
物理机,用于生成热迁移请求,所述热迁移请求中包括待迁移虚拟机,并将所述热迁移请求发送至网卡;
网卡,用于获取热迁移请求,基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;并基于所述中继路由进行所述待迁移虚拟机的热迁移操作。
本实施例提供的技术方案,通过获取热迁移请求,而后基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;基于所述中继路由进行所述待迁移虚拟机的热迁移操作,从而有效地实现了在进行虚拟机热迁移的过程中,通过中继路由可以使得其他物理机对正在进行热迁移操作的当前物理机的RDMA访问不中断,RDMA数据不丢失,有效地保证了整个基于overlay网络架构的RDMA的热迁移过程中流量不中断,用户无感知,进一步提高了用户使用的良好体验性,保证了该技术方案的实用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中实施例提供的一种报文转发方法的原理示意图;
图2为本发明实施例提供的一种基于远程直接数据存储的热迁移方法的原理框图;
图3为本发明实施例提供的一种基于远程直接数据存储的热迁移方法的流程示意图;
图4为本发明实施例提供的基于所述软件模块和中继路由,将所述待迁移虚拟机由当前物理机迁移至目标物理机中的流程示意图;
图5为本发明实施例提供的基于所述软件模块和中继路由,将所述待迁移虚拟机由当前物理机迁移至目标物理机中的流程示意图;
图6为本发明实施例提供的另一种基于远程直接数据存储的热迁移方法的流程示意图;
图7为本发明实施例提供的又一种基于远程直接数据存储的热迁移方法的流程示意图;
图8为本发明实施例提供的再一种基于远程直接数据存储的热迁移方法的流程示意图;
图9为本发明应用实施例提供的基于远程直接数据存储的热迁移方法的示意图一;
图10为本发明应用实施例提供的基于远程直接数据存储的热迁移方法的示意图二;
图11为本发明应用实施例提供的基于远程直接数据存储的热迁移方法的示意图三;
图12为本发明应用实施例提供的基于远程直接数据存储的热迁移方法的报文示意图;
图13为本发明应用实施例提供的基于远程直接数据存储的热迁移方法的示意图四;
图14为本发明实施例提供的一种基于远程直接数据存储的热迁移装置的结构示意图;
图15为与图14所示实施例提供的基于远程直接数据存储的热迁移装置对应的电子设备的结构示意图;
图16为本发明实施例提供的一种基于远程直接数据存储的热迁移装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了便于理解本实施例中基于远程直接数据存储RDMA的报文转发方法的具体实现过程和实现效果,下面对相关技术进行简要说明:
随着网络带宽和速度的发展,大数据量数据的迁移需求越来越广泛,网络带宽增长速度远远高于处理网络流量时所必需的计算节点的能力和对内存带宽的需求,数据中心网络架构已经逐步成为计算和存储技术的发展的瓶颈,迫切需要采用一种更高效的数据通讯架构。
在数据包处理过程中,传统的TCP/IP技术要经过操作系统及其他软件层,如图1所示的链路1,待处理报文由应用端发送至内核,需要经过内核的套接层Socekets、传输控制协议层TCP、因特网互联协议IPv4/IPv6层、网络设备层Network Device以及设备驱动层Device Driver,此时,对于待处理报文而言,不仅传输链路非常长,并且,在对待处理报文进行传输时,需要进行报文的拷贝和传输操作,而报文的拷贝和传输操作都是由软件模块CPU来做的,这样需要占用大量的服务器资源和内存总线带宽,进而会产生较大的延时。总的来说,由于系统庞大的开销、数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,给服务器的CPU和内存造成了沉重负担,尤其是面对网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更容易造成网络延迟效应的加剧。
远程直接数据存取(Remote Direct Memory Access,简称RDMA)能够让计算机可以直接存取其它计算机的内存,而不需要经过处理器耗时的传输,无需双方操作系统的介入,允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。如图1所示的链路2,RDMA技术具有将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响的特性,这项技术通过消除外部存储器复制和文本交换操作,因而能腾出总线空间和CPU周期,用于改进应用系统性能,从而减少对带宽和处理器开销的需要,显著降低时延。
在云网络中,用户使用的都是虚拟机,例如:云服务器(Elastic ComputeService,简称ECS),其网卡通常是由软件虚拟化实现的,不具备硬件网卡的RDMA能力;其次,当前云网络通常都是基于overlay网络(将传统网络报文作为静荷进行封装,例如:封装为Vxlan)的私有网络(Virtual Private Cloud,简称VPC)网络,无法使用传统的RDMA技术;最后,由于云网络中的网络虚拟化,用户的网络不想受到物理网络拓扑的限制,而传统RDMA对物理网络的感知是非常重要的。
另外,由于热迁移操作可以规避底层硬件或系统带来的风险故障,同时热迁移也是资源腾挪的有效手段。因此,如何提供一种支持云网络VPC架构的、且让用户无感知的热迁移方法具有十分重要的意义。
为了解决上述技术问题,本实施例提供了一种基于远程直接数据存储RDMA的热迁移方法、装置及设备,上述热迁移方法的执行主体可以为热迁移系统,报文转发系统可以包括物理机和与物理机通信连接的网卡,例如:网卡插在物理机上,物理机内可以启动一个或多个虚拟机VM,如图2所示,该网卡中包括软件模块(CPU)和硬件模块,其中,软件模块CPU中可以包括负责正常的VPC网络流量转发操作的虚拟交换机vswitch;具体的,软件模块可以获取报文的五元组特征,并通过五元组特征查询路由表、ACL表等各种转发表,获得查询结果,而后基于查询结果和五元组特征生成第二流表。硬件模块可以采用现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)或者专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC),该硬件模块可以卸载由软件vswitch下发的第二流表。在进行报文转发操作时,物理机和网卡节点用于实现如下步骤:
物理机/虚拟机:生成待转发报文,此时的待转发报文中可以包括静荷数据和RDMA头信息,该RDMA头信息可以包括DDP头信息和MPA头信息,将待转发报文发送至网卡,需要注意的是,热迁移系统可以以iwarp网络来实现,而以rocev2等其他RDMA技术所实现的热迁移操作原理也类似。
网卡中的硬件模块:获取到物理机/虚拟机所发送的待转发报文,对待转发报文的报文头进行封装处理,获得处理后报文,即将仅包括静荷数据和RDMA头信息的报文封装为完整报文;而后检测处理后是否命中硬件模块中预先存储的第一流表,在处理后报文命中第一流表时,则硬件模块可以直接基于第一流表对处理后报文进行转发;在处理后报文未命中第一流表时,则将处理后报文发送至网卡中的软件模块;
网卡中的软件模块:获取到硬件模块发送的处理后报文,并利用预先存储的与处理后报文相对应的第二流表对处理后报文进行转发处理。在对处理后报文进行转发处理后,软件模块可以将与处理后报文相对应的第二流表发送至硬件模块,以作为第一流表。
以FPGA作为硬件模块为例对热迁移操作进行说明,在热迁移系统进行热迁移操作时:
物理机/虚拟机:用于生成热迁移请求,热迁移请求中可以包括待迁移虚拟机,并将热迁移请求发送至网卡;
网卡中的软件模块,用于获取热迁移请求,并基于热迁移请求允许利用网卡中的软件模块进行RDMA报文的转发操作,禁止利用网卡中的硬件模块进行RDMA报文的转发操作;而后确定与待迁移虚拟机相对应的当前物理机和目标物理机,在当前物理机中生成与待迁移虚拟机相对应的中继路由,中继路由用于标识当前物理机与目标物理机之间的映射关系;并基于中继路由和热迁移请求将待迁移虚拟机由当前物理机迁移至目标物理机中。
本实施例提供的技术方案,在进行热迁移的过程中,通过获取待迁移虚拟机的当前物理机和目标物理机在当前物理机中生成与待迁移虚拟机相对应的中继路由,这样在将当前物理机上的待迁移虚拟机同步到目标物理机时,可以使得其他物理机对正在进行热迁移操作的当前物理机的RDMA访问不中断,RDMA数据不丢失,从而有效地保证了整个基于overlay网络架构的RDMA的热迁移过程中流量不中断,用户无感知,进一步提高了用户使用的良好体验性,保证了该技术方案的实用性。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图3为本发明实施例提供的一种基于远程直接数据存储的热迁移方法的流程示意图;参考附图3所示,本实施例提供了一种基于远程直接数据存储RDMA的热迁移方法,该方法的执行主体为基于远程直接数据存储RDMA的热迁移装置,可以理解的是,该基于远程直接数据存储RDMA的热迁移装置可以实现为软件、或者软件和硬件的组合,具体实现时,该基于远程直接数据存储RDMA的热迁移装置可以实现为网卡结构或者网卡节点。具体的,该基于远程直接数据存储RDMA的热迁移方法可以包括:
步骤S301:获取热迁移请求,热迁移请求中包括:待迁移虚拟机。
步骤S302:基于热迁移请求,生成与待迁移虚拟机相对应的中继路由;
步骤S303:基于中继路由进行待迁移虚拟机的热迁移操作。
下面对上述各个步骤的具体实现过程和实现效果进行详细说明:
步骤S301:获取热迁移请求,热迁移请求中包括:待迁移虚拟机。
其中,热迁移即虚拟机保存(save)/恢复(restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。在用户存在热迁移需求时,则可以通过物理机或者虚拟机生成热迁移请求,上述的热迁移请求中包括需要进行热迁移操作的待迁移虚拟机。
具体的,物理机可以提供用于供用户输入执行操作的接口或者端口(例如:交互界面),通过接口或者端口可以获取到用户输入的执行操作,通过执行操作可以生成热迁移请求,在物理机或者虚拟机生成热迁移请求之后,可以将热迁移请求发送至网卡节点,具体实现时,物理机或者虚拟机上配置有用于RDMA数据传输操作的驱动模块,通过驱动模块可以将热迁移请求由物理机或者虚拟机发送至网卡节点,从而使得网卡节点可以获取到热迁移请求。
步骤S302:基于热迁移请求,生成与待迁移虚拟机相对应的中继路由。
在获取到热迁移请求之后,可以基于热迁移请求生成与待迁移虚拟机相对应的中继路由,在一些实例中,基于热迁移请求,生成与待迁移虚拟机相对应的中继路由可以包括:基于热迁移请求,确定与待迁移虚拟机相对应的当前物理机和目标物理机;在当前物理机中生成与待迁移虚拟机相对应的中继路由,中继路由用于标识当前物理机与目标物理机之间的映射关系。
其中,在获取到热迁移请求中所包括的待迁移虚拟机之后,可以对待迁移虚拟机进行分析处理,以确定与待迁移虚拟机相对应的当前物理机和目标物理机。具体的,待迁移虚拟机与该待迁移虚拟机所在的当前物理机之间存在映射关系,通过映射关系可以确定与待迁移虚拟机相对应的当前物理机。
在获取到待迁移虚拟机之后,为了能够准确地实现热迁移操作,则可以确定与待迁移虚拟机相对应的目标物理机,该目标物理机可以是系统通过预设算法所确定的,在一些实例中,该目标物理机可以为数据处理资源较为充足的物理机;在又一些实例中,该目标物理机可以为预设的备用物理机等等,只要能够保证热迁移操作进行的稳定可靠性即可。
另外,在将待迁移虚拟机由当前物理机迁移至目标物理机时,为了保证RDMA数据流不中断,可以在当前物理机中生成与待迁移虚拟机相对应的中继路由。具体的,在获取到当前物理机和目标物理机之后,可以获取当前物理机的当前配置信息(IP地址信息、MAC地址信息等等)和目标物理机的目标配置信息(IP地址信息、MAC地址信息等等),而后基于当前配置信息和目标配置信息之间的映射关系来生成中继路由,该中继路由用于标识当前物理机与目标物理机之间的映射关系。
步骤S303:基于中继路由进行待迁移虚拟机的热迁移操作。
在获取到中继路由之后,可以基于中继路由进行热迁移虚拟机的热迁移操作,具体的,基于中继路由进行待迁移虚拟机的热迁移操作可以包括:基于热迁移请求确定利用网卡节点中的软件模块进行RDMA报文的转发操作;基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中。
具体的,由于网卡节点中包括硬件模块和软件模块,在没有进行热迁移操作时,可以利用硬件模块或者软件模块对待处理报文进行转发操作,具体的,硬件模块中可以包括用于实现快转操作的第一流表,软件模块中可以包括用于实现转发操作的第二流表;在获取到待处理报文之后,在待处理报文命中第一流表时,则可以利用硬件模块和第一流表对待处理报文进行转发操作;在待处理报文未命中第一流表时,则可以利用软件模块和第二流表对待处理报文进行转发操作。
在进行热迁移操作时,由于热迁移操作需要一定的时间,此时,若允许硬件模块基于第一流表对待处理报文进行转发操作,则容易导致热迁移操作出现异常。因此,为了保证热迁移操作的稳定可靠性,在获取到热迁移请求之后,可以基于热迁移请求中禁止利用网卡节点中的硬件模块进行RDMA报文的转发操作,并允许利用网卡节点中的软件模块进行RDMA报文的转发操作。
在获取到热迁移请求之后,可以利用软件模块和中继路由将待迁移虚拟机由当前物理机迁移至目标物理机中,以实现热迁移操作。
本实施例提供的基于远程直接数据存储的热迁移方法,通过获取热迁移请求,而后基于热迁移请求,生成与待迁移虚拟机相对应的中继路由;基于中继路由进行待迁移虚拟机的热迁移操作,从而有效地实现了在进行热迁移的过程中,通过在当前物理机中生成与待迁移虚拟机相对应的中继路由可以使得其他物理机对正在进行热迁移操作的当前物理机的RDMA访问不中断,RDMA数据不丢失,有效地保证了整个基于overlay网络架构的RDMA的热迁移过程中流量不中断,用户无感知,进一步提高了用户使用的良好体验性,保证了该技术方案的实用性。
图4为本发明实施例提供的基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中的流程示意图;参考附图4所示,本实施例提供了一种将待迁移虚拟机由当前物理机迁移至目标物理机的实现方式,具体的,本实施例中的基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中可以包括:
步骤S401:在目标物理机中,创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机。
其中,在获取当前物理机中的待迁移虚拟机之后,为了能够实现热迁移操作,可以在目标物理机中创建与待迁移虚拟机相对应的迁移后虚拟机。在一些实例中,在目标物理机中,创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机可以包括:在当前物理机中,确定与待迁移虚拟机相对应的内存信息;将内存信息迭代拷贝至目标物理机中,生成与待迁移虚拟机相对应的迁移后虚拟机。
具体的,在获取到当前物理机中的待迁移虚拟机之后,可以对待迁移虚拟机进行分析处理,以在当前物理机中确定与待迁移虚拟机相对应的内存信息;在确定与待迁移虚拟机相对应的内存信息之后,可以将内存信息迭代拷贝至目标物理机中,从而可以生成与待迁移虚拟机相对应的迁移后虚拟机,进而有效地实现了对迁移后虚拟机进行稳定地创建操作。
步骤S402:基于软件模块和中继路由,确定当前物理机中包括的与待迁移虚拟机相对应的连接信息,并将连接信息同步至目标物理机中。
为了能够实现热迁移操作,可以基于软件模块和中继路由对当前物理机中的待迁移虚拟机进行分析处理,以确定当前物理机中包括的与待迁移虚拟机相对应的连接信息,该连接信息中包括与待迁移虚拟机进行通信连接的所有连接相关信息,例如:与待迁移虚拟机进行通信连接的第三设备的IP地址信息、MAC地址信息等等。在获取到连接信息之后,可以将连接信息同步至目标物理机中,以使得目标物理机可以获知到所有与待迁移虚拟机进行通信连接的所有相关信息,从而可以保证热迁移操作的正常运行。
需要注意的是,本实施例中上述步骤S401与步骤S402之间的执行顺序并不限于上述序号所描述的顺序,本领域技术人员可以根据具体的应用场景或者应用需求对上述步骤的具体执行顺序进行调整,例如:步骤S401与步骤S402可以同时执行,或者,步骤S401可以在步骤S402之后执行。
在又一些实例中,在创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机之后,本实施例中的方法还可以包括:将位于当前物理机中的待迁移虚拟机暂停,并启动位于目标物理机中的迁移后虚拟机。
具体的,在目标物理机中,创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机之后,为了能够实现将当前物理机中与待迁移虚拟机相对应的数据迁移至目标物理机中,则可以将位于当前物理机中的待迁移虚拟机暂停,即控制当前物理机中的待迁移虚拟机停止运行,并启动位于目标物理机中的迁移后虚拟机,该迁移后虚拟机与待迁移虚拟机相对应,这样可以将当前物理机所获得的针对暂停状态的待迁移虚拟机的数据迁移至已经启动的迁移后虚拟机中,从而有利于实现数据的热迁移操作。
本实施例中,通过在目标物理机中创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机,而后确定当前物理机中包括的与待迁移虚拟机相对应的连接信息,并将连接信息同步至目标物理机中,从而有效地实现了可以基于中继路由和热迁移请求,将待迁移虚拟机由当前物理机迁移至目标物理机,这样有利于保证热迁移操作运行的稳定可靠性。
图5为本发明实施例提供的基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中的流程示意图;参考附图5所示,本实施例提供了一种将待迁移虚拟机由当前物理机迁移至目标物理机中的实现过程,具体的,本实施例中的基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中可以包括:
步骤S501:基于热迁移请求获取与待迁移虚拟机相对应的待转发报文,待转发报文包括:静荷数据和RDMA头信息。
在获取到热迁移请求之后,为了能够实现数据的热迁移操作,则可以基于热迁移请求获取与待迁移虚拟机相对应的待转发报文,此时的待转发报文可以包括静荷数据和RDMA头信息,上述的RDMA头信息可以包括:直接数据放置(direct data placement,简称DDP)信息、和基于标记的协议数据单元对齐头信息(marker-based protocol data unitaligned,简称MPA)。
步骤S502:基于当前物理机中的软件模块和中继路由,将待转发报文发送至目标物理机。
在获取到待转发报文之后,由于中继路由中包括当前物理机和目标物理机之间的映射关系,则可以基于当前物理机中的软件模块和中继路由将待转发报文发送至目标物理机,即实现了将当前物理机所接收到的待转发报文迁移至目标物理机进行处理。
步骤S503:利用目标物理机中的软件模块对待转发报文进行转发处理。
在目标物理机获取到待转发报文之后,可以利用目标物理机中的软件模块对待转发报文进行转发处理,以实现数据的热迁移操作。在一些实例中,利用目标物理机中的软件模块对待转发报文进行转发处理可以包括:利用软件模块中的第二流表对待转发报文的报文头进行封装处理,获得第一报文;确定软件模块中所包括的位置信息表,位置信息表中包括:与待转发报文相对应的目的节点以及目的节点所在物理机之间的IP对应关系;利用位置信息表对第一报文进行Vxlan封装,获得第二报文;对第二报文进行转发处理。
其中,目标物理机中包括硬件模块和软件模块,软件模块中可以包括用于对待转发报文进行分析处理的第二流表。由于此时的待转发报文中仅包括静荷数据和RDMA头信息,为了能够实现对待转发报文进行正常的处理操作,在目标物理机获取到待转发报文之后,可以利用软件模块中的第二流表对待转发报文的报文头进行封装处理,此时的报文头可以包括:传输控制协议TCP头信息、因特网互联协议IP头信息和介质访问控制MAC头信息等等,从而可以获得第一报文。
此外,为了能够实现将待转发报文正常地转发至目标节点处,则在获取到待转发报文之后,可以确定软件模块中所包括的位置信息表,该位置信息表中包括与待转发报文相对应的目的节点以及目的节点所在物理机之间的IP对应关系。在获取到位置信息表之后,可以利用位置信息表对第一报文进行Vxlan封装,获得第二报文,在一些实例中,利用位置信息表对第一报文进行Vxlan封装,获得第二报文可以包括:获取第一报文相对应的Vxlan头信息、外侧的用户数据报协议UDP头信息、IP头信息以及MAC头信息;利用位置信息表对Vxlan头信息、用户数据报协议UDP头信息、IP头信息以及MAC头信息进行封装,获得第二报文,即可以获得封装有目标节点相关信息的完整报文。
在获取到第二报文之后,可以利用软件模块中所包括的第二流表对第二报文进行转发处理,即基于第二流表将第二报文发送至目标节点所在物理机中,以实现将第二报文发送至目标节点,从而有效地实现了报文转发操作。
本实施例中,基于热迁移请求获取与待迁移虚拟机相对应的待转发报文,而后基于当前物理机中的软件模块和中继路由,将待转发报文发送至目标物理机,并利用目标物理机中的软件模块对待转发报文进行转发处理,有效地实现了在获取到热迁移请求之后,可以将当前物理机中所获取到的与待迁移虚拟机相对应的待转发报文迁移至目标物理机进行分析处理,实现了数据的热迁移操作,进一步保证了热迁移方法运行的稳定可靠性。
图6为本发明实施例提供的另一种基于远程直接数据存储的热迁移方法的流程示意图;参考附图6所示,在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,本实施例中的方法还可以包括:
步骤S601:检测当前物理机中与待迁移虚拟机相对应的待转发报文是否转发完毕。
步骤S602:在将待迁移虚拟机相对应的待转发报文转发完毕时,将中继路由删除。
在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,则可以利用网卡节点中的软件模块来对待转发报文进行转发操作,以实现针对待迁移虚拟机的数据进行热迁移操作。在进行热迁移操作时,可以检测获取当前物理机中与待迁移虚拟机的待转发报文是否转发完毕,在一些实例中,在当前物理机中配置有与待迁移虚拟机相对应的状态机,通过状态机中的状态标识可以获取当前物理机中与待迁移虚拟机的待转发报文是否转发完毕;在又一些实例中,预先获取当前物理机中与待迁移虚拟机的所有待转发报文,通过获取所有待转发报文中最后一个待转发报文的转发状态来确定与待迁移虚拟机的待转发报文是否转发完毕,例如:在最后一个待转发报文已转发完毕,则可以确定与待迁移虚拟机相对应的待转发报文已转发完毕;否则可以确定与待迁移虚拟机相对应的待转发报文未转发完毕。
在检测结果为将待迁移虚拟机相对应的待转发报文转发完毕时,此时,当前物理机中的中继路由已经完成相对应的中继功能,进而可以将中继路由删除。在检测结果为将待迁移虚拟机相对应的待转发报文未转发完毕时,此时,当前物理机中的中继路由未完成相对应的中继功能,进而需要继续保留位于当前物理机中的中继路由。
本实施例中,通过检测当前物理机中与待迁移虚拟机相对应的待转发报文是否转发完毕,并且在检测结果为将待迁移虚拟机相对应的待转发报文转发完毕时,则可以将中继路由删除;在检测结果为将待迁移虚拟机相对应的待转发报文未转发完毕时,则可以将中继路由删除,有效地实现了在中继路由未完成当前物理机与目标物理机之间的中继功能时,则可以将中继路由保留在当前物理机中;在中继路由完成了当前物理机与目标物理机之间的中继功能时,为了进一步减少对当前物理机的内存占用率,则可以将中继路由删除,进一步提高了该方法使用的灵活可靠性。
图7为本发明实施例提供的又一种基于远程直接数据存储的热迁移方法的流程示意图;参考附图7所示,在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,方法还包括:
步骤S701:获取用于对待转发报文进行迁移操作的处理时间。
步骤S702:在处理时间大于或等于预设时间阈值时,将中继路由删除。
在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,为了能够准确地实现对热迁移操作进行控制,则可以获取用于对待转发报文进行迁移操作的处理时间,具体的,在当前物理机中可以配置有计时器,在生成中继路由之后,启动计时器进行计时操作,在对待迁移报文进行迁移操作时,通过计时器即可获取到处理时间。
一般情况下,在对一虚拟机的所有待转发报文进行迁移操作时,所需要的时间都比较短,例如:1分钟、2分钟、3分钟或者5分钟等等;为了能够准确地检测当前物理机中与待迁移虚拟机相对应的待转发报文是否转发完毕,则预先配置有用于对处理时间进行分析处理的预设时间阈值,在获取到处理时间之后,可以将处理时间与预设时间阈值进行分析比较,在处理时间大于或等于预设时间阈值时,则可以确定当前物理机中与待迁移虚拟机相对应的待转发报文已转发完毕,进而可以将中继路由删除;相反的,在处理时间小于预设时间阈值时,则可以确定当前物理机中与待迁移虚拟机相对应的待转发报文未转发完毕,进而可以保留中继路由不变。
在上述图6所对应实施例或者图7所对应实施例的基础上,在将中继路由删除之后,方法还包括:允许利用网卡节点中的硬件模块和软件模块进行报文转发处理。
在将中继路由删除时,说明此时的热迁移操作已完成,进而为了提高报文转发的质量和效率,则可以允许利用网卡节点中的软件模块和硬件模块对报文进行转发操作,具体的,在待转发报文命中硬件模块中的第一流表时,则可以直接利用硬件模块和第一流表对待转发报文进行转发操作;在待转发报文未命中硬件模块中的第一流表时,则硬件模块可以将待转发报文发送至软件模块,以利用软件模块和第二流表对待转发报文进行正常的报文转发操作,这样可以有效地提高报文的转发效率。
本实施例中,通过获取用于对待转发报文进行迁移操作的处理时间,在处理时间大于或等于预设时间阈值时,将中继路由删除;在处理时间小于预设时间阈值时,则保留中继路由不变,有效地实现了在中继路由未完成当前物理机与目标物理机之间的中继功能时,则可以将中继路由保留在当前物理机中;在中继路由完成了当前物理机与目标物理机之间的中继功能时,为了进一步减少对当前物理机的内存占用率,则可以将中继路由删除,进一步提高了该方法使用的灵活可靠性。
图8为本发明实施例提供的再一种基于远程直接数据存储的热迁移方法的流程示意图;参考附图8所示,为了进一步提高对报文进行转发的质量和效率,在允许利用网卡节点中的硬件模块和软件模块进行报文转发处理时,本实施例中的方法还可以包括:
步骤S801:获取与待处理报文相对应的静荷数据。
其中,在用户存在数据访问需求时,则可以通过物理机或者虚拟机生成待处理报文,该待处理报文可以为RDMA报文,并且,此时所生成的待处理报文中仅包括静荷数据。具体的,物理机可以提供用于供用户输入执行操作的接口或者端口,通过接口或者端口可以获取到用户输入的执行操作,通过执行操作可以生成待处理报文,可以理解的是,在不同的应用场景中,所产生的待处理报文可以对应有不同的功能作用,例如:用于实现数据访问操作的待处理报文、用于实现控制操作的待处理报文、用于实现响应操作的待处理报文等等。
在物理机或者虚拟机生成待处理报文之后,可以将待处理报文发送至网卡节点,可以理解的是,网卡节点所能够获取到的待处理报文的数量可以为一个或多个;具体实现时,物理机或者虚拟机上配置有用于RDMA数据传输操作的驱动模块,通过驱动模块可以将待处理报文由物理机或者虚拟机发送至网卡节点,从而使得网卡节点可以获取到与待处理报文相对应的静荷数据。
步骤S802:利用硬件模块对静荷数据的报文头进行封装处理,获得处理后报文。
其中,网卡节点中可以包括硬件模块和软件模块,硬件模块用于实现报文的封装、解封装以及报文的快转操作;软件模块用于实现报文的正常转发操作、报文的状态管理操作,上述的硬件模块可以采用FPGA或者ASIC来实现,软件模块可以由CPU来实现。在网卡节点获取到静荷数据之后,为了能够使得该技术方案可以适用于overlay网络架构,可以利用网卡节点中的硬件模块对静荷数据的报文头进行封装处理,静荷数据的报文头可以包括:传输控制协议TCP头信息、因特网互联协议IP头信息和介质访问控制MAC头信息,从而可以获得完整的处理后报文,该处理后报文可以在overlay网络架构中进行传输。
步骤S803:检测处理后报文是否命中第一流表,其中,第一流表存储在硬件模块中。
其中,对于网卡节点而言,硬件模块中预先存储有用于实现流量快转操作的第一流表,软件模块中预先存储有用于实现流量转发操作的第二流表。在硬件模块获取到处理后报文之后,可以对处理后报文进行分析检测,以检测处理后报文是否命中第一流表。具体的,检测处理后报文是否命中第一流表可以包括:确定与处理后报文相对应的五元组信息(源IP地址、目的IP地址、协议号、源端口、目的端口)以及执行操作信息,基于五元组以及执行操作检测处理后报文是否命中第一流表;在第一流表中包括与处理后报文相对应的五元组以及执行操作时,则确定处理后报文命中第一流表;在第一流表中不包括与处理后报文相对应的五元组以及执行操作时,则确定处理后报文未命中第一流表。
步骤S804:在处理后报文命中第一流表时,则利用硬件模块和第一流表对处理后报文进行转发。
在处理后报文命中第一流表时,则说明此时硬件模块能够对处理后报文进行直接转发操作,进而可以直接利用硬件模块和第一流表对处理后报文进行转发操作,这样有利于提高对处理后报文进行转发操作的质量和效率。
步骤S805:在处理后报文没有命中第一流表时,则利用软件模块和第二流表对处理后报文进行转发,其中,第二流表存储在软件模块中。
在处理后报文未命中第一流表时,则说明此时硬件模块不能对处理后报文进行直接转发操作,进而可以利用网卡节点中的软件模块和软件模块中存储的第二流表对处理后报文进行转发操作,这样有效地实现了对处理后报文进行正常的转发操作。
在又一些实例中,为了提高该方法的实用性,在利用网卡节点中的软件模块和第二流表对处理后报文进行转发之后,本实施例中的方法还可以包括:获取与处理后报文相对应的目标第二流表;将目标第二流表发送至硬件模块,以作为第一流表。
具体的,在利用网卡节点中的软件模块和第二流表对处理后报文进行转发之后,由于此时的硬件模块中并不包括与处理后报文相对应的第一流表,为了能够提高对之后的待处理报文进行转发操作的质量和效率,软件模块可以获取与处理后报文相对应的目标第二流表,而后将目标第二流表发送至硬件模块,以作为第一流表,从而有效地实现了第一流表的不断更新操作。
举例来说,在某一区域中的网卡节点可以获取到用户A的待处理报文、用户B的待处理报文,此时,网卡节点中的软件模块中包括与上述用户A和用户B相对应的第二流表,硬件模块中包括与上述用户A和用户B相对应的第一流表;在网卡节点第一次接收到用户C的待处理报文时,此时网卡节点中的硬件模块并不包括用户C相对应的第一流表,因此,利用网卡节点中的软件模块对用户C的待处理报文进行转发处理;在处理完毕之后,则可以获取与用户C的待处理报文相对应的目标第二流表,而后将目标第二流表发送至硬件模块,以作为第一流表,此时,硬件模块中所包括的第一流表包括:与用户A相对应的第一流表、与用户B相对应的第一流表和与用户C相对应的快转流程。
这样,之后在获取到用户C所对应的待处理报文时,可以直接利用网卡节点中的硬件模块对待处理报文进行转发处理,有利于提高报文转发操作的质量和效率,减少报文转发延时。
本实施例中,通过获取与待处理报文相对应的静荷数据,利用网卡节点中的硬件模块对静荷数据的报文头进行封装处理,获得处理后报文,之后检测处理后报文是否命中第一流表,在处理后报文命中第一流表时,则利用硬件模块和第一流表对处理后报文进行转发;在处理后报文没有命中第一流表时,则利用网卡节点中的软件模块和第二流表对处理后报文进行转发,有效地实现了采用软硬件结合的方式进行报文的处理操作,具体硬件部分可以负责报文的封装/解封装处理、报文的快转操作;软件部分负责报文的正常转发操作,专注于状态管理,进而实现了网络性能和灵活性的平衡,有利于减少对带宽和处理器开销的需求,显著降低了时延;另外,能够基于overlay网络架构实现对RDMA技术的应用,进而屏蔽物理网络实现细节,所以没有物理网络范围的限制,没有同子网通信限制;此外,该技术方案可以复用正常的VPC网络流量的虚拟交换机处理逻辑,如安全组等,进一步提高了该热迁移方法的实用性。
具体应用时,本应用实施例提供了一种基于远程直接数据存储RDMA的热迁移方法,该热迁移方法能够有效地解决RDMA网络中用户对热迁移操作无感知的问题,有利于报文处理技术的发展。为了便于理解,参考附图9所示,以初始状态为:虚拟机VM1在物理机HOST1上运行,HOST1中包括虚拟交换机vswitch,虚拟机VM2在物理机HOST2上运行,HOST2中包括虚拟交换机vswitch;VM1和VM2通过RDMA进行数据通信,现在需要将VM1热迁移到物理机HOST3上,HOST3中包括虚拟交换机vswitch。此时,热迁移方法可以包括以下步骤:
步骤1:获取热迁移请求,该热迁移请求包括待迁移的VM1,VM1所在的源端为HOST1,VM1所对应的目的端为HOST3。
其中,为了能够保证热迁移操作的稳定进行,在热迁移开始之后,可以将RDMA流量转发操作由网卡节点中的硬件部分切换到网卡节点中的软件部分。
步骤2:基于热迁移请求对VM1中的内存进行迭代拷贝,以在HOST3中实现RDMA设备的创建操作。
参考附图10所示,在HOST1和HOST3上分别启动热迁移程序,HOST3上按照同样配置启动VM1,但是,将HOST3中的VM1状态配置为暂停状态,并创建对应的RDMA设备。然后,HOST1将VM1的内存不断的迭代拷贝到HOST3上的VM1。同时,将HOST1中虚拟交换机vswitch中的RDMA 连接信息表中与VM1相关的信息同步到目的HOST3的虚拟交换机vswitch中。
步骤3:RDMA流量的中继阶段。
参考附图11所示,当VM1将内存全部同步到HOST3上后,将HOST1上的VM1停止,将HOST3上的VM1启动,但此时由于位于HOST2上的vswitch位置信息表还没有更新,记录的信息还是VM1在HOST1上,所以HOST2发送至VM1上的RDMA流量还是可能发送到HOST1。
在将RDMA流量发送至HOST1上之后,为了能够让HOST2通过HOST1上的vswitch知道VM1迁移到了HOST3,所以就在HOST1的位置信息表中配置一个中继路由,该中继路由用于标识用于标识当前物理机与目标物理机之间的映射关系,即通过中继路由可以使得其他访问节点获知到vm1的源端已经由HOST1更改为HOST3,因此,在HOST1获取到针对vm1所对应的流量时,通过中继路由可以将流量中继给HOST3进行处理,从而实现了在热迁移过程中RDMA流量不中断。具体的,中继路由的格式如下表1所示,中继路由包括:vm ip、host ip和version字段,每当vm ip对应的host ip发生变化时,version就会加1;并且,由于中继路由位于变化之前的当前host上,因此,中继路由可以标识变化之前的当前物理机与变化之后的目标物理机之间的映射关系。
Figure 460751DEST_PATH_IMAGE002
表1
另外,为了能够实现对VM1所对应的报文进行稳定地迁移操作,在获取到VM1中的RDMA报文时,该VM1中的RDMA报文可以是由物理机或者虚拟机发送出来的,在网卡节点获取到RDMA报文时,网卡节点中的硬件部分获取到RDMA报文,检测RDMA报文是否命中硬件部分的第一流表,若RDMA报文命中第一流表,则可以直接利用硬件部分和第一流表对RDMA报文进行转发操作;若RDMA报文未命中第一流表,则将RDMA报文上送到CPU的软件vswitch进行处理。
在软件vswitch获取到RDMA报文之后,可以利用第二流表对RDMA报文进行转发处理,在对RDMA报文进行转发处理之后,可以将RDMA报文所对应的第二流表发送至硬件部分上,以作为第一流表,以实现后续报文如果命中第一流表,则可以直接利用硬件部分上的第一流表进行转发操作。
在利用第二流表对RDMA报文进行转发处理时,参考附图12所示,可以先利用第二流表对RDMA报文的报文头进行封装处理,具体的,可以对传输控制协议TCP头信息、因特网互联协议IP头信息和介质访问控制MAC头信息进行封装处理,从而可以获得第一报文。而后确定软件模块中所包括的位置信息表,位置信息表中包括:与待转发报文相对应的目的节点以及目的节点所在物理机之间的IP对应关系;在获取到位置信息表之后,可以利用位置信息表对第一报文相对应的Vxlan头信息、外侧的用户数据报协议UDP头信息、IP头信息以及MAC头信息,获得第二报文,该第二报文中可以包括:静荷数据、MPA信息、DDP信息、通过位置信息表进行封装后的MAC信息、IP信息、UDP信息和VXLAN信息、通过第二流表进行封装后的MAC信息、IP信息和TCP信息;而后可以对第二报文进行转发处理,从而有效地实现了对RDMA报文进行正常的处理操作。
步骤4:所有HOST位置信息配置更新完成,迁移阶段结束。
参考附图13所示,等全局所有HOST的vswtich位置信息表都将VM1的映射信息由“VM1-HOST1”更新为“VM1-HOST3”之后,HOST1可以将vswitch中的中继路由删除,具体的,删除中继路由的具体实现方式可以通过定时器完成。举例来说,全局所有HOST的vswtich 位置信息表更新需要1分钟,则HOST1会设置一个大于1分钟(2分钟、3分钟或者5分钟等等)的定时器进行中继路由删除。之后待所有热迁移流程结束之后,HOST3上的VM1和HOST2上的VM2继续通信,在进行热迁移操作的全程,VM1和VM2无感知。
本应用实施例提供的技术方案,通过将overlay RDMA报文的转发处理流程分为内层报文封装和外层vxlan报文封装两部分进行,内层报文封装通过RDMA的连接信息表获取信息,这样在热迁移过程中,通过源端、目的端之间的HOST RDMA连接信息表,将位于HOST1中的VM迁移到目的端后,RDMA报文的链接不丢失,对源端vswitch引入中继路由,有效地实现了其他VM对热迁移VM的RDMA访问不中断,保证了整个overlay RDMA VM的迁移过程中流量不中断,用户无感知,进一步提高了该方法使用的稳定可靠性,提升了用户的良好体验性。
图14为本发明实施例提供的一种基于远程直接数据存储的热迁移装置的结构示意图;参考附图14所示,本实施例提供了一种基于远程直接数据存储RDMA的热迁移装置,该热迁移装置可以实现上述图3所示的基于远程直接数据存储的热迁移方法,具体的,该热迁移装置可以包括:
第一获取模块11,用于获取热迁移请求,热迁移请求中包括:待迁移虚拟机;
第一生成模块12,用于基于热迁移请求,生成与待迁移虚拟机相对应的中继路由;
第一处理模块13,用于基于中继路由进行待迁移虚拟机的热迁移操作。
在一些实例中,在第一生成模块12基于热迁移请求,生成与待迁移虚拟机相对应的中继路由时,该第一生成模块12用于执行:基于热迁移请求,确定与待迁移虚拟机相对应的当前物理机和目标物理机;在当前物理机中生成与待迁移虚拟机相对应的中继路由,中继路由用于标识当前物理机与目标物理机之间的映射关系。
在一些实例中,在第一处理模块13基于中继路由进行待迁移虚拟机的热迁移操作时,该第一处理模块13用于执行:基于热迁移请求确定利用网卡节点中的软件模块进行RDMA报文的转发操作;基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中。
在一些实例中,在第一处理模块13基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中时,该第一处理模块13用于执行:在目标物理机中,创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机;基于软件模块和中继路由,确定当前物理机中包括的与待迁移虚拟机相对应的连接信息,并将连接信息同步至目标物理机中。
在一些实例中,在第一处理模块13在目标物理机中,创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机时,该第一处理模块13用于执行:在当前物理机中,确定与待迁移虚拟机相对应的内存信息;将内存信息迭代拷贝至目标物理机中,生成与待迁移虚拟机相对应的迁移后虚拟机。
在一些实例中,在创建与当前物理机中待迁移虚拟机相对应的迁移后虚拟机之后,本实施例中的第一处理模块13用于执行:将位于当前物理机中的待迁移虚拟机暂停,并启动位于目标物理机中的迁移后虚拟机。
在一些实例中,在第一处理模块13基于软件模块和中继路由,将待迁移虚拟机由当前物理机迁移至目标物理机中时,该第一处理模块13用于执行:基于热迁移请求获取与待迁移虚拟机相对应的待转发报文,待转发报文包括:静荷数据和RDMA头信息;基于当前物理机中的软件模块和中继路由,将待转发报文发送至目标物理机;利用目标物理机中的软件模块对待转发报文进行转发处理。
在一些实例中,在第一处理模块13利用目标物理机中的软件模块对待转发报文进行转发处理时,该第一处理模块13用于执行:利用软件模块中的第二流表对待转发报文的报文头进行封装处理,获得第一报文;确定软件模块中所包括的位置信息表,位置信息表中包括:与待转发报文相对应的目的节点以及目的节点所在物理机之间的IP对应关系;利用位置信息表对第一报文进行Vxlan封装,获得第二报文;对第二报文进行转发处理。
在一些实例中,待转发报文的报文头包括:传输控制协议TCP头信息、因特网互联协议IP头信息和介质访问控制MAC头信息。
在一些实例中,在第一处理模块13利用位置信息表对第一报文进行Vxlan封装,获得第二报文时,该第一处理模块13用于执行:获取第一报文相对应的Vxlan头信息、外侧的用户数据报协议UDP头信息、IP头信息以及MAC头信息;利用位置信息表对Vxlan头信息、用户数据报协议UDP头信息、IP头信息以及MAC头信息进行封装,获得第二报文。
在一些实例中,在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,本实施例中的第一处理模块13可以用于执行:检测当前物理机中与待迁移虚拟机相对应的待转发报文是否转发完毕;在将待迁移虚拟机相对应的待转发报文转发完毕时,将中继路由删除。
在一些实例中,在基于热迁移请求获取与待迁移虚拟机相对应的待转发报文之后,本实施例中的第一获取模块11和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取用于对待转发报文进行迁移操作的处理时间;
第一处理模块13,用于在处理时间大于或等于预设时间阈值时,将中继路由删除。
在一些实例中,在将中继路由删除之后,本实施例中的第一处理模块13用于:允许利用网卡节点中的硬件模块和软件模块进行报文转发处理。
在一些实例中,本实施例中的第一获取模块11和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取与待处理报文相对应的静荷数据;
第一处理模块13,用于利用硬件模块对静荷数据的报文头进行封装处理,获得处理后报文;检测处理后报文是否命中第一流表,其中,第一流表存储在硬件模块中;在处理后报文命中第一流表时,则利用硬件模块和第一流表对处理后报文进行转发;在处理后报文没有命中第一流表时,则利用软件模块和第二流表对处理后报文进行转发,其中,第二流表存储在软件模块中。
图14所示装置可以执行图2-图13所示实施例的方法,本实施例未详细描述的部分,可参考对图2-图13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2-图13所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图14所示基于远程直接数据存储的热迁移装置的结构可实现为一电子设备,该电子设备可以是网卡设备、服务器等各种设备。如图15所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图2-图13所示实施例中提供的基于远程直接数据存储的热迁移方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取热迁移请求,热迁移请求中包括:待迁移虚拟机;
基于热迁移请求,生成与待迁移虚拟机相对应的中继路由;
基于中继路由进行待迁移虚拟机的热迁移操作。
进一步的,第一处理器21还用于执行前述图2-图13所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图2-图13所示方法实施例中基于远程直接数据存储的热迁移方法所涉及的程序。
图16为本发明实施例提供的一种基于远程直接数据存储的热迁移装置的结构示意图,参考附图16所示,本实施例提供了一种基于远程直接数据存储的热迁移装置,该热迁移装置用于执行上述图2所示方法实施例中基于远程直接数据存储的热迁移方法,具体的,该热迁移装置可以包括:
物理机31,用于生成热迁移请求,热迁移请求中包括待迁移虚拟机,并将热迁移请求发送至网卡32;
网卡32,用于获取热迁移请求,基于热迁移请求,生成与待迁移虚拟机相对应的中继路由;并基于中继路由进行待迁移虚拟机的热迁移操作。
其中,网卡32可以软件模块和硬件模块,软件模块中可以包括负责正常的VPC网络流量转发操作的虚拟交换机vswitch;具体的,软件模块可以获取报文的五元组特征,通过五元组特征查询路由表、ACL表等各种转发表,获得查询结果,而后基于查询结果和五元组特征生成第二流表。硬件模块可以采用现场可编程逻辑门阵列(Field Programmable GateArray,简称FPGA)或者专用集成电路(Application Specific Integrated Circuit,简称ASIC),该硬件模块可以卸载由软件vswitch下发的第二流表。
图16所示网卡可以执行图2-图13所示实施例的方法,本实施例未详细描述的部分,可参考对图2-图13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2-图13所示实施例中的描述,在此不再赘述。
此外,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述图2-图13所示方法实施例中基于远程直接数据存储的热迁移方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种基于远程直接数据存储的热迁移方法,其特征在于,包括:
获取热迁移请求,所述热迁移请求中包括:待迁移虚拟机;
基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;
基于所述中继路由进行所述待迁移虚拟机的热迁移操作。
2.根据权利要求1所述的方法,其特征在于,基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由,包括:
基于所述热迁移请求,确定与所述待迁移虚拟机相对应的当前物理机和目标物理机;
在所述当前物理机中生成与所述待迁移虚拟机相对应的中继路由,所述中继路由用于标识所述当前物理机与所述目标物理机之间的映射关系。
3.根据权利要求2所述的方法,其特征在于,基于所述中继路由进行所述待迁移虚拟机的热迁移操作,包括:
基于所述热迁移请求确定利用网卡节点中的软件模块进行RDMA报文的转发操作;
基于所述软件模块和中继路由,将所述待迁移虚拟机由当前物理机迁移至目标物理机中。
4.根据权利要求3所述的方法,其特征在于,基于所述软件模块和中继路由,将所述待迁移虚拟机由当前物理机迁移至目标物理机中,包括:
在所述目标物理机中,创建与所述当前物理机中待迁移虚拟机相对应的迁移后虚拟机;
基于所述软件模块和中继路由,确定所述当前物理机中包括的与所述待迁移虚拟机相对应的连接信息,并将所述连接信息同步至所述目标物理机中。
5.根据权利要求4所述的方法,其特征在于,在所述目标物理机中,创建与所述当前物理机中待迁移虚拟机相对应的迁移后虚拟机,包括:
在所述当前物理机中,确定与所述待迁移虚拟机相对应的内存信息;
将所述内存信息迭代拷贝至所述目标物理机中,生成与所述待迁移虚拟机相对应的迁移后虚拟机。
6.根据权利要求4所述的方法,其特征在于,在创建与所述当前物理机中待迁移虚拟机相对应的迁移后虚拟机之后,所述方法还包括:
将位于当前物理机中的待迁移虚拟机暂停,并启动位于所述目标物理机中的迁移后虚拟机。
7.根据权利要求3所述的方法,其特征在于,基于所述软件模块和中继路由,将所述待迁移虚拟机由当前物理机迁移至目标物理机中,包括:
基于所述热迁移请求获取与所述待迁移虚拟机相对应的待转发报文,所述待转发报文包括:静荷数据和RDMA头信息;
基于所述当前物理机中的软件模块和所述中继路由,将所述待转发报文发送至目标物理机;
利用所述目标物理机中的软件模块对所述待转发报文进行转发处理。
8.根据权利要求7所述的方法,其特征在于,利用所述目标物理机中的软件模块对所述待转发报文进行转发处理,包括:
利用所述软件模块中的第二流表对所述待转发报文的报文头进行封装处理,获得第一报文;
确定所述软件模块中所包括的位置信息表,所述位置信息表中包括:与所述待转发报文相对应的目的节点以及目的节点所在物理机之间的IP对应关系;
利用所述位置信息表对所述第一报文进行Vxlan封装,获得第二报文;
对所述第二报文进行转发处理。
9.根据权利要求8所述的方法,其特征在于,利用所述位置信息表对所述第一报文进行Vxlan封装,获得第二报文,包括:
获取所述第一报文相对应的Vxlan头信息、外侧的用户数据报协议UDP头信息、IP头信息以及MAC头信息;
利用所述位置信息表对所述Vxlan头信息、用户数据报协议UDP头信息、IP头信息以及MAC头信息进行封装,获得第二报文。
10.根据权利要求7所述的方法,其特征在于,在基于所述热迁移请求获取与所述待迁移虚拟机相对应的待转发报文之后,所述方法还包括:
检测所述当前物理机中与待迁移虚拟机相对应的待转发报文是否转发完毕;
在将所述待迁移虚拟机相对应的待转发报文转发完毕时,将所述中继路由删除。
11.根据权利要求7所述的方法,其特征在于,在基于所述热迁移请求获取与所述待迁移虚拟机相对应的待转发报文之后,所述方法还包括:
获取用于对所述待转发报文进行迁移操作的处理时间;
在所述处理时间大于或等于预设时间阈值时,将所述中继路由删除。
12.根据权利要求10或11所述的方法,其特征在于,在将所述中继路由删除之后,所述方法还包括:
允许利用所述网卡节点中的硬件模块和软件模块进行报文转发处理。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
获取与待处理报文相对应的静荷数据;
利用所述硬件模块对所述静荷数据的报文头进行封装处理,获得处理后报文;
检测所述处理后报文是否命中第一流表,其中,所述第一流表存储在所述硬件模块中;
在所述处理后报文命中第一流表时,则利用所述硬件模块和所述第一流表对所述处理后报文进行转发;
在所述处理后报文没有命中所述第一流表时,则利用所述软件模块和第二流表对所述处理后报文进行转发,其中,所述第二流表存储在所述软件模块中。
14.一种基于远程直接数据存储的热迁移装置,其特征在于,包括:
物理机,用于生成热迁移请求,所述热迁移请求中包括待迁移虚拟机,并将所述热迁移请求发送至网卡;
网卡,用于获取热迁移请求,基于所述热迁移请求,生成与所述待迁移虚拟机相对应的中继路由;并基于所述中继路由进行所述待迁移虚拟机的热迁移操作。
15.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-13中任意一项所述的基于远程直接数据存储的热迁移方法。
16.一种计算机存储介质,其特征在于,用于储存计算机程序,所述计算机程序使计算机执行时实现如权利要求1-13中任意一项所述的基于远程直接数据存储的热迁移方法。
CN202110880048.6A 2021-08-02 2021-08-02 基于远程直接数据存储的热迁移方法、装置及设备 Active CN113326101B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110880048.6A CN113326101B (zh) 2021-08-02 2021-08-02 基于远程直接数据存储的热迁移方法、装置及设备
PCT/CN2022/107930 WO2023011254A1 (zh) 2021-08-02 2022-07-26 基于远程直接数据存储的热迁移方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110880048.6A CN113326101B (zh) 2021-08-02 2021-08-02 基于远程直接数据存储的热迁移方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113326101A true CN113326101A (zh) 2021-08-31
CN113326101B CN113326101B (zh) 2022-04-12

Family

ID=77426730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110880048.6A Active CN113326101B (zh) 2021-08-02 2021-08-02 基于远程直接数据存储的热迁移方法、装置及设备

Country Status (2)

Country Link
CN (1) CN113326101B (zh)
WO (1) WO2023011254A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726909A (zh) * 2022-03-15 2022-07-08 阿里云计算有限公司 云服务迁移信息处理方法、装置、设备、介质及产品
CN115150328A (zh) * 2022-09-07 2022-10-04 珠海星云智联科技有限公司 一种流表硬件卸载方法、设备及介质
WO2023011254A1 (zh) * 2021-08-02 2023-02-09 阿里云计算有限公司 基于远程直接数据存储的热迁移方法、装置及设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700899B (zh) * 2023-06-14 2023-11-14 北京志凌海纳科技有限公司 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和系统
CN116541135A (zh) * 2023-07-06 2023-08-04 无锡沐创集成电路设计有限公司 一种加速rdma设备热迁移的方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888417A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统迁移的网络切换方法与系统
CN104660505A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 控制路由信息生成的方法、路由信息生成的方法及其装置
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104796338A (zh) * 2015-04-24 2015-07-22 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN108768895A (zh) * 2018-05-18 2018-11-06 华为技术有限公司 一种虚拟机迁移的方法及数据中心
CN109918172A (zh) * 2019-02-26 2019-06-21 烽火通信科技股份有限公司 一种虚拟机热迁移方法及系统
US10452580B2 (en) * 2013-03-26 2019-10-22 Vmware, Inc. Method and system for providing remote direct memory access to virtual machines
CN111988223A (zh) * 2020-08-19 2020-11-24 杭州迪普科技股份有限公司 虚拟机迁移方法与网络系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228959B1 (en) * 2011-06-02 2019-03-12 Google Llc Virtual network for virtual machine communication and migration
US9311122B2 (en) * 2012-03-26 2016-04-12 Oracle International Corporation System and method for providing a scalable signaling mechanism for virtual machine migration in a middleware machine environment
CN103942087B (zh) * 2014-03-31 2017-11-17 华为技术有限公司 虚拟机热迁移方法及相关装置和集群系统
CN112243046B (zh) * 2019-07-19 2021-12-14 华为技术有限公司 通信方法和网卡
CN113326101B (zh) * 2021-08-02 2022-04-12 阿里云计算有限公司 基于远程直接数据存储的热迁移方法、装置及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888417A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统迁移的网络切换方法与系统
US10452580B2 (en) * 2013-03-26 2019-10-22 Vmware, Inc. Method and system for providing remote direct memory access to virtual machines
CN104660505A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 控制路由信息生成的方法、路由信息生成的方法及其装置
CN104796338A (zh) * 2015-04-24 2015-07-22 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN108768895A (zh) * 2018-05-18 2018-11-06 华为技术有限公司 一种虚拟机迁移的方法及数据中心
CN109918172A (zh) * 2019-02-26 2019-06-21 烽火通信科技股份有限公司 一种虚拟机热迁移方法及系统
CN111988223A (zh) * 2020-08-19 2020-11-24 杭州迪普科技股份有限公司 虚拟机迁移方法与网络系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011254A1 (zh) * 2021-08-02 2023-02-09 阿里云计算有限公司 基于远程直接数据存储的热迁移方法、装置及设备
CN114726909A (zh) * 2022-03-15 2022-07-08 阿里云计算有限公司 云服务迁移信息处理方法、装置、设备、介质及产品
CN115150328A (zh) * 2022-09-07 2022-10-04 珠海星云智联科技有限公司 一种流表硬件卸载方法、设备及介质

Also Published As

Publication number Publication date
WO2023011254A1 (zh) 2023-02-09
CN113326101B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN113326101B (zh) 基于远程直接数据存储的热迁移方法、装置及设备
CN112470436B (zh) 用于提供多云连通性的系统、方法、以及计算机可读介质
US10700979B2 (en) Load balancing for a virtual networking system
CN107566441B (zh) 用于虚拟机与云服务计算设备之间的快速路由传输的方法及系统
US10887276B1 (en) DNS-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
CN110753072B (zh) 负载均衡系统、方法、装置及设备
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US9880870B1 (en) Live migration of virtual machines using packet duplication
US10257152B2 (en) Suppressing ARP broadcasting in a hypervisor
US11394662B2 (en) Availability groups of cloud provider edge locations
JP2019517168A (ja) 物理ネットワークと仮想ネットワークの間の相互接続
CN107317832B (zh) 报文转发方法及装置
CN101924693A (zh) 用于在虚拟机间迁移进程的方法和系统
US10230795B2 (en) Data replication for a virtual networking system
CN112583618B (zh) 为业务提供网络服务的方法、装置和计算设备
CN111913782A (zh) 一种基于隧道技术实现虚拟机流量镜像的方法与设备
US10153918B2 (en) Joining an application cluster
WO2019085975A1 (zh) 一种网络拓扑显示方法及网络管理设备
US20210281443A1 (en) Systems and methods for preserving system contextual information in an encapsulated packet
CN106685860B (zh) 网络虚拟化方法及设备
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
WO2018107433A1 (zh) 信息处理方法和装置
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN108810183B (zh) 冲突mac地址的处理方法、装置和机器可读存储介质

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhang Jianfeng

Inventor after: Lv Yilong

Inventor before: Lv Yilong