一种数据流量的控制方法、控制器及数据中心系统与流程

文档序号:14120105阅读:373来源:国知局
一种数据流量的控制方法、控制器及数据中心系统与流程

本发明涉及通信技术领域,尤其涉及一种数据流量的控制方法、控制器及数据中心系统。



背景技术:

数据中心用来在因特网基础设施上加速信息的传递,为适应业务量的增长及降低维护成本,数据中心逐渐向大二层技术及虚拟化迁移。

数据中心的虚拟化技术主要包括三个方面:网络虚拟化、存储虚拟化和服务器虚拟化。服务器虚拟化技术可以将服务器内部的操作系统和应用程序与下层硬件解除耦合,通过专用的虚拟化软件管理,一台物理服务器能虚拟出多台虚拟机(virtualmachine,vm),由此使得多个虚拟机共享同一物理服务器硬件,还使得虚拟机能够在维持连续服务可用性的同时从一个物理服务器迁移到另一个物理服务器。

随着数据中心的发展,数据中心的数据量也越来越大,针对数据流量有效的管控对于数据中心愈加重要,而数据中心大二层网络广播、未知单播和组播(broadcast,unknowndestinationaddress,multicast,缩写:bum)流量的复制转发会占用大量带宽,不必要的bum流量的复制转发将会导致大量带宽被浪费。

因此,如何实现对bum流量的管控,减少不必要的带宽浪费,实现数据中心的流量调优,是亟待研究和解决的问题。



技术实现要素:

本申请提供一种数据流量的控制方法、控制器及数据中心系统,用以实现对bum流量的管控,减少不必要的带宽浪费,实现数据中心的流量调优。

第一方面,提供一种数据流量的控制方法,所述方法包括:

控制器接收虚拟机管理平台发送的下线通知消息,所述下线通知消息用于通知第一虚拟机已下线;

若确定所述第一虚拟机所在的虚拟局域网内没有任何虚拟机在线,所述控制器指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发广播、未知单播和组播bum流量。

可以看到,通过本申请所提供的方案,控制器能够基于虚拟机管理平台发送的下线通知消息,在判断出已下线虚拟机所在的虚拟局域网中是否没有任何虚拟机在线时,指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量,从而能够避免不必要的bum流量的复制转发,实现了对bum流量转发的有效管控,减少了不必要的带宽浪费,进而达到了数据中心流量调优的目的。

结合第一方面,在第一方面的第一种可能的实现中,所述控制器指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发bum流量之后,所述方法还包括:

所述控制器接收所述虚拟机管理平台发送的上线通知消息,所述上线通知消息用于通知有第二虚拟机上线;

当所述控制器确定所述第二虚拟机位于所述虚拟局域网内,且所述虚拟局域网的状态为下线时,所述控制器指示配置有所述虚拟局域网的所有架顶交换机向所述虚拟局域网转发bum流量。

可以看到,通过本申请所提供的方案,控制器能够基于虚拟机管理平台发送的上线通知消息,在判断出该上线虚拟机所在的虚拟局域网的状态为下线时,指示配置有该虚拟局域网的所有架顶交换机向该虚拟局域网转发bum流量,从而使得bum流量能够按需复制转发,实现了对bum流量转发的有效管控,进而达到了数据中心流量调优的目的。

结合第一方面的第一种可能的实现,在第一方面的第二种可能的实现中,所述控制器指示配置有所述虚拟局域网的所有架顶交换机向所述虚拟局域网转发bum流量,包括:

所述控制器将所述虚拟局域网的状态设置为在线;

所述控制器向所述所有架顶交换机发送上线指示,所述上线指示中包括所述虚拟局域网的标识,所述上线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为在线,并向所述虚拟局域网转发bum流量。

结合第一方面、第一方面的第一种可能的实现或第一方面的第二种可能的实现,在第一方面的第三种可能的实现中,所述控制器指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发bum流量,包括:

所述控制器将所述虚拟局域网的状态设置为下线;

所述控制器向所述所有架顶交换机发送下线指示,所述下线指示中包括所述虚拟局域网的标识,所述下线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为下线,并停止向所述虚拟局域网转发bum流量。

第二方面,提供一种数据流量的控制器,包括:

接收单元,用于接收虚拟机管理平台发送的下线通知消息,所述下线通知消息用于通知第一虚拟机已下线;

指示单元,用于在根据所述接收单元接收到的下线通知消息确定所述第一虚拟机所在的虚拟局域网内没有任何虚拟机在线时,指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发bum流量。

