基于全局实现号识别逻辑实体的实现状况制造技术

技术编号:19396756 阅读:27 留言:0更新日期:2018-11-10 05:02
一些实施例提供了用于确定逻辑网络的一个或多个逻辑实体的实现状况的方法。该方法在每次发生特定事件时就递增实现号的值并将递增后的值发布到逻辑网络的一组控制器。在接收到指定逻辑网络的逻辑实体的状态的数据后,该方法将逻辑实体状态的数据发布到该组控制器。在一些实施例中,该方法向该组控制器查询直到特定时间点为止发布到该组控制器的一组逻辑实体的状态数据的实现状况。在一些实施例中,所提交的查询包括与特定时间点相关联的实现号的特定值。

【技术实现步骤摘要】
【国外来华专利技术】基于全局实现号识别逻辑实体的实现状况
技术介绍
在分布式虚拟网络(例如,逻辑网络)中,网络功能和服务由逻辑网络元件(例如,诸如逻辑交换机和逻辑路由器的一组逻辑转发元件)实现。从用户(例如,网络管理员)接收每个逻辑网络元件(逻辑实体)的定义,并且定义逻辑实体的数据存储在逻辑网络的管理平面。然后,管理平面将这些数据推送到逻辑网络的控制平面,以实现逻辑实体(例如,配置和实现逻辑实体)。目前,很难或不可能确定在特定时间点是否已在网络基础设施中(例如,在控制器、管理程序等中)实现了一组逻辑实体。此外,当在特定时刻逻辑实体没有被正确实现时,没有特定的方法来识别问题的来源。
技术实现思路
一些实施例提供用于确定在特定时间点在网络中是否实现逻辑网络的一组逻辑实体(例如,逻辑转发元件、逻辑中间盒等)的期望状态的方法和工具。在一些实施例中,该方法查询逻辑网络的控制平面以识别在特定时刻的逻辑实体的实现状况。一些实施例的方法还能够识别其上未实现逻辑实体的期望状态的物理节点(例如,控制器和受管理转发元件)。在一些实施例中,逻辑网络的逻辑实体的期望状态包括逻辑网络的管理平面(MP)基于(例如,从用户接收到的)逻辑网络的定义生成的并且存储在MP配置数据库中的数据。在一些实施例中,所生成的数据(期望状态)被异步地(例如,通过MP信道)推送到中央控制平面(CCP)集群(例如,CCP集群的一个或多个中央控制器)。CCP集群处理接收到的数据以及CCP集群从实现逻辑实体的一个或多个受管理转发元件(MFE)接收的逻辑实体的对应运行时数据。当CCP集群将处理后的配置数据(例如,通过其中每个都控制对应的MFE的一组本地控制器)向下推送到MFE以便配置MFE(每个MFE在主机机器的管理程序上操作)上的逻辑实体时,一些实施例确定逻辑实体在系统中(即,在其上实现一个或多个逻辑网络的物理网络基础设施中)被实现。一些实施例确定当逻辑实体实际上在MFE上被配置时逻辑实体在系统中被实现。与逻辑实体的期望状态不同,逻辑实体的已实现状态涉及短暂的系统状态。即,随着系统试图收敛到期望状态,逻辑实体的已实现状态不断地改变。换句话说,随着系统(例如,数据中心)的环境改变(例如,虚拟机迁移、管理程序故障等),已实现状态可能在任何时间点变成未实现。在一些实施例中,还可以通过在逻辑网络的控制平面处接收到的运行时数据(例如,虚拟网络接口的L2和L3地址)来改变(更新)逻辑实体的已实现状态。一些实施例不是在创建逻辑实体之后查询逻辑实体(例如,逻辑交换机、逻辑交换机端口、逻辑路由器等)的状态以确保逻辑实体被实现,而是它们提供实现确定工具,该实现确定工具允许用户在不同的时刻一起查询一个或多个逻辑实体的实现状况。即,当多个逻辑实体被添加到逻辑网络时,不是查询每个逻辑实体的状态以确保实体在系统中被实现,而是用户可以查询控制平面(例如,通过管理平面)来确定直到特定时间点为止被发布到CCP集群的每个逻辑实体(或特定一组逻辑实体)的实现状况。为了这样做,一些实施例提供集群范围单调增加值,其实际上是跟踪CCP集群处的逻辑实体的期望状态的实现的状态同步屏障(barrier)。在一些实施例中,该全局实现号(GRN)在不同的时刻递增(例如,以某些时间间隔自动地递增、在每个用户请求下手动地递增、或者在每个期望状态更新时递增)。管理平面除了向CCP集群发布期望状态之外,还在每次GRN递增时,向CCP集群发布新的GRN值。然后,CCP集群将接收到的GRN值与直到接收到GRN值时为止发布到CCP集群的不同逻辑实体的实现状态相关联。在一些实施例中,CCP集群还将GRN与控制平面从MFE接收到的逻辑实体的对应运行时状态相关联。然后,一些实施例的管理平面可以请求直到最新GRN或(例如,由用户给出的)任何特定GRN为止发布到CCP集群的(例如,由用户指定的)特定一组逻辑实体的实现状况。一些实施例还提供直到最新GRN或任何特定GRN为止发布到CCP集群的每个逻辑实体的已实现状态。例如,当用户沿着逻辑路由定义具有多个逻辑元件(例如,逻辑交换机和路由器)的逻辑路由时,逻辑路由的实现状况取决于沿着路由的每个单个逻辑元件的实现。由此,为了识别逻辑路由的实现的状况,用户可以在定义路由之后发布的GRN值中查询路由的已实现状态。为了这样做,用户(例如,网络管理员)可以在逻辑路由被定义之后请求GRN递增(例如,通过调用GRN递增函数)。这样的请求不仅递增GRN并且在做出请求时将递增的GRN值与逻辑实体的实现状况相关联,而且还将递增的GRN值返回给用户。然后,用户可以向CCP集群查询直到接收到的GRN值为止的逻辑路由的实现状况。对于CCP节点(例如,控制器)最后处理的每个GRN,CCP节点知道CCP节点管理的每个MFE(例如,CCP节点对于其是主节点(master)的MFE)上的逻辑实体的实现状况。因此,当用户请求特定GRN处的期望逻辑对象的实现状况(即,用户向MP查询特定GRN处的已实现状态)时,一些实施例的CCP集群通过返回直到特定GRN为止的所有逻辑实体的状况作为响应。在响应中,CCP集群包括尚未实现逻辑实体的任何MFE(例如,执行MFE的管理程序)。例如,对于散布到管理程序子集的分布式防火墙(DFW)规则部分(即,规则部分所依赖的逻辑交换机和路由器跨越管理程序的子集),CCP节点在对查询的回复中包括实现逻辑转发元件的管理程序的子集的状况。在一些实施例中,CCP节点仅在回复中包括其上未实现逻辑实体的管理程序。一些实施例的CCP集群(例如,CCP集群中的一个或多个CCP节点)返回用于逻辑实体的实现状况的消息(响应于逻辑实体的实现状态查询)。在一些实施例中,返回的消息可以是成功消息、非成功消息或进行中消息。在一些实施例中,成功状况指示CCP集群已处理接收到的期望状态并将处理后的数据推送到本地控制平面(例如,在同一主机机器中与MFE一起操作的一个或多个本地控制器)。在一些实施例中,每当MP递增GRN时,MP将递增的GRN与CCP集群同步。在一些实施例中,控制器节点之一(例如,分片(sharding)主控制器)将相同的GRN分配给保持在CCP集群的控制器处的当前运行时状态。在一些实施例中,当CCP集群已针对特定GRN值处理逻辑实体的期望状态和对应运行时状态时,认为针对GRN的特定值的实现状况是成功的。在一些实施例中,成功消息不仅指示逻辑实体的期望状态(以及对应的运行时状态)已经由CCP集群处理和发布,而且还指示逻辑实体已成功配置在实现逻辑实体的(在主机机器或网关上操作的)一个或多个MFE上。例如,在一些这样的实施例中,对逻辑交换机的已实现状态的成功响应意味着(例如,在一个或多个主机机器的管理程序上)实现逻辑交换机的一个或多个MFE成功地连接到一个或多个虚拟机器,该一个或多个虚拟机器逻辑上连接到逻辑交换机。它还意味着MFE与逻辑交换机的控制平面(例如,逻辑交换机的主控制器)和管理平面(例如,逻辑交换机的主管理器)有活动通信。在一些实施例中,对于逻辑实体的状况的不成功实现响应可能具有不同的原因。例如,当一个或多个CCP节点在处理期望状态更新中落后时,CCP节点可能返回期望状态的不成功实现。对于逻辑实体的期望状态的不成功实现的其它原因包括,本文档来自技高网...

