CN115037627A - 网络配置信息处理方法、sdn控制器、系统及存储介质 - Google Patents
网络配置信息处理方法、sdn控制器、系统及存储介质 Download PDFInfo
- Publication number
- CN115037627A CN115037627A CN202210476299.2A CN202210476299A CN115037627A CN 115037627 A CN115037627 A CN 115037627A CN 202210476299 A CN202210476299 A CN 202210476299A CN 115037627 A CN115037627 A CN 115037627A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- physical machine
- configuration information
- machine
- network configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 16
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000013508 migration Methods 0.000 claims abstract description 416
- 230000005012 migration Effects 0.000 claims abstract description 389
- 238000012217 deletion Methods 0.000 claims abstract description 169
- 230000037430 deletion Effects 0.000 claims abstract description 169
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 230000001934 delay Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 17
- 230000003111 delayed effect Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种网络配置信息处理方法、SDN控制器、系统及存储介质。在本申请实施例中,针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,在虚拟机热迁移过程中和虚拟机热迁移完成后的一定时间内,可降低访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络配置信息处理方法、SDN控制器、系统及存储介质。
背景技术
虚拟机(Virtual Machine,VM)热迁移是指运行状态中的虚拟机从一台物理机迁移至另一物理机,也可称为虚拟机动态迁移或实时迁移。虚拟机热迁移可完整保持虚拟机的运行状态,快速恢复到原运行状态,用户无感知。
虚拟机热迁移的核心是保证热迁移过程中虚拟机提供的服务或应用不受损。因此,虚拟机热迁移在网络层面来说,需要告知网络上的其他节点虚拟机所在的物理机IP发生了变化。然而,现有技术中,在虚拟机热迁移之后,往往会出现报文丢失,给应用或服务产生不良影响。
发明内容
本申请的多个方面提供一种网络配置信息处理方法、SDN控制器、系统及存储介质,用以再虚拟机热迁移过程中及虚拟机热迁移完成之后一段时间内,降低报文被丢弃的概率。
本申请实施例提供一种网络配置信息处理方法,适应于SDN控制器,包括:
接收虚拟机管控节点提供的第一虚拟机从第一原物理机迁移到第一目的物理机的热迁移消息;
响应于所述热迁移消息,将第一虚拟机与第一目的物理机的对应关系提供给网络系统中的网关,以供网络系统中的物理机从所述网关获取所述第一虚拟机与第一目的物理机的对应关系;
延迟向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机延迟删除所述第一虚拟机的网络配置信息;
在满足所述配置信息删除指令的下发条件的情况下,向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机删除针对所述第一虚拟机的网络配置信息。
本申请实施例还提供一种网络系统,包括:虚拟机管控节点、SDN控制器、网关及多台物理机;所述多台物理机中至少一台物理机部署有虚拟机;所述SDN控制器与所述多台物理机通过所述网关通信;
所述虚拟机管控节点,用于将所述至少一台物理机中的第一原物理机上的第一虚拟机,热迁移至第一目的物理机;所述第一目的物理机为所述多台物理机中除所述第一原物理机之外的其它物理机;并向所述SDN控制器提供第一虚拟机从第一原物理机迁移到第一目的物理机的热迁移消息;
所述SDN控制器,用于响应于所述热迁移消息,将第一虚拟机与第一目的物理机的对应关系提供给网络系统中的网关,以使所述多台物理机用于从所述网关获取所述第一虚拟机与第一目的物理机的对应关系;
所述SDN控制器,还用于延迟向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机延迟删除针对所述第一虚拟机的网络配置信息;在满足所述配置信息删除指令的下发条件的情况下,向所述第一原物理机下发配置信息删除指令;
所述第一原物理机,用于根据所述配置信息删除指令,删除针对所述第一虚拟机的网络配置信息。
本申请实施例还提供一种SDN控制器,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器和所述通信组件,用于执行所述计算机程序以用于执行上述网络配置信息处理方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述网络配置信息处理方法中的步骤。
在本申请实施例中,针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,在虚拟机热迁移过程中和虚拟机热迁移完成后的一定时间内,可降低访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的网络系统的结构示意图;
图2和图3为本申请实施例提供的网络系统进行网络配置信息处理的过程示意图;
图4为热迁移虚拟机回迁导致虚拟机误删除的过程示意图;
图5和图6为本申请实施例提供的解决热迁移虚拟机回迁导致虚拟机误删除问题的过程示意图;
图7为本申请实施例提供的网络配置信息处理方法的流程示意图;
图8为本申请实施例提供的SDN控制器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术所述,采用现有技术中的热迁移方式,在虚拟机热迁移之后,往往会出现报文丢失的情况,发明人研究发现,出现丢包的根本原因在于,网络中其它节点刷新虚拟机所在的物理机IP的时间与热迁移的时间存在时延,导致在热迁移过程中及热迁移完成后的一定时间内,网络中有些节点还认为热迁移的虚拟机仍然部署在原物理机上,则这些节点会继续将访问热迁移的虚拟机的报文发送给原物理机,而此时原物理机已不能处理接受到的报文了,从而导致报文被丢弃,造成服务或应用受损。
针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,在虚拟机热迁移过程中和虚拟机热迁移完成后的一定时间内,可降低访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1为本申请实施例提供的网络系统的结构示意图。如图1所示,该网络系统包括:虚拟机管控节点10、软件定义网络(Software Defined Network,SDN)控制器20、网关30及多台物理机(NC)40。在本申请实施例中,多台是指2台或2台以上。在本实施例中,多台物理机40中至少一台物理机部署有虚拟机(VM)50。图1中仅以物理机(NC1-NC3)部署有VM进行图示,但不构成限定。SDN控制器20与多台物理机40通过网关30通信。
在本实施例中,虚拟机管控节点10主要是指可以进行虚拟机管理,可响应用户的服务请求,为用户提供与虚拟机资源管理相关的服务的计算机设备,一般具备承担服务并保障服务的能力。虚拟机管控节点10可实现为服务端设备。服务端设备可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(VirtualMachine,VM)。另外,虚拟机管控节点10也可以指具备相应服务能力的其他计算设备,例如电脑等终端设备(运行服务程序)等。
SDN控制器20是SDN中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于通信协议(如OpenFlow等)的,允许服务器告诉交换机向哪里发送数据包。在本申请实施例中,SDN控制器20可对虚拟机50进行网络配置信息管理,主要用于配置、删除或更新虚拟机的网络配置信息。SDN控制器20可部署于服务端设备。服务端设备的实现形态可参见上述相关内容,在此不再赘述。SDN控制器20可根据网络形式自主设置。在一些实施例中,网络可为私有云(Virtual Private Cloud,VPC)网络,相应地,SDN控制器20可实现为VPC控制器。
在本申请实施例中,虚拟机管控节点10可对虚拟机50进行管理,负责虚拟机50的热迁移。例如,虚拟机管控节点10可确定需要热迁移的虚拟机(以下简称热迁移虚拟机);并从多台物理机中为热迁移虚拟机选择待迁移到的目的物理机。之后,虚拟机管控节点10可控制热迁移虚拟机从原物理机迁移至目的物理机。具体地,虚拟机管控节点10可调用虚拟化接口,控制热迁移虚拟机从原物理机迁移到目标物理机。图1中热迁移虚拟机为VM2;原物理节点为NC1;目的物理节点为NC4。
在本申请实施例中,虚拟机管控节点10在控制热迁移虚拟机VM2从原物理机NC1热迁移至目的物理机NC4之后,可向SDN控制器20提供热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4的热迁移消息。其中,热迁移消息可包括:热迁移虚拟机的标识、原物理机的标识及目的物理机的标识。
可选地,虚拟机管控节点10可通过与物理机的通信接口监测热迁移事件,并在监测到热迁移事件发生的情况下,将热迁移消息发送给SDN控制器20。
SDN控制器20可响应于该热迁移消息,将热迁移虚拟机VM2与目的物理机NC4的对应关系(图1中表示为VM2:NC4)提供给网关30。可选地,SDN控制器20可从热迁移消息中,获取热迁移虚拟机的标识、原物理机的标识及目的物理机的标识;并建立热迁移虚拟机VM2与目的物理机NC4的对应关系(VM2:NC4);并将该对应关系下发给网关30。可选地,SDN控制器20可通过远程API将热迁移虚拟机VM2与目的物理机NC4的对应关系下发给网关30。其中,SDN控制器20将热迁移虚拟机VM2与目的物理机NC4的对应关系下发给网关30完成迅速,可达到秒量级。
对于物理机40来说,需要通过查询网关30来获取虚拟机与物理机之间的对应关系(VM:NC),之后,刷新存储的虚拟机与物理机之间的对应关系。可选地,物理机40可按照设定的查询周期,周期性地向网关30请求虚拟机与物理机之间的对应关系;并在查询到虚拟机与物理机之间的对应关系发生变化时,刷新存储的虚拟机与物理机之间的对应关系。物理机40刷新虚拟机与物理机之间的对应关系的速度较慢,存在一定的延迟,且刷新速度随着物理机40上的虚拟机数量增加而降低。因此,导致物理机刷新虚拟机与物理机之间的对应关系不及时,进而导致访问热迁移虚拟机的报文继续发送给原物理机。但是虚拟机已热迁移至目的物理机,从而导致报文丢包。
为了解决上述问题,在一些方案中,可提高物理机40向网关30发送请求刷新虚拟机与物理机之间的对应关系的缓存的频率。但是,提高刷新频率是有上限的,且提高刷新频率会导致物理机上的虚拟化网络代理(agent)占用物理机的CPU率过高。虚拟化网络代理主要用于实现物理机中虚拟网络与物理接口之间的通信。当同一台物理机上的虚拟机数目较多时,为了保证网关30的性能,需要对物理机40向网关30发送的刷新虚拟机与物理机的对应关系的请求进行限速,否则会导致网关30出现流量拥塞,甚至导致网关30崩溃。但是,对物理机40向网关30发送的刷新虚拟机与物理机的对应关系的请求进行限速,会导致物理机40刷新虚拟机与物理机的对应关系的延迟时间变长,使得访问热迁移虚拟机的报文丢包的概率更高。
在另一些方案中,SDN控制器20还可响应于热迁移消息,指示原物理机NC1删除热迁移虚拟机的网络配置信息。在本申请实施例中,网络配置信息是指虚拟机进行网络通信所需的网络信息,可包括:虚拟机的MAC地址、IP地址、网络ACL及虚拟机ID信息等等。当原物理机收到SDN控制器20要删除虚拟机的消息时,可向SDN控制器20的时候返回删除失败消息。原物理机可为待删除的热迁移虚拟机设置一个计时器,等计时器超过设定的延迟时长时,再删除虚拟机的网络配置信息,进而删除热迁移虚拟机。原物理机在删除热迁移的虚拟机之后,再给SDN控制器20返回虚拟机删除成功消息。该方案中,在用户看来,虚拟机热迁移的时间变长了。而且,随着虚拟机的网卡(Vport)数目的增加,需要删除的网络配置信息的量增加,实际删除热迁移虚拟机的延迟时间也会线性增加,用户体感很差。
在又一些实施例中,原物理机收到SDN控制器20要删除VM的消息或指令时,给SDN控制器20返回虚拟机删除成功消息。原物理机可为待删除的热迁移虚拟机设置一个计时器,等计时器超过设定的延迟时长时,再删除虚拟机的网络配置信息,进而删除热迁移虚拟机。在本申请实施例中,SDN控制器20在接收到原物理机返回的虚拟机删除成功消息时,可向虚拟机管控节点10发送虚拟机删除成功消息。但是这样带来的问题是,SDN控制器20认为原物理机已成功删除热迁移虚拟机,可能会在计时器未达到延长时长的时间内向原物理机下发创建与热迁移虚拟机具有相同参数的虚拟机创建任务。但是,由于原物理机上的热迁移虚拟机并未真正删除,导致原物理机创建虚拟机失败,这对于用户来说是无法理解的。
针对上述虚拟机热迁移过程中网络配置信息处理方法存在的技术问题,在本申请一些实施例中,由SDN控制器20进行热迁移虚拟机的网络配置信息的延迟删除控制,并由虚拟机管控节点10对原物理机进行转发(relay)配置。下面对本申请实施例提供的虚拟机热迁移过程中对热迁移虚拟机的网络配置信息处理方式进行示例性说明。
如图2和图3所示,对于SDN控制器20可延迟向原物理机NC1下发配置信息删除指令,以使原物理机NC1延迟删除针对热迁移虚拟机VM2的网络配置信息。其中,配置信息删除指令是用于指示原物理机NC1删除热迁移虚拟机VM2的网络配置信息的指令。可选地,SDN控制器20在接收到热迁移消息时,可向虚拟机管控节点10返回虚拟机删除成功消息。这样,虚拟机管控节点10可向用户返回虚拟机删除成功消息。对于用户来说,对原物理机NC1上虚拟机的延迟删除无感知,不会增加用户感知到虚拟机热迁移的整体时长。
具体地,SDN控制器20在延迟向原物理机NC1下发配置信息删除指令时,可基于热迁移消息,生成删除任务。该删除任务用于向原物理机NC1下发配置信息删除指令。该配置信息删除指令用于指示原物理机删除热迁移虚拟机的网络配置项对应的网络配置信息。
可选地,SDN控制器20可从热迁移消息中,获取原物理机NC1的标识及热迁移虚拟机VM2的标识;并根据原物理机NC1的标识及热迁移虚拟机VM2的标识,生成删除任务。其中,删除任务包括:原物理机NC1的标识及热迁移虚拟机VM2的标识。在本申请实施例中,还可设置删除任务的执行时间。其中,删除任务的执行时间T2与删除任务的生成时间T1之间的时间差大于或等于网络系统中的多台物理机40刷新虚拟机与物理机之间的对应关系的延迟时长ΔT。可选地,删除任务的执行时间T2可等于根据删除任务的生成时间T1与设定的时间延迟阈值ΔT。例如,T2=T1+ΔT。时间延迟阈值ΔT是技术人员大量测试得到的经验值,该时间延迟阈值ΔT是根据网络系统中的多台物理机40刷新虚拟机与物理机之间的对应关系的延迟时长确定的,可确保网络系统中的所有物理机刷新到热迁移虚拟机VM2与目的物理机NC4的对应关系。
SDN控制器20可在删除任务的执行时间到达时执行删除任务,实现延迟向原物理机下发配置信息删除指令,进而使得原物理机NC1延迟删除热迁移虚拟机VM2的网络配置信息。这样,对于其它物理机(如图2和图3中的NC2)在发送访问热迁移虚拟机VM2的报文时,可将访问热迁移虚拟机VM2的报文发送给原物理机NC1。这样,即便在其它物理机(如图2和图3中的NC2)在发送访问热迁移虚拟机VM2的报文时,其它物理机未刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系,也可将访问热迁移虚拟机VM2的报文发送给原物理机NC1进行转发或处理,可降低虚拟机热迁移过程中访问热迁移虚拟机VM2的报文的丢包概率。
在本申请实施例中,为了适应虚拟机热迁移,对于原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,还可将该报文转发给目的物理机NC4。为了实现该功能,在本申请实施例中,如图2和图3所示,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4开始时,或者,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4过程中或在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,虚拟机管控节点10还可向原物理机NC1下发转发(relay)指令。原物理机NC1接收该转发指令,并存储该转发指令。转发指令用于指示原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,将该报文转发至目的物理机NC4。对于原物理机NC1会存储转发指令。在原物理机NC1存储转发指令期间,原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,都会将该报文转发至目的物理机NC4。
其中,原物理机NC1存储转发指令的时长大于或等于SDN控制器20下发配置信息删除指令的延迟时长。由于网络系统中的所有物理机刷新虚拟机与物理机的对应关系完成之后删除该转发指令等。可选地,SDN控制器20下发配置信息删除指令的延迟时长大于或等于网络系统中的物理机从网关30获取热迁移虚拟机VM2与目的物理机NC4的对应关系的延迟时长,因此,原物理机NC1存储转发指令的时长大于或等于SDN控制器20下发配置信息删除指令的延迟时长,可保证在热迁移虚拟机VM2从原物理机NC1热迁移至目的虚拟机NC4之后,且在原物理机NC1在网络系统中的物理机从网关30获取热迁移虚拟机VM2与目的物理机NC4的对应关系之前,原物理机NC1均可根据转发指令将接收到的访问热迁移虚拟机VM2的报文转发给目的物理机NC4,可降低这段时间访问热迁移虚拟机VM2的报文的丢包概率。
可选地,原物理机NC1可一直存储该转发指令,也可在接收到SDN控制器20下发的配置信息删除指令时或之后,删除该转发指令等等。
其中,转发指令可包括:热迁移虚拟机VM2的标识及目的物理机NC4的标识。访问热迁移虚拟机VM2的报文可包括:待访问的虚拟机的IP地址等。热迁移虚拟机VM2的标识可以热迁移虚拟机VM2的IP地址表示;当然,目的物理机NC4的标识也可以目的物理机NC4的IP地址表示等等。基于上述转发指令,其它物理机(如图2和图3中的物理机NC2)针对接收到的报文,可从报文中获取待访问虚拟机的IP地址;若待访问虚拟机的IP地址为热迁移虚拟机VM2的IP地址,则将该报文转发至目的物理机NC4。这样,即便在其它物理机(如图2和图3中的NC2)在发送访问热迁移虚拟机VM2的报文时,其它物理机未刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系,也可将访问热迁移虚拟机VM2的报文发送给原物理机NC1,由原物理机NC1将报文转发至目的物理机NC4,可降低虚拟机热迁移过程中访问热迁移虚拟机VM2的报文的丢包概率。
在其它物理机刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系之后,其它物理机可基于该对应关系,确定热迁移虚拟机VM2部署于目的物理机NC4,则可将访问热迁移虚拟机VM2的报文直接发送给目的物理机NC4。
在本申请实施例中,SDN控制器20除了延迟向原物理机NC1下发配置信息删除指令之外,还可在满足配置信息删除指令的下发条件的情况下,向原物理机NC1下发配置信息删除指令。原物理机NC1可基于该配置信息删除指令删除热迁移虚拟机VM2的网络配置信息,实现对热迁移虚拟机VM2的删除。
在本申请实施例中,不限定配置信息删除指令的下发条件具体实现形式。在一些实施例中,配置信息删除指令的下发条件可实现为删除任务的执行时间到达。相应地,SDN控制器20可在当前时间达到删除任务的执行时间的情况下,确定满足配置信息删除指令的下发条件。相应地,SDN控制器20可在当前时间到达删除任务的执行时间的情况下,执行删除任务,以向原物理机下发配置信息删除指令,实现延迟向原物理机NC1下发配置信息删除指令。对于原物理机NC1可基于该配置信息删除指令删除热迁移虚拟机VM2的网络配置信息,进而删除热迁移虚拟机VM2。
在另一些实施例中,配置信息删除指令的下发条件可实现网络系统中的所有物理机刷新虚拟机与物理机之间的对应关系刷新完成。相应地,物理机40可按照设定的查询频率,周期性地查询网关30,以从网关30获取虚拟机与物理机之间的对应关系;若物理机40查询到网关30中的虚拟机与物理机之间的对应关系,与物理机40存储的虚拟机与物理机之间的对应关系不同时,则从网关30获取虚拟机与物理机之间的对应关系,并刷新物理机40的虚拟机与物理机之间的对应关系对应的缓存。进一步,物理机40可在刷新完成后,向网关30返回刷新成功消息;网关30可响应刷新成功消息向SDN控制器20返回刷新成功确认消息。SDN控制器20在接收到网络系统中所有物理机的刷新成功确认消息的情况下,确定满足配置信息删除指令的下发条件。相应地,SDN控制器20可在当前时间到达删除任务的执行时间的情况下,执行删除任务,以向原物理机下发配置信息删除指令。对于原物理机NC1可基于该配置信息删除指令删除热迁移虚拟机VM2的网络配置信息,进而删除热迁移虚拟机VM2。
SDN控制器20在向原物理机下发配置信息删除指令时,可从热迁移消息中,获取原物理机NC1的标识及热迁移虚拟机VM2的标识;之后,SDN控制器20可查询对应的控制器数据库(附图中未示出),获取热迁移虚拟机VM2的网络配置信息;并根据热迁移虚拟机VM2的网络配置信息,确定待删除的网络配置项;之后,SDN控制器20可根据待删除的网络配置项,生成配置信息删除指令。对于原物理机NC1在接收到配置信息删除指令时,可从配置信息删除指令中,获取待删除的虚拟机的标识(即VM2的标识)和待删除的网络配置项;进一步,原物理机NC1可删除待删除的虚拟机(VM2)的待删除的网络配置项对应的网络配置信息,实现对虚拟机的删除。
在本申请实施例中,针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,可降低虚拟机热迁移过程中访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
在本申请实施例中,对于热迁移虚拟机可能发生虚拟机回迁,或者,虚拟机在两台或更多台物理机上来回热迁移的情况。针对热迁移虚拟机回迁情况,若热迁移虚拟机从原物理机热迁移至目的物理机,在针对延迟删除原物理机上的热迁移虚拟机的删除任务尚未执行之前,热迁移虚拟机已从目的物理机回迁至原物理机的情况,删除任务的执行会导致原物理机上的热迁移虚拟机被误删除。例如,如图4所示,虚拟机VM2从原物理机NC1热迁移至目的物理机NC4之后,虚拟机管控节点10向SDN控制器20发送虚拟机VM2从原物理机NC1热迁移至目的物理机NC4的热迁移消息(对应图4的步骤1)。SDN管控节点10可基于热迁移消息,为目的物理机NC4配置网络配置信息。如图4中步骤2的指示目的物理机NC4创建虚拟网卡(Vpoort)等;之后,目的物理机NC4可向SDN控制器20返回虚拟网卡创建成功消息(对应图4步骤3);SDN控制器20向虚拟机管控节点10返回热迁移虚拟机VM2创建成功消息(对应图4步骤4)。
对于SDN控制器20,还可基于热迁移消息,生成删除任务(对应图4步骤5)。之后,SDN控制器20可延迟执行删除任务(对应图4步骤6)。删除任务用于向原物理机下发配置信息删除指令。在本申请实施例中,延迟执行删除任务是指在删除任务生成之后不立即执行,而是在达到删除任务的执行条件时才执行删除任务。例如,删除任务的执行时间到达时,执行删除任务等等。在虚拟机VM2从原物理机NC1热迁移至目的物理机NC4之后,删除任务的执行时间到达之前,虚拟机VM2又从目的物理机NC4回迁至原物理机NC1(对应图4步骤7-10)。这样,在删除任务的执行时间到达时,SDN控制器20执行删除任务,以向原物理机NC1下发配置信息删除指令(对应图4步骤11)。对于原物理机NC1可响应配置信息删除指令,删除虚拟机VM2的网络配置信息,从而删除虚拟机VM2(对应图4步骤12),导致虚拟机VM2从目的物理机NC4回迁至原物理机NC1失败。
在本申请实施例中,为了解决虚拟机回迁被删除任务误删除的问题,SDN控制器20可在接收到热迁移虚拟机VM2从物理机NC4回迁至原物理机NC1的热迁移消息时,可从热迁移消息中,获取物理机NC1的标识和热迁移虚拟机VM2的网络配置信息。热迁移虚拟机VM2可查询已有删除任务(对应图5步骤6),若已有删除任务中存在针对物理机NC1删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务,则直接执行目标删除任务(即热迁移虚拟机VM2从物理机NC1热迁移至目的物理机NC4的过程中,生成的删除任务1,对应图5步骤7),以使物理机NC1删除热迁移虚拟机VM2的网络配置信息(对应图5中步骤7和8)。物理机NC1可响应配置信息删除指令,删除热迁移虚拟机VM2的网络配置信息,从而删除热迁移虚拟机VM2(对应图6中步骤4)。进一步,SDN控制器20可控制物理机NC1创建热迁移虚拟机VM2,并为热迁移虚拟机VM2配置网络配置信息。这样,即便上述虚拟机VM2从物理机NC4回迁至物理机NC1,也不会因为前一次虚拟机VM2从物理机NC1迁移至物理机NC4而生成的删除任务的执行,而误删了此次虚拟机VM2回迁至物理机NC1而新创建的虚拟机VM2。当然,SDN控制器20还可延迟删除物理机NC4中的热迁移虚拟机VM2(对应图5步骤10-13),关于这部分内容的详细描述,可参见上述实施例的相关内容,在此不再赘述。
在本申请实施例中,无需区分热迁移消息是某个虚拟机首次迁移,还是虚拟机回迁,为了解决虚拟机回迁被删除任务误删除的问题,对于SDN控制器20在延迟执行删除任务之前,还可从热迁移消息中,获取目的物理机NC4的标识和热迁移虚拟机VM2的网络配置信息。若已有删除任务中存在针对目的物理机NC4删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务的情况下,则直接执行目标删除任务,无需等待删除任务的执行时间到达,以使目的物理机NC4删除热迁移虚拟机VM2的网络配置信息(对应图6中步骤2-4)。
可选地,SDN控制器20可从已有的删除任务中,获取已有删除任务包含的原物理机的标识及删除任务要删除的虚拟机的网络配置信息(对应图6中步骤2查询已有删除任务);进一步,可将目的物理机NC4的标识,在已有删除任务包含的原物理机的标识中进行匹配;若已有删除任务包含的原物理机的标识中存在目的物理机NC4的标识,则判断删除任务要删除的虚拟机中是否存在与热迁移虚拟机VM2的网络配置信息相同的虚拟机;若判断结果为是,则确定已有删除任务中存在目标删除任务。进一步,SDN控制器20可立即执行目标删除任务,以向目标删除任务对应的物理机(即目的物理机NC4)下发配置信息删除指令(对应图6中步骤3)。目的物理机NC4可响应该配置信息删除指令,删除热迁移虚拟机VM2的网络配置信息,从而删除热迁移虚拟机VM2(对应图6中步骤4)。这样,即便上述虚拟机VM2从原物理机NC1迁移至目的物理机NC4为虚拟机VM2回迁,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,不会因为前一次虚拟机VM2从物理机NC4迁移至物理机NC1而生成的删除任务的执行,而误删了此次虚拟机VM2回迁至物理机NC4而新创建的虚拟机VM2。
针对已有删除任务中存在针对目的物理机NC4删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务的情况,可立即执行目标删除任务而删除目的物理机NC4上的热迁移虚拟机VM2。之后,SDN控制器20可进入正常的虚拟机热迁移流程,包括但不局限于:上述将热迁移虚拟机VM2与目的物理机NC4的对应关系提供给网关30;延迟向原物理机NC1下发配置信息删除指令(对应图6中步骤8和9),以及,在满足配置信息删除指令的下发条件的情况下,向原物理机NC1下发配置信息删除指令,以使原物理机NC1删除针对热迁移虚拟机VM2的网络配置信息等等。
当然,虚拟机热迁移流程还可包括:SDN控制器20向热迁移至目的物理机NC4下发热迁移虚拟机VM2的网络配置信息,目的物理机NC4可利用该网络配置信息,对热迁移虚拟机VM2进行网络配置(对应图6步骤5-7)。
具体地,SDN控制器20对应有控制器数据库(附图中未示)。其中,控制器数据库存储有虚拟机的网络配置信息。SDN控制器20在向目的物理机NC4下发热迁移虚拟机VM2的网络配置信息时,可从控制器数据库中获取热迁移虚拟机VM2的网络配置信息;并将该网络配置信息下发给目的物理机NC4。目的物理机NC4可利用该网络配置信息,对热迁移虚拟机VM2进行网络配置。
在本申请实施例中,SDN控制器20还可对虚拟机进行网络配置更新。例如,可为虚拟机绑定公网IP、改变虚拟机的MAC地址或IP地址等等。SDN控制器20可将虚拟机更新后的网络配置信息存储于控制器数据库。这样,SDN控制器20在对虚拟机进行网络配置时,可从控制器数据库中获取最新的网络配置信息,并将最新的网络配置信息下发给虚拟机所在的物理机,该物理机可利用最新的网络配置信息对虚拟机进行网络配置,从而保证网络配置的有效性。
在一些常规方案中,SDN控制器20在指示原物理机NC1删除热迁移虚拟机VM2时,SDN控制器20也可从控制器数据库获取热迁移虚拟机VM2的网络配置信息;并确定从控制器数据库中获取的网络配置信息为待删除的网络配置信息。进一步,SDN控制器20可根据待删除的网络配置信息,生成配置信息删除指令。该配置信息删除指令用于指示原物理机NC1删除待删除的网络配置信息。这样,在SDN控制器20向原物理机NC1发出配置信息删除指令,原物理机NC1根据该配置信息删除指令进行虚拟机删除。
若在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,热迁移虚拟机VM2的网络配置信息发生更新,控制器数据库中存储的热迁移虚拟机VM2的网络配置信息也会相应更新。然而,在虚拟机热迁移的实施例中,SDN控制器20只会将网络配置信息下发给热迁移虚拟机VM2迁移后的目的物理机NC4,并不会将网络配置信息下发给热迁移虚拟机VM2所在的原物理机NC1。这样,就导致原物理机NC1上的热迁移虚拟机VM2的网络配置信息,与控制器数据库中的热迁移虚拟机VM2的网络配置信息不同。针对这种情况,若SDN控制器20在执行删除任务时,仍从控制器数据库中获取热迁移虚拟机VM2的网络配置信息,则会导致配置信息删除指令中的待删除的网络配置信息,与原物理机NC1上热迁移虚拟机VM2的网络配置信息不一致,导致虚拟机删除失败。
例如,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,SDN控制器20重新或首次为热迁移虚拟机VM2绑定公网IP。该公网IP会更新至控制器数据库中。若按照上述常规方案,在执行删除原物理机NC1的热迁移虚拟机VM2时,根据控制器数据库中的热迁移虚拟机VM2的网络配置信息生成配置信息删除指令,则会给原物理机NC1下发解绑公网IP的配置,而原物理机NC1的热迁移虚拟机VM2并未绑定公网IP,则无疑会导致原物理机NC1的热迁移虚拟机VM2无法执行解绑公网IP的配置,导致虚拟机删除失败。
为了解决上述问题,在本申请实施例中,SDN控制器20存储热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4之前的网络配置信息的配置快照。该配置快照包括:热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4之前的的网络配置信息。在本申请实施例中,为了便于描述和区分,将配置快照包含的网络配置信息,定义为第一网络配置信息;并将上述控制器数据库中热迁移虚拟机VM2的网络配置信息,定义为第二网络配置信息。其中,第一网络配置信息和第二网络配置信息可能相同,也可能不同。对于热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC2之后,SDN控制器20对热迁移虚拟机VM2进行网络配置信息更新的情况,第一网络配置信息和第二网络配置信息是不同的。
基于上述热迁移虚拟机VM2的配置快照。SDN控制器20在向原物理机NC1下发配置信息删除指令时,可从热迁移虚拟机VM2的配置快照中,获取第一网络配置信息;并确定第一网络配置信息为待删除的网络配置信息;进一步,SDN控制器20可根据待删除的网络配置信息,生成配置信息删除指令。该配置信息删除指令用于指示原物理机NC1删除热迁移虚拟机VM2的待删除的网络配置信息,即删除热迁移虚拟机VM2的配置快照中的第一网络配置信息。对于原物理机NC1在接收到配置信息删除指令时,可根据配置信息删除指令,删除该指令包含的待删除的网络配置信息,即删除热迁移虚拟机VM2的配置快照中的第一网络配置信息。该网络配置信息处理过程,从热迁移虚拟机VM2的配置快照中,获取热迁移虚拟机VM2的网络配置信息,为热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4之前的网络配置信息,这样,可保证配置信息删除指令包含的待删除的网络配置信息与原物理机NC1上热迁移虚拟机VM2的网络配置信息的一致性,解决上述在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,热迁移虚拟机VM2的网络配置信息发生更新,导致虚拟机删除失败的问题。
值得说明的是,上述图5中删除任务1对应的配置删除信息指令可根据热迁移虚拟机VM2从物理机NC1迁移至物理机NC4之前的第一网络配置信息的配置快照生成,因此,若在热迁移虚拟机VM2从物理机NC1迁移至物理机NC4之后,且在热迁移虚拟机VM2从物理机NC4回迁至物理机NC1之前,热迁移虚拟机VM2的网络配置信息发生更新,针对删除任务1若不是直接执行,而是撤销删除任务1,则会导致物理机NC1已有热迁移虚拟机VM2的网络配置信息,SDN控制器20不再为物理机NC1中的热迁移虚拟机VM2配置网络配置信息,则会导致热迁移虚拟机VM2的网络配置信息是从物理机NC1迁移至物理机NC4之前的第一网络配置信息,因此,导致物理机NC1中的热迁移虚拟机VM2的网络配置信息无法及时更新。基于此,在上述图5中,可在已有删除任务中存在针对目的物理机NC4删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务的情况下,则直接执行目标删除任务(即图5中的删除任务1),无需等待目标删除任务的执行时间到达,这样,后续在热迁移虚拟机VM2从物理机NC4回迁到物理机NC1时,SDN控制器20可为物理机NC1中的热迁移虚拟机VM2配置与控制器数据库中相同的网络配置信息,即配置最新的网络配置信息。除了上述网络系统实施例之外,本申请实施例还提供网络配置信息处理方法,下面从SDN控制器的角度,结合具体实施例进行示例性说明。
图7为本申请实施例提供的网络配置信息处理方法的流程示意图。该方法可应用于SDN控制器。如图7所示,该方法主要包括:
701、接收虚拟机管控节点提供的热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4的热迁移消息。
702、响应于热迁移消息,将热迁移虚拟机VM2与目的物理机NC4的对应关系提供给网络系统中的网关,以供网络系统中的物理机从网关获取热迁移虚拟机VM2与目的物理机NC4的对应关系。
703、延迟向原物理机NC1下发配置信息删除指令,以使原物理机NC1延迟删除热迁移虚拟机VM2的网络配置信息。
704、在满足配置信息删除指令的下发条件的情况下,向原物理机NC1下发配置信息删除指令,以使原物理机NC1删除热迁移虚拟机VM2的网络配置信息。
在本申请实施例中,虚拟机管控节点可对虚拟机进行管理,负责虚拟机的热迁移。例如,虚拟机管控节点可确定需要热迁移的虚拟机(以下简称热迁移虚拟机);并从多台物理机中为热迁移虚拟机选择待迁移到的目的物理机NC4。之后,虚拟机管控节点可控制热迁移虚拟机从原物理机NC1迁移至目的物理机NC4。
在本申请实施例中,虚拟机管控节点在控制热迁移虚拟机VM2从原物理机NC1热迁移至目的物理机NC4之后,可向SDN控制器提供热迁移虚拟机VM2从原物理机NC1迁移到目的物理机NC4的热迁移消息。其中,热迁移消息可包括:热迁移虚拟机的标识、原物理机的标识及目的物理机的标识。相应地,对于SDN控制器,在步骤701中,可接收该热迁移消息。
进一步,在步骤702中,可响应于该热迁移消息,将热迁移虚拟机VM2与目的物理机NC4的对应关系提供给网关。可选地,可从热迁移消息中,获取热迁移虚拟机的标识、原物理机的标识及目的物理机的标识;并建立热迁移虚拟机VM2与目的物理机NC4的对应关系(VM2:NC4);并将该对应关系下发给网关。
对于物理机来说,需要通过查询网关来获取虚拟机与物理机之间的对应关系(VM:NC),之后,刷新存储的虚拟机与物理机之间的对应关系。物理机刷新虚拟机与物理机之间的对应关系的速度较慢,存在一定的延迟,且刷新速度随着物理机上的虚拟机数量增加而降低。因此,导致物理机刷新虚拟机与物理机之间的对应关系不及时,进而导致访问热迁移虚拟机的报文继续发送给原物理机。但是虚拟机已热迁移至目的物理机,从而导致报文丢包。
为了解决上述问题,对于SDN控制器,在步骤703中,可延迟向原物理机NC1下发配置信息删除指令,以使原物理机NC1延迟删除针对热迁移虚拟机VM2的网络配置信息。其中,配置信息删除指令是用于指示原物理机NC1删除热迁移虚拟机VM2的网络配置信息的指令。可选地,SDN控制器在接收到热迁移消息时,可向虚拟机管控节点返回虚拟机删除成功消息。这样,虚拟机管控节点可向用户返回虚拟机删除成功消息。对于用户来说,对原物理机NC1上虚拟机的延迟删除无感知,不会增加用户感知到虚拟机热迁移的整体时长。
具体地,步骤703的一种可选实施方式为:基于热迁移消息,生成删除任务。该删除任务用于向原物理机NC1下发配置信息删除指令。该配置信息删除指令用于指示原物理机删除热迁移虚拟机的网络配置项对应的网络配置信息。
可选地,可从热迁移消息中,获取原物理机NC1的标识及热迁移虚拟机VM2的标识;并根据原物理机NC1的标识及热迁移虚拟机VM2的标识,生成删除任务。其中,删除任务包括:原物理机NC1的标识及热迁移虚拟机VM2的标识。在本申请实施例中,还可设置删除任务的执行时间。其中,删除任务的执行时间T2与删除任务的生成时间T1之间的时间差大于或等于网络系统中的物理机从网关获取所述第一虚拟机与第一目的物理机的对应关系的延迟时长。
由于删除任务的执行时间与删除任务的生成时间T1之间的时间差大于或等于网络系统中的物理机从网关获取第一虚拟机与第一目的物理机的对应关系的延迟时长因此执行删除任务,可实现延迟向原物理机下发配置信息删除指令,进而使得原物理机NC1延迟删除热迁移虚拟机VM2的网络配置信息。这样,对于其它物理机在发送访问热迁移虚拟机VM2的报文时,可将访问热迁移虚拟机VM2的报文发送给原物理机NC1。这样,即便在其它物理机在发送访问热迁移虚拟机VM2的报文时,其它物理机未刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系,也可将访问热迁移虚拟机VM2的报文发送给原物理机NC1进行转发或处理,可降低虚拟机热迁移过程中访问热迁移虚拟机VM2的报文的丢包概率。
在本申请实施例中,为了适应虚拟机热迁移,对于原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,还可将该报文转发给目的物理机NC4。为了实现该功能,在本申请实施例中,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4开始时,或者,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4过程中,或者,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,虚拟机管控节点还可向原物理机NC1下发转发(relay)指令。该转发指令指示原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,将该报文转发至目的物理机NC4。
对于原物理机NC1会存储转发指令。在原物理机NC1存储转发指令期间,原物理机NC1在接收到访问热迁移虚拟机VM2的报文时,都会将该报文转发至目的物理机NC4。其中,原物理机NC1存储转发指令的时长大于或等于SDN控制器下发配置信息删除指令的延迟时长。由于网络系统中的所有物理机刷新虚拟机与物理机的对应关系完成之后删除该转发指令等。可选地,SDN控制器下发配置信息删除指令的延迟时长大于或等于网络系统中的物理机从网关获取热迁移虚拟机VM2与目的物理机NC4的对应关系的延迟时长,因此,原物理机NC1存储转发指令的时长大于或等于SDN控制器下发配置信息删除指令的延迟时长,可保证在热迁移虚拟机VM2从原物理机NC1热迁移至目的虚拟机NC4之后,且在原物理机NC1在网络系统中的物理机从网关获取热迁移虚拟机VM2与目的物理机NC4的对应关系之前,原物理机NC1均可根据转发指令将接收到的访问热迁移虚拟机VM2的报文转发给目的物理机NC4,可降低这段时间访问热迁移虚拟机VM2的报文的丢包概率。
可选地,原物理机NC1可一直存储该转发指令,也可在接收到SDN控制器20下发的配置信息删除指令时或之后,删除该转发指令等等。
其中,转发指令可包括:热迁移虚拟机VM2的标识及目的物理机NC4的标识。访问热迁移虚拟机VM2的报文可包括:待访问的虚拟机的IP地址等。热迁移虚拟机VM2的标识可以热迁移虚拟机VM2的IP地址表示;当然,目的物理机NC4的标识也可以目的物理机NC4的IP地址表示等等。基于上述转发指令,对于原物理机NC1针对接收到的报文,可从报文中获取待访问虚拟机的IP地址;若待访问虚拟机的IP地址为热迁移虚拟机VM2的IP地址,则将该报文转发至目的物理机NC4。这样,即便在其它物理机在发送访问热迁移虚拟机VM2的报文时,其它物理机未刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系,也可将访问热迁移虚拟机VM2的报文发送给原物理机NC1,由原物理机NC1将报文转发至目的物理机NC4,在虚拟机热迁移过程中及热迁移完成后一段时间内,可降低访问热迁移虚拟机VM2的报文的丢包概率。其中,热迁移完成后一段时间具体是指从热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4,至网络系统中的所有物理机刷新到热迁移虚拟机VM2与目的物理机NC4的对应关系之间的延迟时长。
在其它物理机刷新到热迁移虚拟机VM2与目的物理机NC4之间的对应关系之后,其它物理机可基于该对应关系,确定热迁移虚拟机VM2部署于目的物理机NC4,则可将访问热迁移虚拟机VM2的报文直接发送给目的物理机NC4。
在本申请实施例中,SDN控制器除了延迟向原物理机NC1下发配置信息删除指令之外,还可在满足配置信息删除指令的下发条件的情况下,向原物理机NC1下发配置信息删除指令。原物理机NC1可基于该配置信息删除指令删除热迁移虚拟机VM2的网络配置信息,实现对热迁移虚拟机VM2的删除。
在本申请实施例中,不限定配置信息删除指令的下发条件具体实现形式。在一些实施例中,配置信息删除指令的下发条件可实现为删除任务的执行时间到达。相应地,可在当前时间达到删除任务的执行时间的情况下,确定满足配置信息删除指令的下发条件。相应地,可在当前时间到达删除任务的执行时间的情况下,执行删除任务,以向原物理机下发配置信息删除指令。对于原物理机NC1可基于该配置信息删除指令删除热迁移虚拟机VM2的网络配置信息,进而删除热迁移虚拟机VM2。
在向原物理机下发配置信息删除指令时,可从热迁移消息中,获取原物理机NC1的标识及热迁移虚拟机VM2的标识;之后,SDN控制器可查询对应的控制器数据库,获取热迁移虚拟机VM2的网络配置信息;并根据热迁移虚拟机VM2的网络配置信息,确定待删除的网络配置项;之后,可根据待删除的网络配置项,生成配置信息删除指令。对于原物理机NC1在接收到配置信息删除指令时,可从配置信息删除指令中,获取待删除的虚拟机的标识(即VM2的标识)和待删除的网络配置项;进一步,原物理机NC1可删除待删除的虚拟机(VM2)的待删除的网络配置项对应的网络配置信息,实现对虚拟机的删除。
在本申请实施例中,针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,在虚拟机热迁移过程中及虚拟机热迁移完成后一段时间内,可降低访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
在本申请实施例中,对于热迁移虚拟机可能发生虚拟机回迁,或者,虚拟机在两台或更多台物理机上来回热迁移的情况。针对热迁移虚拟机回迁情况,若热迁移虚拟机从原物理机热迁移至目的物理机,在针对延迟删除原物理机上的热迁移虚拟机的删除任务尚未执行之前,热迁移虚拟机已从目的物理机回迁至原物理机的情况,删除任务的执行会导致原物理机上的热迁移虚拟机被误删除。具体描述可参见上述图4的相关内容,在此不再赘述。
为了解决虚拟机回迁被删除任务误删除的问题,对于SDN控制器在延迟执行删除任务之前,还可从热迁移消息中,获取目的物理机NC4的标识和热迁移虚拟机VM2的网络配置信息。若已有删除任务中存在针对目的物理机NC4删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务的情况下,则执行目标删除任务,以使目的物理机NC4删除热迁移虚拟机VM2的网络配置信息(对应图6中步骤2-4)。
可选地,可从已有的删除任务中,获取已有删除任务包含的原物理机的标识及删除任务要删除的虚拟机的网络配置信息(对应图6中步骤2查询已有删除任务);进一步,可将目的物理机NC4的标识,在已有删除任务包含的原物理机的标识中进行匹配;若已有删除任务包含的原物理机的标识中存在目的物理机NC4的标识,则判断删除任务要删除的虚拟机中是否存在与热迁移虚拟机VM2的网络配置信息相同的虚拟机;若判断结果为是,则确定已有删除任务中存在目标删除任务。进一步,SDN控制器可立即执行目标删除任务,以向目标删除任务对应的物理机(即目的物理机NC4)下发配置信息删除指令(对应图6中步骤3)。目的物理机NC4可响应该配置信息删除指令,删除热迁移虚拟机VM2的网络配置信息,从而删除热迁移虚拟机VM2(对应图6中步骤4)。这样,即便上述虚拟机VM2从原物理机NC1迁移至目的物理机NC4为虚拟机VM2回迁,在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,不会因为前一次虚拟机VM2从物理机NC4迁移至物理机NC1而生成的删除任务的执行,而误删了此次虚拟机VM2回迁至物理机NC4而新创建的虚拟机VM2。
针对已有删除任务中存在针对目的物理机NC4删除与热迁移虚拟机VM2具有相同网络配置信息的目标删除任务的情况,可立即执行目标删除任务而删除目的物理机NC4上的热迁移虚拟机VM2。之后,SDN控制器20可进入正常的虚拟机热迁移流程,包括但不局限于:上述将热迁移虚拟机VM2与目的物理机NC4的对应关系提供给网关;延迟向原物理机NC1下发配置信息删除指令(对应图6中步骤8和9),以及,在满足配置信息删除指令的下发条件的情况下,向原物理机NC1下发配置信息删除指令,以使原物理机NC1删除针对热迁移虚拟机VM2的网络配置信息等等。
当然,虚拟机热迁移流程还可包括:SDN控制器20向热迁移至目的物理机NC4下发热迁移虚拟机VM2的网络配置信息,目的物理机NC4可利用该网络配置信息,对热迁移虚拟机VM2进行网络配置(对应图6步骤5-7)。
具体地,SDN控制器对应有控制器数据库(附图中未示)。其中,控制器数据库存储有虚拟机的网络配置信息。SDN控制器在向目的物理机NC4下发热迁移虚拟机VM2的网络配置信息时,可从控制器数据库中获取热迁移虚拟机VM2的网络配置信息;并将该网络配置信息下发给目的物理机NC4。目的物理机NC4可利用该网络配置信息,对热迁移虚拟机VM2进行网络配置。
在本申请实施例中,SDN控制器还可对虚拟机进行网络配置更新。例如,可为虚拟机绑定公网IP、改变虚拟机的MAC地址或IP地址等等。SDN控制器可将虚拟机更新后的网络配置信息存储于控制器数据库。这样,SDN控制器在对虚拟机进行网络配置时,可从控制器数据库中获取最新的网络配置信息,并将最新的网络配置信息下发给虚拟机所在的物理机,该物理机可利用最新的网络配置信息对虚拟机进行网络配置,从而保证网络配置的有效性。
在一些常规方案中,SDN控制器在指示原物理机NC1删除热迁移虚拟机VM2时,SDN控制器也可从控制器数据库获取热迁移虚拟机VM2的网络配置信息;并确定从控制器数据库中获取的网络配置信息为待删除的网络配置信息。进一步,SDN控制器可根据待删除的网络配置信息,生成配置信息删除指令。该配置信息删除指令用于指示原物理机NC1删除待删除的网络配置信息。这样,在SDN控制器20向原物理机NC1发出配置信息删除指令,原物理机NC1根据该配置信息删除指令进行虚拟机删除。
若在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,热迁移虚拟机VM2的网络配置信息发生更新,控制器数据库中存储的热迁移虚拟机VM2的网络配置信息也会相应更新。然而,在虚拟机热迁移的实施例中,SDN控制器只会将网络配置信息下发给热迁移虚拟机VM2迁移后的目的物理机NC4,并不会将网络配置信息下发给热迁移虚拟机VM2所在的原物理机NC1。这样,就导致原物理机NC1上的热迁移虚拟机VM2的网络配置信息,与控制器数据库中的热迁移虚拟机VM2的网络配置信息不同。针对这种情况,若SDN控制器在执行删除任务时,仍从控制器数据库中获取热迁移虚拟机VM2的网络配置信息,则会导致配置信息删除指令中的待删除的网络配置信息,与原物理机NC1上热迁移虚拟机VM2的网络配置信息不一致,导致虚拟机删除失败。
为了解决上述问题,在本申请实施例中,SDN控制器存储热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之前的第一网络配置信息的配置快照。该配置快照包括:热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之前的热迁移虚拟机VM2的网络配置信息。在本申请实施例中,为了便于描述和区分,将配置快照包含的网络配置信息,定义为第一网络配置信息;并将上述控制器数据库中热迁移虚拟机VM2的网络配置信息,定义为第二网络配置信息。其中,第一网络配置信息和第二网络配置信息可能相同,也可能不同。对于热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC2之后,SDN控制器对热迁移虚拟机VM2进行网络配置信息更新的情况,第一网络配置信息和第二网络配置信息是不同的。
基于上述热迁移虚拟机VM2的配置快照。SDN控制器在向原物理机NC1下发配置信息删除指令时,可从热迁移虚拟机VM2的配置快照中,获取第一网络配置信息;并确定第一网络配置信息为待删除的网络配置信息;进一步,可根据待删除的网络配置信息,生成配置信息删除指令。该配置信息删除指令用于指示原物理机NC1删除热迁移虚拟机VM2的待删除的网络配置信息,即删除热迁移虚拟机VM2的配置快照中的第一网络配置信息。对于原物理机NC1在接收到配置信息删除指令时,可根据配置信息删除指令,删除该指令包含的待删除的网络配置信息,即删除热迁移虚拟机VM2的配置快照中的第一网络配置信息。该网络配置信息处理过程,从热迁移虚拟机VM2的配置快照中,获取热迁移虚拟机VM2的网络配置信息,为热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之前的网络配置信息,这样,可保证配置信息删除指令包含的待删除的网络配置信息与原物理机NC1上热迁移虚拟机VM2的网络配置信息的一致性,解决上述在热迁移虚拟机VM2从原物理机NC1迁移至目的物理机NC4之后,热迁移虚拟机VM2的网络配置信息发生更新,导致虚拟机删除失败的问题。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤702和703的执行主体可以为设备A;又比如,步骤702的执行主体可以为设备A,步骤703的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如702、703等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述网络配置信息处理方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括:计算机程序。当计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行上述网络配置信息处理方法中的步骤。在本申请实施例中,不限定计算机程序产品的具体实现形态。在一些实施例中,计算机程序产品可实现为SDN控制器,或者SDN控制器的插件、应用模块等,但不限于此。
图8为本申请实施例提供的SDN控制器的结构示意图。如图8所示,该SDN控制器包括:存储器80a、处理器80b及通信组件80c。存储器80a,用于存储计算机程序。
处理器80b耦合至存储器80a和通信组件80c,用于执行计算机程序以用于:通过通信组件80c接收虚拟机管控节点提供的第一虚拟机从第一原物理机迁移到第一目的物理机的热迁移消息;响应于热迁移消息,通过通信组件80c将第一虚拟机与第一目的物理机的对应关系提供给网络系统中的网关,以供网络系统中的物理机从网关获取第一虚拟机与第一目的物理机的对应关系;延迟向第一原物理机下发配置信息删除指令,以使第一原物理机延迟删除第一虚拟机的网络配置信息;在满足配置信息删除指令的下发条件的情况下,通过通信组件80c向第一原物理机下发配置信息删除指令,以使第一原物理机删除针对第一虚拟机的网络配置信息。
可选地,处理器80b在延迟向第一原物理机下发配置信息删除指令时,具体用于:基于热迁移消息,生成删除任务;删除任务的执行时间与删除任务的生成时间之间的时间差大于或等于网络系统中的物理机从网关获取所述第一虚拟机与第一目的物理机的对应关系的延迟时长;删除任务用于向第一原物理机下发配置信息删除指令。
可选地,处理器80b还用于:在当前时间到达删除任务的执行时间的情况下,确定满足配置信息删除指令的下发条件;相应地,处理器80b在向第一原物理机下发配置信息删除指令时,具体用于:在当前时间到达删除任务的执行时间的情况下,执行删除任务,以通过通信组件80c向第一原物理机下发配置信息删除指令。
其中,删除任务包括:第一原物理机的标识、第一目的物理机的标识及第一虚拟机的网络配置信息。处理器80b还用于:在延迟执行删除任务之前,从热迁移消息中,获取第一目的物理机的标识和第一虚拟机的网络配置信息;在已有删除任务中存在目标删除任务的情况下,执行目标删除任务,以使第一目的物理机删除第一虚拟机的网络配置信息;目标删除任务是指指示第一目的物理机删除第一虚拟机的网络配置信息删除任务。
可选地,处理器80b还用于:从已有删除任务中,获取已有删除任务包含的第二原物理机的标识及第二虚拟机的网络配置信息;其中,第二虚拟机是指已有的删除任务要删除的虚拟机;在第二原物理机的标识中存在第一原物理机的标识的情况下,判断第二原物理机对应的第二虚拟机中是否存在是否与第一虚拟机的网络配置信息相同的虚拟机;若判断结果为是,确定已有删除任务中存在目标删除任务。
可选地,处理器80b还用于:存储第一虚拟机在从第一原物理机迁移至第一目的物理机之前的第一网络配置信息的配置快照;配置快照包括:第一网络配置信息。相应地,处理器80b在向第一原物理机下发配置信息删除指令时,具体用于:从配置快照中,获取第一网络配置信息;确定第一网络配置信息为待删除的网络配置信息;以及,根据待删除的网络配置信息,生成配置信息删除指令,以指示第一原物理机删除待删除的网络配置信息。
处理器80b还用于:响应于热迁移消息,从控制器数据库中获取第一虚拟机的第二网络配置信息;将第二网络配置信息下发给第一目的物理机,以供第一目的物理机对第一虚拟机进行网络配置。
可选地,处理器80b还用于:对第一虚拟机进行网络配置更新,以得到更新后的网络配置信息;确定更新后的网络配置信息为第二网络配置信息;以及,将第二网络配置信息存储于控制器数据库。
在本申请实施例中,在第一虚拟机热迁移过程中,虚拟机管控节点向第一原物理机下发转发指令;转发指令用于指示第一原物理机在接收到访问第一虚拟机的报文时,将访问第一虚拟机的报文转发至第一目的物理机。第一原物理机存储所述转发指令;并将存储转发指令期间接收到的访问所述第一虚拟机的报文转发至第一目的物理机。
其中,第一原物理机存储转发指令的时长大于或等于所述SDN控制器下发配置信息删除指令的延迟时长。
在一些可选实施方式中,如图8所示,该SDN控制器还可以包括:电源组件80d等组件。图8中仅示意性给出部分组件,并不意味着SDN控制器必须包含图8所示全部组件,也不意味着SDN控制器只能包括图8所示组件。
本实施例提供的SDN控制器,针对虚拟机热迁移过程,在网络控制面实现了延迟删除原物理机上的虚拟机的功能,这样,对于网络系统中的节点在发送访问热迁移虚拟机的报文时,即便该节点未刷新到热迁移虚拟机与目的物理机之间的对应关系,也可将访问热迁移虚拟机的报文发送给原物理机进行转发或处理,在虚拟机热迁移过程中和虚拟机热迁移完成后的一定时间内,可降低访问热迁移虚拟机的报文的丢包概率,有利于保证热迁移虚拟机提供服务不受损。另一方面,在网络控制面进行延迟删除原物理机上的虚拟机的控制,不需要对网络数据面进行修改,因此,无需额外占用物理机的CPU资源。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SOC)等等,但不限于此。
在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种网络配置信息处理方法,适应于SDN控制器,其特征在于,包括:
接收虚拟机管控节点提供的第一虚拟机从第一原物理机迁移到第一目的物理机的热迁移消息;
响应于所述热迁移消息,将第一虚拟机与第一目的物理机的对应关系提供给网络系统中的网关,以供网络系统中的物理机从所述网关获取所述第一虚拟机与第一目的物理机的对应关系;
延迟向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机延迟删除所述第一虚拟机的网络配置信息;
在满足所述配置信息删除指令的下发条件的情况下,向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机删除针对所述第一虚拟机的网络配置信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
在当前时间到达删除任务的执行时间的情况下,确定满足所述配置信息删除指令的下发条件;所述删除任务的执行时间与所述删除任务的生成时间之间的时间差大于或等于所述网络系统中的物理机从所述网关获取所述第一虚拟机与第一目的物理机的对应关系的延迟时长;所述删除任务用于向所述第一原物理机下发配置信息删除指令;
所述向所述第一原物理机下发配置信息删除指令,包括:
在当前时间到达所述删除任务的执行时间的情况下,执行所述删除任务,以向所述第一原物理机下发配置信息删除指令。
3.根据权利要求2所述的方法,其特征在于,所述删除任务包括:第一原物理机的标识、第一目的物理机的标识及第一虚拟机的网络配置信息;
在执行所述删除任务之前,还包括:
从所述热迁移消息中,获取所述第一目的物理机的标识和所述第一虚拟机的网络配置信息;
在已有删除任务中存在目标删除任务的情况下,直接执行所述目标删除任务,以使所述第一目的物理机删除所述第一虚拟机的网络配置信息;所述目标删除任务为指示所述第一目的物理机删除所述第一虚拟机的网络配置信息的删除任务。
4.根据权利要求3所述的方法,其特征在于,还包括:
从已有删除任务中,获取所述已有删除任务包含的第二原物理机的标识及第二虚拟机的网络配置信息;其中,所述第二虚拟机是指所述已有删除任务要删除的虚拟机;
在所述第二原物理机的标识中存在所述第一原物理机的标识的情况下,判断所述第二原物理机对应的第二虚拟机中是否存在与所述第一虚拟机的网络配置信息相同的虚拟机;
若判断结果为是,确定所述已有删除任务中存在所述目标删除任务。
5.根据权利要求2-4任一项所述的方法,其特征在于,还包括:
存储所述第一虚拟机在从所述第一原物理机迁移到第一目的物理机之前的第一网络配置信息的配置快照;
所述向所述第一原物理机下发配置信息删除指令,包括:
从所述配置快照中,获取所述第一网络配置信息;
确定所述第一网络配置信息为待删除的网络配置信息;
根据所述待删除的网络配置信息,生成所述配置信息删除指令,以指示所述第一原物理机删除所述待删除的网络配置信息。
6.根据权利要求5所述的方法,其特征在于,还包括:
响应于所述热迁移消息,从控制器数据库中获取所述第一虚拟机的第二网络配置信息;
将所述第二网络配置信息下发给所述第一目的物理机,以供所述第一目的物理机对所述第一虚拟机进行网络配置。
7.根据权利要求6所述的方法,其特征在于,还包括:
对所述第一虚拟机进行网络配置更新,以得到更新后的网络配置信息;
确定更新后的网络配置信息为所述第二网络配置信息;
将所述第二网络配置信息存储于所述控制器数据库。
8.根据权利要求1-4任一项所述的方法,其特征在于,在所述第一虚拟机热迁移开始时、所述第一虚拟机热迁移过程中或所述第一虚拟机热迁移完成之后,所述虚拟机管控节点向所述第一原物理机下发转发指令;所述转发指令用于指示所述第一原物理机在接收到访问所述第一虚拟机的报文时,将所述访问所述第一虚拟机的报文转发至所述第一目的物理机;
所述第一原物理机存储所述转发指令;并将存储所述转发指令期间接收到的所述访问所述第一虚拟机的报文转发至所述第一目的物理机。
9.根据权利要求8所述的方法,其特征在于,所述第一原物理机存储所述转发指令的时长大于或等于所述SDN控制器下发所述配置信息删除指令的延迟时长。
10.一种网络系统,其特征在于,包括:虚拟机管控节点、SDN控制器、网关及多台物理机;所述多台物理机中至少一台物理机部署有虚拟机;所述SDN控制器与所述多台物理机通过所述网关通信;
所述虚拟机管控节点,用于将所述至少一台物理机中的第一原物理机上的第一虚拟机,热迁移至第一目的物理机;所述第一目的物理机为所述多台物理机中除所述第一原物理机之外的其它物理机;并向所述SDN控制器提供第一虚拟机从第一原物理机迁移到第一目的物理机的热迁移消息;
所述SDN控制器,用于响应于所述热迁移消息,将第一虚拟机与第一目的物理机的对应关系提供给网络系统中的网关,以使所述多台物理机用于从所述网关获取所述第一虚拟机与第一目的物理机的对应关系;
所述SDN控制器,还用于延迟向所述第一原物理机下发配置信息删除指令,以使所述第一原物理机延迟删除针对所述第一虚拟机的网络配置信息;在满足所述配置信息删除指令的下发条件的情况下,向所述第一原物理机下发配置信息删除指令;
所述第一原物理机,用于根据所述配置信息删除指令,删除针对所述第一虚拟机的网络配置信息。
11.根据权利要求10所述的系统,其特征在于,所述虚拟机管控节点,还用于:
在所述第一虚拟机热迁移过程中,向所述第一原物理机下发转发指令;所述转发指令用于指示所述第一原物理机在接收到访问所述第一虚拟机的报文时,将所述访问所述第一虚拟机的报文转发至所述第一目的物理机。
12.根据权利要求10所述的系统,其特征在于,所述SDN控制器为VPC控制器。
13.一种SDN控制器,其特征在于,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器和所述通信组件,用于执行所述计算机程序以用于执行权利要求1-9任一项所述方法中的步骤。
14.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-9任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476299.2A CN115037627B (zh) | 2022-04-29 | 2022-04-29 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
PCT/CN2023/088284 WO2023207625A1 (zh) | 2022-04-29 | 2023-04-14 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476299.2A CN115037627B (zh) | 2022-04-29 | 2022-04-29 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037627A true CN115037627A (zh) | 2022-09-09 |
CN115037627B CN115037627B (zh) | 2024-05-07 |
Family
ID=83119440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210476299.2A Active CN115037627B (zh) | 2022-04-29 | 2022-04-29 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115037627B (zh) |
WO (1) | WO2023207625A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207625A1 (zh) * | 2022-04-29 | 2023-11-02 | 阿里云计算有限公司 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694672A (zh) * | 2011-03-24 | 2012-09-26 | 华为技术有限公司 | 虚拟机参数迁移的方法、设备和虚拟机服务器 |
CN103812823A (zh) * | 2012-11-07 | 2014-05-21 | 华为技术有限公司 | 虚拟机热迁移时配置信息迁移的方法、设备及系统 |
US20170139727A1 (en) * | 2015-11-18 | 2017-05-18 | Level 3 Communications, Llc | Communication node upgrade system and method for a communication network |
CN108768895A (zh) * | 2018-05-18 | 2018-11-06 | 华为技术有限公司 | 一种虚拟机迁移的方法及数据中心 |
JP2019175204A (ja) * | 2018-03-29 | 2019-10-10 | 富士通株式会社 | 誤差補正方法、分散処理システムおよび情報処理装置 |
CN110633127A (zh) * | 2018-06-25 | 2019-12-31 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
US10768965B1 (en) * | 2018-05-02 | 2020-09-08 | Amazon Technologies, Inc. | Reducing copy operations for a virtual machine migration |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011198299A (ja) * | 2010-03-23 | 2011-10-06 | Fujitsu Ltd | プログラム、コンピュータ、通信装置および通信制御システム |
CN110427245A (zh) * | 2019-06-28 | 2019-11-08 | 苏州浪潮智能科技有限公司 | 管理虚拟机方法和装置 |
CN113127133B (zh) * | 2019-12-30 | 2023-09-05 | 中国移动通信集团山西有限公司 | 跨平台的虚拟机热迁移方法、装置、设备和介质 |
CN115037627B (zh) * | 2022-04-29 | 2024-05-07 | 阿里云计算有限公司 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
-
2022
- 2022-04-29 CN CN202210476299.2A patent/CN115037627B/zh active Active
-
2023
- 2023-04-14 WO PCT/CN2023/088284 patent/WO2023207625A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694672A (zh) * | 2011-03-24 | 2012-09-26 | 华为技术有限公司 | 虚拟机参数迁移的方法、设备和虚拟机服务器 |
CN103812823A (zh) * | 2012-11-07 | 2014-05-21 | 华为技术有限公司 | 虚拟机热迁移时配置信息迁移的方法、设备及系统 |
US20170139727A1 (en) * | 2015-11-18 | 2017-05-18 | Level 3 Communications, Llc | Communication node upgrade system and method for a communication network |
JP2019175204A (ja) * | 2018-03-29 | 2019-10-10 | 富士通株式会社 | 誤差補正方法、分散処理システムおよび情報処理装置 |
US10768965B1 (en) * | 2018-05-02 | 2020-09-08 | Amazon Technologies, Inc. | Reducing copy operations for a virtual machine migration |
CN108768895A (zh) * | 2018-05-18 | 2018-11-06 | 华为技术有限公司 | 一种虚拟机迁移的方法及数据中心 |
CN110633127A (zh) * | 2018-06-25 | 2019-12-31 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207625A1 (zh) * | 2022-04-29 | 2023-11-02 | 阿里云计算有限公司 | 网络配置信息处理方法、sdn控制器、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115037627B (zh) | 2024-05-07 |
WO2023207625A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911333B2 (en) | Network service life cycle management grant method and apparatus | |
US10831574B2 (en) | Remote procedure call method for network device and network device | |
CN109614226B (zh) | 一种基于Kubernetes的有状态应用存储管理方法 | |
CN108984266B (zh) | 一种虚拟机的管理方法、装置及系统 | |
CN107967140B (zh) | 软件修改的发起方法、发布元数据的方法及装置 | |
US10541862B2 (en) | VNF processing policy determining method, apparatus, and system | |
WO2016197346A1 (zh) | 一种虚拟网络功能的生命周期管理方法,及装置 | |
WO2017054197A1 (zh) | 一种扩展联动的方法、装置及系统 | |
WO2020042612A1 (zh) | 消息存储、读取方法及装置、服务器、存储介质 | |
JP2020524869A (ja) | 仮想マシン管理 | |
US20150003288A1 (en) | Vdp request packet processing | |
CN113114570B (zh) | 流表项的控制方法、装置及系统 | |
CN115037627B (zh) | 网络配置信息处理方法、sdn控制器、系统及存储介质 | |
CN113746641B (zh) | 一种基于分布式存储的odx协议处理方法 | |
EP3197207A1 (en) | Method for managing application resources and registered node in m2m | |
US11431795B2 (en) | Method, apparatus and storage medium for resource configuration | |
CN113064732A (zh) | 一种分布式系统及其管理方法 | |
US10791062B1 (en) | Independent buffer memory for network element | |
CN111045778B (zh) | 一种虚拟机的创建方法、装置、服务器及存储介质 | |
US20210037093A1 (en) | Device state synchronization method and common capability component | |
EP3214537A1 (en) | Storage array operation method and device | |
US10567507B2 (en) | Message processing method and apparatus, and message processing system | |
CN112889247A (zh) | Vnf服务实例化方法及装置 | |
CN116263692A (zh) | 基于sdn的云网络虚拟机迁移方法、系统及计算设备 | |
KR101585413B1 (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 |