可以看到,本申请所提供的控制器能够基于虚拟机管理平台发送的下线通知消息,在判断出已下线虚拟机所在的虚拟局域网中是否没有任何虚拟机在线时,指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量,从而能够避免不必要的bum流量的复制转发,可以实现对bum流量转发的有效管控,减少不必要的带宽浪费,达到数据中心流量调优的目的。

结合第二方面,在第二方面的第一种可能的实现中,所述接收单元,还用于:接收所述虚拟机管理平台发送的上线通知消息,所述上线通知消息用于通知有第二虚拟机上线;

所述指示单元,还用于:在根据所述接收单元接收到的上线通知消息确定所述第二虚拟机位于所述虚拟局域网内时,且所述虚拟局域网的状态为下线时,所述控制器指示配置有所述虚拟局域网的所有架顶交换机向所述虚拟局域网转发bum流量。

可以看到,本申请所提供的控制器能够基于虚拟机管理平台发送的上线通知消息,在判断出该上线虚拟机所在的虚拟局域网的状态为下线时,指示配置有该虚拟局域网的所有架顶交换机向该虚拟局域网转发bum流量,从而使得bum流量能够按需复制转发,可以实现对bum流量转发的有效管控,达到数据中心流量调优的目的。

结合第二方面的第一种可能的实现,在第二方面的第二种可能的实现中,所述指示单元,具体用于:将所述虚拟局域网的状态设置为在线;以及,

向所述所有架顶交换机发送上线指示,所述上线指示中包括所述虚拟局域网的标识,所述上线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为在线,并向所述虚拟局域网转发bum流量。

结合第二方面、第二方面的第一种可能的实现或第二方面的第二种可能的实现,在第二方面的第三种可能的实现中,所述指示单元,具体用于:

将所述虚拟局域网的状态设置为下线;

向所述所有架顶交换机发送下线指示,所述下线指示中包括所述虚拟局域网的标识,所述下线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为下线,并停止向所述虚拟局域网转发bum流量。

第三方面,提供一种数据中心系统,包括:控制器和虚拟机管理平台;其中,所述控制器与所述虚拟机管理平台之间建立通信连接;

所述虚拟机管理平台,用于在第一虚拟机下线时,向所述控制器发送下线通知消息,所述下线通知消息用于通知第一虚拟机已下线;

所述控制器,用于接收所述虚拟机管理平台发送的所述下线通知消息,在根据所述下线通知消息确定所述第一虚拟机已下线时,判断所述第一虚拟机所在的虚拟局域网内是否没有任何虚拟机在线;以及,用于在确定所述第一虚拟机所在的虚拟局域网内没有任何虚拟机在线时,指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发bum流量。

可以看到,本申请所提供的数据中心系统中,控制器能够基于虚拟机管理平台发送的下线通知消息,在判断出已下线虚拟机所在的虚拟局域网中是否没有任何虚拟机在线时,指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量,从而能够避免不必要的bum流量的复制转发,实现对bum流量转发的有效管控,减少不必要的带宽浪费,达到数据中心流量调优的目的。

结合第三方面,在第三方面的第一种可能的实现中,所述系统还包括:架顶交换机;

所述架顶交换机,用于接收所述控制器发送的上线指示,所述上线指示中包括所述虚拟局域网的标识,根据所述上线指示,设置所述虚拟局域网的状态为在线,并向所述虚拟局域网转发bum流量;以及,用于接收所述控制器发送的下线指示,所述下线指示中包括所述虚拟局域网的标识,根据所述下线指示,设置所述虚拟局域网的状态为下线,并停止向所述虚拟局域网转发bum流量。

可以看到,本申请所提供的数据中心系统中,架顶交换机能够基于控制器发送的上线指示,向状态被设置为在线的虚拟局域网转发bum流量,以及基于控制器发送的下线指示,停止向状态被设置为下线的虚拟局域网转发bum流量,从而使得bum流量能够按需复制转发,达到对bum流量转发的有效管控,实现数据中心流量调优的目的。

结合第三方面或第三方面的第一种可能的实现,在第三方面的第二种可能的实现中,所述系统还包括:主机;所述主机用于创建和运行多个虚拟机;

所述虚拟机管理平台,具体用于:对所述主机上的虚拟机进行管理,以及通知所述控制器所述主机上虚拟机的状态变化。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据中心系统的一个示例及网络架构示意图;

图2为数据中心系统中vm上线对应的业务流程的示意图;

图3为本发明一些实施例提供的数据流量的控制方法的流程示意图;

图4为本发明的一些实施例中vm上线后由控制器执行的bum流量的管控流程示意图;

图5为本发明一些实施例中vm关机或休眠的情况下由控制器执行的bum流量的管控流程示意图;