【技术保护点】
1.一种用于确定逻辑网络的一个或多个逻辑实体的实现状况的方法,所述方法包括:每次发生特定事件时就递增实现号的值;将递增之后的实现号发布到逻辑网络的一组控制器;在接收到指定逻辑网络的逻辑实体的状态的数据后,将逻辑实体状态数据发布到所述一组控制器;以及向所述一组控制器查询直到特定时间点为止发布到所述一组控制器的一组逻辑实体的状态数据的实现状况,所述查询包括与所述特定时间点相关联的实现号的特定值。

【技术特征摘要】
【国外来华专利技术】2016.03.14 US 15/069,706;2016.03.14 US 15/069,7081.一种用于确定逻辑网络的一个或多个逻辑实体的实现状况的方法,所述方法包括:每次发生特定事件时就递增实现号的值;将递增之后的实现号发布到逻辑网络的一组控制器;在接收到指定逻辑网络的逻辑实体的状态的数据后,将逻辑实体状态数据发布到所述一组控制器;以及向所述一组控制器查询直到特定时间点为止发布到所述一组控制器的一组逻辑实体的状态数据的实现状况,所述查询包括与所述特定时间点相关联的实现号的特定值。2.如权利要求1所述的方法,其中,每次发生所述特定事件时就递增实现号的值包括以某些时间间隔自动递增实现号的值。3.如权利要求1所述的方法,其中,每次发生所述特定事件时就递增实现号的值包括每次从用户接收到递增实现号的值的新请求时就递增实现号的值。4.如权利要求1所述的方法,其中,每次发生所述特定事件时就递增实现号的值包括每次逻辑实体数据被发布到所述一组控制器时就递增实现号的值。5.如权利要求1所述的方法,其中,接收到的逻辑实体的状态数据包括从用户接收到的逻辑实体的定义。6.如权利要求1所述的方法,其中,接收到的逻辑实体的状态数据包括存储在管理平面数据库的逻辑实体的期望状态,而逻辑实体的已实现状态存储在所述一组控制器处。7.如权利要求6所述的方法,其中,逻辑实体的已实现状态包括在多个受管理转发元件(MFE)上配置逻辑实体以实现逻辑实体所需的配置数据。8.如权利要求7所述的方法,其中,当所述一组控制器中的每个控制器基于逻辑实体的期望状态和控制器从MFE的子集接收到的逻辑实体的运行时状态生成配置数据时,逻辑实体被实现。9.如权利要求7所述的方法,其中,逻辑实体还在以下情况下被实现:(i)当所述一组控制器中的特定控制器基于逻辑实体的期望状态和所述特定控制器从MFE的子集接收到的逻辑实体的运行时状态生成配置数据时,以及(ii)当所述特定控制器将配置数据分发到一组本地控制器时,其中每个本地控制器与MFE的子集中的MFE一起在主机机器上操作。10.如权利要求9所述的方法,其中,每个本地控制器从所述特定控制器接收配置数据并生成特定于MFE的配置数据,所述MFE与本地控制器一起操作以在所述MFE上配置逻辑实体。11.如权利要求9所述的方法,其中,逻辑实体包括逻辑转发元件,所述逻辑转发元件将从在主机机器上执行的第一数据计算节点接收到的报文逻辑上转发到第二数据计算节点。12.如权利要求11所述的方法,其中,主机机器是第一主机机器并且第二数据计算节点在第二主机机器上执行,其中,在第一主机机器上操作的第一MFE执行逻辑转发元件的转发处理功能并将报文转发到在第二主机机器上操作的第二MFE。13.如权利要求1所述的方法,还包括接收对查询的响应,其中所述响应指示至少特定逻辑实体直到与实现号的所述特定值相关联的特定时间点为止未被实现。14.如权利要求13所述的方法,其中,当实现号具有大于所述特定值的新值时,所述特定逻辑实体被实现。15.一种存储由至少一个处理单元执行的管理器应用的非瞬态机器可读介质,所述管理器应用用于确定一个或多个逻辑实体的实现状况,所述管理器应用包括用于以下的指令集:每次发生特定事件时就递增实现号的值并且将递增后的值发布到逻辑网络的一组控制器;在接收到指定逻辑网络的逻辑实体的状态的数据后,将逻辑实体状态数据发布到所述一组控制器;以及向所述一组控制器查询直到特定时间点为止发布到所述一组控制器的一组逻辑实体的状态数据的实现状况,所述查询包括与所述特定时间点相关联的实现号的特定值。16.如权利要求15所述的非瞬态机器可读介质,其中,用于每次发生所述特定事件时就递增实现号的值的指令集包括用于以某些时间间隔自动递增实现号的值的指令集。17.如权利要求15所述的非瞬态机器可读介质,其中,用于每次发生所述特定事件时就递增实现号的值的指令集包括用于每次从用户接收到递增实现号的值的新请求时就递增实现号的值的指令集。18.如权利要求15所述的非瞬态机器可读介质,其中,用于每次发生所述特定事件时就递增实现号的值的指令集包括用于每次逻辑实体数据被发布到所述一组控制器时就递增实现号的值的指令集。19.如权利要求15所述的非瞬态机器可读介质,其中,用于接收逻辑实体的状态数据的指令集包括用于从用户接收逻辑实体的定义的指令集。20.如权利要求15所述的非瞬态机器可读介质,其中,接收到的逻辑实体的状态数据包括存储在管理平面数据库的逻辑实体的期望状态,而逻辑实体的已实现状态存储在所述一组控制器处。21.一种针对控制一个或多个逻辑网络中的网络数据通信的中央控制平面(CCP)集群的控制器的、用于识别逻辑网络...

【专利技术属性】
技术研发人员:W·A·兰贝斯J·J·斯塔比尔G·钱德拉谢卡P·萨卡尔P·J·巴尔兰德三世I·盖尼奇弗
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1