本发明涉及网络通讯领域,尤其涉及一种隔离虚拟网络设备的方法、装置和系统。
背景技术:当前各类基于处理器的网络设备,如路由器、交换机,包括实体物理设备和虚拟设备,主要采用了一个控制组件加一个转发组件的架构,由控制组件对转发组件的转发行为进行控制。其中,转发组件可以包括一个或多个转发核。对于物理网络设备而言,业务全部部署在该物理网络设备的控制组件中。则对于用户来说,只能看到唯一一个网络设备。由于该网络设备只有一个控制组件,当该设备发生故障时,需要对该设备进行重启。在虚拟化场景下,可以虚拟出多个虚拟网络设备,每个虚拟网络设备占用固定的转发核和转发接口,并承担不同的网络角色,例如,路由器,交换机,网关,防火墙等。所述多个虚拟网络设备可以位于同一物理网络设备上,也可以位于不同的物理网络设备上,每个虚拟网络设备都包括一个独立的控制组件,但所述多个虚拟网络设备可以共享同一个转发组件,实现各自的业务转发。所述多个虚拟网络设备可以并行工作,当所述多个虚拟网络设备共享同一转发组件时,如果一个虚拟网络设备出现异常,需要复位该虚拟网络设备对应的转发组件,由于各个虚拟网络设备共享同一个转发组件,复位转发组建导致其他虚拟网络设备也需要复位。因此,一个虚拟网络设备的异常也会引起其他虚拟网络设备的异常,系统可靠性低。
技术实现要素:本发明实施例提供一种隔离虚拟网络设备的方法、装置和系统,用于在多个虚拟网络设备共享同一个转发组件的场景下,隔离发生故障的虚拟网络设备,提高网络的可靠性。本发明实施例一方面提供了一种隔离虚拟网络设备的方法,所述方法应用于多个虚拟网络设备共用同一个转发组件的场景下,所述方法包括:对虚拟网络设备进行监测;当发现异常的虚拟网络设备时,隔离为所述异常的虚拟网络设备分配的转发核,所述转发核属于所述转发组件;释放为所述异常的虚拟网络设备分配的资源;处理与所述异常的虚拟网络设备相关的表项。在上述第一方面的一种具体实施方式中,所述隔离位所述异常的虚拟网络设备分配的转发核包括:获取为所述异常的虚拟网络设备分配的转发核,向所述转发核发送异常中断,使所述转发核处于挂起状态。结合上述实施方式,所述隔离位所述异常的虚拟网络设备分配的转发核之前,所述方法还包括:隔离所述异常的虚拟网络设备的所有通信接口,丢弃所述通信接口上接收的报文。可选地,所述释放为所述异常的虚拟网络设备分配的资源包括:释放为所述虚拟网络设备分配的转发核申请的全局资源,所述转发核,以及为所述异常的虚拟网络设备分配的端口。可选地,所述处理与所述异常的虚拟网络设备相关的表项包括:删除与所述异常的虚拟网络设备相关的表项;或保留与所述异常的虚拟网络设备相关的表项,并将所述表项设置为非激活状态。可选地,所述方法还包括:向所述异常的虚拟网络设备的虚拟控制组件发送通知消息,以使所述虚拟控制组件进行初始化或者重启。可选地,所述方法还包括:接收所述虚拟控制组件在进行初始化或者重启时发送的注册请求,将所述虚拟控制组件和所述转发组件关联,重新为所述虚拟控制组件分配端口,完成所述异常的虚拟网络设备的重启。本发明实施例第二方面提供了一种隔离虚拟网络设备的装置,所述装置应用于多个虚拟网络设备共用同一个转发组件的场景下,所述装置包括:监测单元,用于对虚拟网络设备进行监测;隔离单元,用于在所述监测单元发现异常的虚拟网络设备时,隔离为所述异常的虚拟网络设备分配的转发核,所述转发核属于所述转发组件;释放单元,用于释放为所述异常的虚拟网络设备分配的资源;处理单元,用于处理与所述异常的虚拟网络设备相关的表项。可选地,所述隔离单元具体用于获取为所述异常的虚拟网络设备分配的转发核,向所述转发核发送异常中断,使所述转发核处于挂起状态。可选地,所述隔离单元还用于隔离所述异常的虚拟网络设备的所有通信接口,丢弃所述虚拟网络设备的所有通信接口上收到的报文。可选地,所述释放单元具体用于释放为所述虚拟网络设备分配的转发核申请的全局资源,所述转发核,以及为所述异常的虚拟网络设备分配的端口。可选地,所述处理单元具体用于:删除与所述异常的虚拟网络设备相关的表项;或保留与所述异常的虚拟网络设备相关的表项,并将所述表项设置为非激活状态。可选地,所述装置还包括发送单元,用于向所述异常的虚拟网络设备的虚拟控制组件发送通知消息,以使所述虚拟控制组件进行初始化或者重启。可选地,所述装置还包括生成单元,用于接收所述虚拟控制组件在进行初始化或者重启时发送的注册请求,将所述虚拟控制组件和所述转发组件关联,重新为所述虚拟控制组件分配端口,完成所述异常的虚拟网络设备的重启。本发明实施例第三方面提供了一种隔离虚拟网络设备的系统,所述系统应用于多个虚拟网络设备共用同一个转发组件的场景下,所述系统包括转发组件,端口组件和管理组件;所述转发组件包括多个转发核,所述端口组件包括多个端口,所述管理组件用于生成虚拟控制组件,将所述虚拟控制组件和所述转发组件关联,生成虚拟网络设备,并为虚拟网络设备分配所述端口组件中的端口以及所述转发组件中的转发核;所述管理组件还用于,对虚拟网络设备进行监测;当发现异常的虚拟网络设备时,隔离为所述异常的虚拟网络设备分配的转发核;释放为所述异常的虚拟网络设备分配的资源;处理与所述异常的虚拟网络设备相关的表项。可选地,所述管理组件为上述第二方面所述的隔离虚拟网络设备的装置。本发明实施例第四方面提供了一种隔离虚拟网络设备的装置,所述装置应用于多个虚拟网络设备共用同一个转发组件的场景下,所述装置包括:处理器,通信接口,存储器以及总线;所述处理器,通信接口以及存储器通过所述总线完成相互间的通信;所述存储器,用于存储程序;所述处理器,用于执行所述存储器存储的程序;所述程序在被执行时用于实现本发明实施例第一方面所述的方法。本发明上述实施例通过监测每个虚拟网络设备的状态,并在发现异常的虚拟网络设备时,仅隔离并释放为所述异常的虚拟网络设备分配的转发核等资源,而不需要复位转发组件中的其他转发核,避免了一个虚拟网络设备出现异常时对其他虚拟网络设备的影响,提高了系统的可靠性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的系统架构图;图2为本发明实施例提供的隔离虚拟网络设备的方法流程图;图3为本发明实施例提供的另一种隔离虚拟网络设备的方法流程图;图4为本发明实施例提供的隔离虚拟网络设备的装置的结构示意图;图5为本发明实施例提供的另一种隔离虚拟网络设备的装置的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。如图1所示,为本发明实施例提供的系统架构图。所述系统包括一个转发组件10,一个端口组件20和一个管...