图6为本发明一些实施例提供的数据流量的控制器示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

数据中心可以认为是一种多租户共享计算、存储和网络资源的数据中心架构。在计算资源虚拟化后,网络需要提供更大范围二层域,虚拟可扩展局域网(virtualextensiblelan,vxlan)技术在传统网络基础上提供逻辑二层网络,适应vm的灵活迁移和资源整合,实现了应用与物理网络的解耦。vxlan还引入了三层ip组播来代替以太网的广播,让bum流量通过广播方式在虚拟网络中传送。

然而在数据中心异构虚拟化场景中,数据中心大二层bum流量占用了大量带宽,现行的技术方案中又较少涉及对于bum流量的管控,特别是没有考虑在vm关机或休眠场景,数据中心系统中架顶交换机仍然会向关机或休眠的虚拟机所在的虚拟局域网转发bum流量,导致了大量带宽被浪费的缺陷。

考虑到现有技术中缺乏对bum流量的管控措施,本发明实施例提供了一种数据流量的控制方法、控制器及数据中心系统,以提供一种针对数据中心大二层bum流量的管控方案,实现对bum流量的较为精细化的管控,使得数据中心大二层网络bum流量能够按需复制转发,从而避免不必要的带宽浪费,实现数据中心的流量调优。

本发明实施例所提供的数据流量的控制方案能够基于虚拟机的状态变化,确定虚拟机所在虚拟局域网的状态,进而使得架顶交换机能够根据配置在其上的虚拟局域网的状态确定是否停止向虚拟局域网转发bum流量,以实现对bum流量的较为精细化的控制,使得数据中心大二层网络bum流量能够按需复制转发,从而避免当前数据中心缺乏对于bum流量的转发不加以控制所可能导致的网络带宽被大量占用的缺陷,实现数据中心的流量调优。

下面将结合附图对本发明实施例所提供的数据流量的控制方案进行描述。

图1示出了本发明实施例提供的数据中心系统的一个示例以及网络架构示意图。

如图1所示,数据中心系统101中包括有控制器1011和虚拟机管理平台1012。其中,图1所示出的示例性网络架构中还包括有架顶(top-of-rack,tor)交换机102(如图1中所示出的tor1、tor2以及tor3)以及主机(host)103(如图1中所示出的host1、host2以及host3)。

其中,虚拟机可以理解为是通过虚拟化技术在主机上所虚拟出来的、运行操作系统和应用程序的软件计算机。虚拟机包含一组规范和配置文件,由主机的物理资源支持。在同一主机上,不同的虚拟机可以独立、并行运行不同的操作系统和多个应用程序。

其中,主机103具体可以是物理服务器(比如物理刀片服务器),具有物理的处理器、内存、存储器和资源。通过虚拟化技术可以在主机103上创建及运行多个虚拟机。当两个或多个主机103组合并作为一个整体来工作和进行管理时,聚合在一起的计算和内存资源形成集群,提供虚拟环境中的资源集合。创建虚拟机可以认为是可将其分配给某个主机、群集或资源池以及数据存储和数据存储群集。比如,对于图1所示出的主机host1、host2,host1上创建有虚拟机vm1、vm2,host2上创建有虚拟机vm3、vm4。

其中,架顶交换机102可以部署在机架上。架顶交换机可以被配置用于路由或转发机架单元中的主机和其他网络单元之间的通信消息,而一个主机上的虚拟机之间的通信可以通过虚拟交换机(vswitch)来完成的。具体地,每个主机可以部署一个或多个虚拟交换机,虚拟交换机能够像物理交换机一样,实现路由、交换等网络通信功能,可用于实现一个主机内多个虚拟机之间的通信、以及将主机内的虚拟机与物理环境连接。

虚拟分布式交换机(virtualdistributedswitch,vds)主要用以针对集群中虚拟交换机过多的问题,与单个虚拟交换机相比,vds能够同时覆盖多个主机,可实现高效管理。vds的一端提供与虚拟机相连的pg,一个vds可以有多个pg另一端提供与物理以太网适配器相连的上行链路(uplink)。虚拟机可以通过虚拟网卡连接到端口组(portgroup,pg),再通过与vds上行链路相连的物理以太网适配器便可以与物理环境连接。比如,对于图1所示出的主机host1、host2,主机host1上的虚拟机vm1、vm2分别通过虚拟网卡连接到pg1,主机host2上的虚拟机vm3、vm4分别通过虚拟网卡连接到pg2,虚拟分布式交换机vds1跨主机host1和host2,分别与pg1和pg2相连,进而使得虚拟机通过与vds1上行链路相连的物理以太网适配器与物理环境连接,即虚拟机vm1、vm2接入配置有虚拟局域网vlan1的tor1,虚拟机vm3、vm4接入配置有虚拟局域网vlan2的tor2。

具体地,如图1所示,数据中心系统101中的控制器1011和虚拟机管理平台1012之间建立有通信连接。比如,控制器1011和虚拟机管理平台1012之间可以通过接口(比如javasdk接口)以及基于握手机制建立通信连接,从而实现信息交互。

具体地,数据中心系统101中的控制器1011主要用于管理网络域,比如向架顶交换机102以及向虚拟机管理平台1012下发网络配置或网络策略;虚拟机管理平台1012主要用于管理计算域,比如管理主机103资源以及管理诸如虚拟机和虚拟交换机等虚拟网络对象。

其中,控制器1011可以通过链路层发现协议(linklayerdiscoveryprotocol,lldp)自动发现主机103的位置信息,发放网络以及业务编排绑定虚拟局域网和端口组(pg)的映射关系;进而一方面,可以向架顶交换机102下发虚拟局域网表项以及网络策略等,为架顶交换机102配置虚拟局域网;另一方面,可以通过与虚拟机管理平台1012之间的通信连接,将虚拟局域网和pg的映射关系通知给虚拟机管理平台1012,由虚拟机管理平台1012分配主机103资源以创建和管理虚拟机。

其中,虚拟机管理平台1012可以将多个主机103的资源加入池中并管理这些物理资源,并根据控制器1011下发的网络配置创建和管理虚拟网络对象,以及向控制器1011及时通知虚拟网络对象状态的变化。比如具体可以包括有管理虚拟机到这些资源的分配、资源到给定主机内虚拟机的分配、感知虚拟机的上线、下线和迁移的事件,以及将感知到的事件通知给控制器1011等。

具体地,控制器1011和虚拟机管理平台1012之间通过所建立的通信连接所交互的信息可包括有控制器1011向虚拟机管理平台1012下发的关于虚拟网络配置、虚拟网络对象的创建以及维护命令等,以及虚拟机管理平台1012向控制器1011发送的关于虚拟网络对象状态的通知消息等。

具体比如,在本发明的一些实施例所提供的数据中心系统中,为了实现对bum流量的管控,虚拟机管理平台1012可以在感知到有虚拟机下线时,向控制器1011发送下线通知消息,用以通知有虚拟机已下线;控制器1011接收该下线通知消息后,如果根据该下线通知消息判断该已下线的虚拟机所在的虚拟局域网内没有任何虚拟机在线时,可以指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量。

进一步地,虚拟机管理平台1012还可以在感知到有虚拟机上线时,向控制器1011发送上线通知消息,用以通知有虚拟机上线;控制器1011接收该上线通知消息后,如果根据该上线通知消息确定该上线的虚拟机位于先前被确认为没有任何虚拟机在线的虚拟局域网内时,可以指示配置有该虚拟局域网的所有架顶交换机重新向该虚拟局域网转发bum流量。

应当指出的是,图1所示网络架构中的数据中心系统101仅为本发明一些实施例中数据中心系统的一个示例,在本发明的一些实施例中,数据中心系统可以进一步包括架顶交换机,即数据中心系统的又一个示例中可包括如图1中的架顶交换机102、控制器1011和虚拟机管理平台1012;

具体地,在本发明的一些实施例所提供的包括有架顶交换机的数据中心系统中,控制器在需要指示配置有虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量时,可以向架顶交换机发送的包括该虚拟局域网的标识的下线指示,在需要指示配置有该虚拟局域网的所有架顶交换机重新向该虚拟局域网转发bum流量时,可以向架顶交换机发送的包括该虚拟局域网的标识的上线指示;架顶交换机在接收到控制器发送的上线指示时,可以根据该上线指示中包括的虚拟局域网的标识,设置该虚拟局域网的状态为在线,并向该虚拟局域网转发bum流量;在接收到控制器发送的下线指示时,可以根据该下线指示中包括的虚拟局域网的标识,设置该虚拟局域网的状态为下线,并停止向该虚拟局域网转发bum流量。

在本发明的一些实施例中,数据中心系统还可以进一步包括主机,即在数据中心系统的又一个示例中可以包括如图1中的主机103、控制器1011和虚拟机管理平台1012;或者,在数据中心系统的又一个示例中可以包括如图1中的架顶交换机102、主机103、控制器1011和虚拟机管理平台1012。

具体地,在本发明的一些实施例所提供的包括有架顶交换机的数据中心系统中,主机可以用于创建和运行多个虚拟机,虚拟机管理平台可以对所述主机上的虚拟机进行管理,以及通知控制器主机上虚拟机的状态变化。

可以看到,在如图1所示的数据中心系统101中,控制器1011主要用于管理网络域,虚拟机管理平台1012主要用于管理计算域。因而在数据中心系统的自动化场景中,能够实现计算与网络的协同管理。

作为一个示例,下面将基于图1所示的数据中心系统的示例及网络架构,对于由数据中心系统101所实现的计算与网络协同管理,以vm上线事件为例,对由数据中心系统101实现vm自动接入网络的过程进行简要的描述。

图2示出了vm上线对应的业务流程的示意图。如图2所示,vm上线对应的业务流程可概括为以下几步:

步骤201:控制器1011管理虚拟机管理平台1012设备,控制器1011和虚拟机管理平台1012握手建立链路。

步骤202:控制器1011通过lldp自动发现物理主机的位置信息。

步骤203:控制器1011发放网络,控制器1011业务编排绑定网络和端口组(pg)的映射关系。

步骤204:控制器1011向虚拟机管理平台1012推送端口组(pg)和vlan的映射关系。

步骤205:虚拟机管理平台1012发放vm,vm上线事件通知控制器1011,控制器1011进行虚拟感知自动打通物理网络。

具体地,在步骤205中,虚拟机管理平台1012通过与控制器1011建立的链路将vm上线事件通知给控制器1011,由控制器1011将向架顶交换机102发送vm上线消息,架顶交换机102保存vm的媒体访问控制(mediaaccesscontrol,mac)等信息,控制器1011按照业务类型、租户划分策略模板,维护并下发vm所应用的策略模板,架顶交换机部署与配置网络策略,这样虚拟机在架顶交换机102上线时,网络策略将被应用到虚拟机上,进而实现通过架顶交换机102对虚拟机的流量和接入进行控制。

vm下线与之类似,由虚拟机管理平台1012将vm下线事件通知给控制器1011,然后由控制器1011通知架顶交换机102删除相应的vm及其策略信息。vm迁移则是通过原vm下线和新vm上线这两部分来完成的。

控制器1011通过与虚拟机管理平台1012,以及与架顶交换机102之间的交互,实现对于虚拟机的创建、配置、以及虚拟拓扑的感知和网络策略的部署。虚拟机发生上线、下线以及迁移时,控制器1011可以及时感知,并通知架顶交换机102实时调整网络策略。通过上述vm上线对应的业务流程步骤,数据中心中大部分的东西向流量(比如在一些场景中通常为80%的东西向流量),将通过vm接入数据中心网络的vxlan隧道大二层网络。

本发明实施例所提供的数据流量的控制方案主要通过由虚拟机管理平台监控和通知控制器虚拟机的状态,以使控制器在确定虚拟机所在虚拟局域网的状态后实现对配置有虚拟局域网的架顶交换机对bum流量转动的较为精细化的控制,使得架顶交换机能够在其所配置的虚拟局域网内没有在线的虚拟机时停止向该虚拟局域网转发bum流量,在该虚拟局域网中重新出现上线的虚拟机时,重新向该虚拟局域网转发bum流量,从而达到数据中心大二层bum流量的按需复制,实现数据中心的流量调优。

图3示出了本发明的一些实施例提供的数据流量的控制方法的流程示意图。该流程可由控制器实现,这里的控制器具体可以是指具备与虚拟机管理平台对接,协同实现网络策略下发及调整,以及集成物理网络管理、虚拟网络管理和业务链编排等功能的软件或软硬件的组合。

比如,基于图1所示的数据中心系统示例,图3流程中所示出的控制器具体可以是图1所示出的数据中心系统101中的控制器1011,相应地,图3流程中所示出的虚拟机管理平台具体可以是图1所示出的数据中心系统101中的虚拟机管理平台1012。

应当指出的是,在本申请描述中“第一虚拟机”中的“第一”仅是为了方便描述,不具备对虚拟机的限定作用;相似地,“第二虚拟机”中的“第二”也仅是为了方便描述,不具备对虚拟机的限定作用。

如图3所示,本发明的一些实施例提供的数据流量的控制方法的流程包括如下步骤:

步骤301:控制器接收虚拟机管理平台发送的下线通知消息,该下线通知消息用于通知第一虚拟机已下线。

步骤302:控制器若确定该第一虚拟机所在的虚拟局域网内没有任何虚拟机在线,则指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量。

其中,虚拟机已下线具体可以是指虚拟机关机或者睡眠。相应地,步骤301中虚拟机管理平台向控制器发送的下线通知消息可以在虚拟机管理平台在检测到有虚拟机关机或休眠时发送的。

具体地,虚拟机管理平台向控制器发送的下线通知消息中可以携带有已下线的虚拟机的名称、id、以及所在位置等信息,从而使得控制器在接收到下线通知消息后,能够确定出该下线通知消息所通知的已下线的虚拟机,进而能够基于该已下线的虚拟机的信息,确定出该已下线的虚拟机所在的虚拟局域网;从而能够对所确定出的该已下线的虚拟机所在的虚拟局域网内是否仍然有虚拟机在线进行判断。

在本发明的一些实施例中,控制器可以根据由下线通知消息所确定出的已下线的虚拟机的信息,查询本地数据库,该本地数据库中可以是存储有虚拟机与其所在虚拟局域网之间的对应关系的数据库,从而能够确定出该已下线的虚拟机所在的虚拟局域网;同时,该数据库中也可以对应虚拟机存储其状态,进而控制器可以进一步地通过查询该数据库内与该虚拟局域网对应的虚拟机的状态来判断该虚拟局域网内是否还有虚拟机在线。

比如,控制器可以存储由虚拟机管理平台发送的关于虚拟机状态的通知消息,从而不断地对本地数据库中所保存的各个虚拟机的状态和各个虚拟机与其所在虚拟局域网的对应关系进行更新,从而可以执行上述确定和判断的过程。

进一步地,在本发明的一些实施例中,控制器还可以对虚拟局域网设置状态参数。具体地,控制器可以在判断一个虚拟局域网内没有任何虚拟机在线时,将该虚拟局域网的状态设置为下线,在判断一个虚拟局域网内存在在线的虚拟机时,将该虚拟局域网的状态设置为在线;例如,可以用0表示下线,1表示上线;或者可以用offline表示下线,online表示上线。

具体地,控制器在步骤302中判断该已下线的虚拟机所在的虚拟局域网内没有任何虚拟机在线时,可以但不限于通过诸如配置消息或命令等方式来指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量。

考虑到前述实施例中所描述的控制器可以对虚拟局域网设置状态参数,在本发明的一些实施例中,控制器在步骤302中判断该已下线的虚拟机所在的虚拟局域网内没有任何虚拟机在线时,可以将该虚拟局域网的状态设置为下线(比如用offline表示)。

进一步地,控制器可以生成携带有该虚拟局域网的标识的下线指示,从而通过将该下线指示发送给配置有该虚拟局域网的所有架顶交换机,使得配置有该虚拟局域网的所有架顶交换机根据该下线指示,设置该虚拟局域网的状态为下线,并停止向该虚拟局域网转发bum流量。

具体地,任一个配置有该虚拟局域网的架顶交换机通过将该虚拟据局域网的状态设置为下线可以实现组播路由剪枝,即不再向状态为下线的虚拟局域网转发bum流量,从而节约网络带宽,避免不必要的bum流量的复制转发,实现数据中心流量调优的目的。

进一步地,在本发明的一些可选实施例中,控制器通过步骤302指示配置有该虚拟局域网的架顶交换机停止向该虚拟局域网转发bum流量之后,还可以持续地监测虚拟机管理平台发送的关于虚拟机状态的通知消息。

相应地,虚拟机管理平台可以在检测到有虚拟机上线时,向控制器发送上线通知消息。其中,虚拟机上线具体可以是指虚拟机开机或唤醒。

相应地,虚拟机管理平台向控制器发送的上线通知消息中也可以携带有上线虚拟机的名称、id、以及所在位置等信息,从而使得控制器在接收到该上线通知消息后,能够确定出该上线的虚拟机所在虚拟局域网。具体地,上线通知消息所携带的内容可以与前述下线通知消息类似。

具体地,控制器可以在接收到虚拟机管理平台发送的上线通知消息时,根据该上线通知消息确定出该上线通知消息所通知的上线虚拟机,进而能够基于该上线的虚拟机的信息确定出该上线的虚拟机所在的虚拟局域网,从而能够对该虚拟局域网内是否是先前被确定为没有任何虚拟机在线的虚拟局域网进行判断,或者也可以理解为,对该上线的虚拟机是否为该上线的虚拟机所在的虚拟局域网中唯一上线的虚拟机进行判断。

相应地,在本发明的一些实施例中,控制器也通过查询本地数据库的方式执行上述确定和判断的过程,具体可参见前文的描述,在此将不再赘述。

考虑到前述实施例中所描述的控制器可以对虚拟局域网设置状态参数,在本发明的一些实施例中,控制器通过如图3所示的流程,在判断一个虚拟局域网内没有任何虚拟机在线后,将会设置该虚拟局域网的状态为下线,并指示配置有该虚拟局域网的所有架顶交换机停止向该虚拟局域网转发bum流量;进而,如果控制器在接收到上线通知消息后,如果判断出上线的虚拟机所在的虚拟局域网当前的状态为下线,则可以指示配置有该虚拟局域网的所有架顶交换机重新向该虚拟局域网转发bum流量。具体地,控制器可以但不限于通过诸如配置消息或命令等方式来指示配置有该虚拟局域网的所有架顶交换机重新向该虚拟局域网转发bum流量。

相应地,控制器在接收到上线通知消息后,如果判断出上线的虚拟机所在的虚拟局域网当前的状态为下线,可以将该虚拟局域网的状态设置为在线(比如用online表示)。

进一步地,控制器可以生成携带有该虚拟局域网的标识的上线指示,从而通过将该上线指示发送给配置有该虚拟局域网的所有架顶交换机,使得配置有该虚拟局域网的所有架顶交换机根据该上线指示,设置该虚拟局域网的状态为在线,并向该虚拟局域网转发bum流量。

相应地,任一个配置有该虚拟局域网的架顶交换机通过将该虚拟据局域网的状态设置为在线可以实现组播路由嫁接,即重新向状态由下线变更为在线的虚拟局域网转发bum流量,从而达到大二层网络bum流量按需复制转发,实现数据中心流量调优的目的。

考虑到虚拟机迁移可以理解为是通过原虚拟机下线和新虚拟机上线这两部分来完成的,因而尽管前述实施例主要描述的是针对虚拟机下线或上线事件并,所触发的由控制器执行的bum数据流量控制的过程,前述实施例所描述的数据流量的控制过程也同样适用于发生虚拟机迁移事件的情形。

作为一个示例,基于图2所示出的vm上线的业务流程,下面将示例性地对应用有本发明的一些实施例所提供的数据流量的控制方案的场景中,vm上线后,控制器对bum流量的管控过程进行描述。

具体地,基于图2所示的vm上线业务流程,图4示出了本发明的一些实施例中vm上线后由控制器执行的bum流量的管控流程。其中,为了流程描述上的完整性,图4中也示出了vm上线的相关业务流程,具体可以参考前文对图2所示的vm上线业务流程中步骤201-205的描述,在此将不再赘述。

与图2类似地,在vm上线对应的业务流程执行完成后(步骤201-步骤205),数据中心中大部分的东西向流量,将可以通过vm接入数据中心网络的vxlan隧道大二层网络。基于步骤201-步骤205,图4进一步地示出了在vm上线业务流程执行完成后,本发明的一些实施例所提供的数据流量的控制方案的执行过程:

过程401:在vm关机或休眠(下线)的情况下,虚拟机管理平台1012通过事件通知控制器1011,控制器1011接收到虚拟机管理平台1012发送的下线通知消息后,判断该已下线的vc所在的vlan内是否有在线的vc,如果判断该vlan内没有任何在线的vm了,则控制器1011指示配置有该vlan的架顶交换机停止向该vlan转发bum流量。

在本发明的一些具体实施例中,过程401的具体实现可以描述如下:

在vm关机或休眠的情况下,虚拟机管理平台1012通过事件通知控制器1011,控制器1011根据虚拟机管理平台1012发送的下线通知消息,若判断出该vm所在vlan内没有任何vm在线了,控制器1011设置该vlan的状态为offline,并向配置有该vlan的架顶交换机上发送包含有该vlan标识的下线指示,以指示配置有该vlan的架顶交换机设置该vlan的状态为下线,从而使得配置有该vlan的架顶交换机能够在确定出该vlan状态为下线的情况下,进行组播路由剪枝,停止向该vlan转发bum流量,从而避免不必要的大二层网络bum流量的转发,节约网络带宽。

相应地,基于过程401,本发明的一些实施例提供的数据流量控制方案的执行过程还可以进一步地包括:

过程402:在vm开机或唤醒(上线)的情况下,虚拟机管理平台1012通过事件通知控制器1011,控制器1011接收到虚拟机管理平台1012发送的上线通知消息后,判断该上线的vm所在的vlan是否是通过过程401被确定为不包含任何在线的vm的valn,(或者也可以理解为在该vm上线之前、不包含任何在线的vm的vlan),如果判断是,则控制器1011指示配置有该vlan的架顶交换机向该vlan转发bum流量。

相应地,在本发明的一些具体实施例中,过程402的具体实现可描述如下:

在vm开机或唤醒的情况下,虚拟机管理平台1012通过事件通知控制器1011,控制器1011根据虚拟机管理平台1012发送的上线通知消息,若判断出该vlan内仅有该上线的vm在线(即该vlan在该vm上线之前没有任何在线的vm),控制器1011将该vlan的状态更改为在线,从而使得配置有该vlan的架顶交换机能够在确定出该vlan状态为在线的情况下,进行组播路由嫁接,向该vlan转发bum流量,从而实现数据中心大二层网络bum流量的按需复制,节约网络带宽。

图5示出了上述过程401的具体实现的一个示例流程示意图。

可以看到,与现有技术中对bum流量的转发不进行精细控制的缺陷相区别,vm的关机或休眠(501)将会触发虚拟机管理平台通知控制器(502),进而使得控制器判断该下线的vc所在的vlan内是否没有任何vc在线(503),在判断出没有任何vc在线时,控制器可以设置该vlan状态为下线(504a),从而指示配置有该vlan的架顶交换机将该vlan的状态设置为下线(505a),进而停止向该vlan转发bum流量(506a),在判断该vlan中仍有在线的vc时,设置(或可以理解为保持)该vlan状态为在线(504b),从而指示配置有该vlan的架顶交换机将该vlan的状态设置(或可以理解为保持)为在线(505b),配置有该vlan的架顶交换机将继续向该vlan转发bum流量(506b)。

通过以上描述可以看出,本发明实施例所提供的数据流量的控制方案主要通过由虚拟机管理平台监控和通知控制器虚拟机的状态,以使控制器在确定虚拟机所在虚拟局域网的状态后实现对配置有虚拟局域网的架顶交换机对bum流量转动的较为精细化的控制,使得架顶交换机能够在其所配置的虚拟局域网内没有在线的虚拟机时停止向该虚拟局域网转发bum流量,在该虚拟局域网中重新出现上线的虚拟机时,重新向该虚拟局域网转发bum流量,从而达到数据中心大二层bum流量的按需复制,减少不必要的带宽浪费,实现数据中心的流量调优。本发明实施例所提供的数据流量的控制方案可以作为计算和网络协同管理方案的优化和补充,适用于数据中心异构虚拟化场景,在数据中心异构虚拟化场景中,对数据中心大二层流量进行调优。

基于相同的技术构思,本发明实施例还提供一种数据流量的控制器,该控制器可执行上述数据流量的控制方法实施例,该控制器可应用于图1所示的数据中心示例中,并可具体实现为图1所示数据中心系统示例中的控制器1011。

图6示出了本发明的一些实施例提供的数据流量的控制器,如图6所示,该数据流量的控制器包括:

接收单元601,用于接收虚拟机管理平台发送的下线通知消息,所述下线通知消息用于通知第一虚拟机已下线;

指示单元602,用于在根据所述接收单元接收到的下线通知消息确定所述第一虚拟机所在的虚拟局域网内没有任何虚拟机在线时,指示配置有所述虚拟局域网的所有架顶交换机停止向所述虚拟局域网转发bum流量。

本发明的一些实施例中,接收单元601,还可以用于:接收所述虚拟机管理平台发送的上线通知消息,所述上线通知消息用于通知有第二虚拟机上线;

指示单元602,还可以用于:在根据所述接收单元接收到的上线通知消息确定所述第二虚拟机位于所述虚拟局域网内时,且所述虚拟局域网的状态为下线时,所述控制器指示配置有所述虚拟局域网的所有架顶交换机向所述虚拟局域网转发bum流量。

本发明的一些实施例中,指示单元602,具体可以用于:

将所述虚拟局域网的状态设置为在线;

向所述所有架顶交换机发送上线指示,所述上线指示中包括所述虚拟局域网的标识,所述上线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为在线,并向所述虚拟局域网转发bum流量。

本发明的一些实施例中,指示单元602,具体可以用于:

将所述虚拟局域网的状态设置为下线;

向所述所有架顶交换机发送下线指示,所述下线指示中包括所述虚拟局域网的标识,所述下线指示用于指示所述所有架顶交换机设置所述虚拟局域网的状态为下线,并停止向所述虚拟局域网转发bum流量。

综上所述,本发明实施例所提供的流量管控方案能够实现对bum流量的较为精细化的控制,使得数据中心大二层网络bum流量能够按需复制转发,从而避免当前数据中心缺乏对于bum报文的转发的有效管控所可能导致的网络带宽被大量占用的缺陷,实现数据中心的流量调优,减少带宽浪费。

对于软件实施,这些技术可以用实现这里描述的功能的模块(例如程序、功能等等)实现。软件代码可以储存在存储器单元中,并且由处理器执行。存储器单元可以在处理器内或者在处理器外实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1