CN105577723B - 虚拟化网络中实现负载分担的方法和装置 - Google Patents

虚拟化网络中实现负载分担的方法和装置 Download PDF

Info

Publication number
CN105577723B
CN105577723B CN201410548603.5A CN201410548603A CN105577723B CN 105577723 B CN105577723 B CN 105577723B CN 201410548603 A CN201410548603 A CN 201410548603A CN 105577723 B CN105577723 B CN 105577723B
Authority
CN
China
Prior art keywords
service
service server
address
message
flow table
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.)
Active
Application number
CN201410548603.5A
Other languages
English (en)
Other versions
CN105577723A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410548603.5A priority Critical patent/CN105577723B/zh
Publication of CN105577723A publication Critical patent/CN105577723A/zh
Application granted granted Critical
Publication of CN105577723B publication Critical patent/CN105577723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供一种虚拟化网络中实现负载分担的方法,应用在所述虚拟化网络的控制器上,所述方法包括:接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。通过本申请的技术方案,将业务流量分发分散在多个虚拟化接入设备上进行,避免了性能瓶颈;并且在增加业务服务器数量时配置更为简化。

Description

虚拟化网络中实现负载分担的方法和装置
技术领域
本申请涉及网络通信技术领域,尤其涉及一种虚拟化网络中实现负载分担的方法和装置。
背景技术
云计算是信息技术产业的一次新变革,它将各种传统的计算资源、存储资源以及网络资源,通过互联网全部转移到云端,用户不必了解设备的位置,也不必了解计算的过程,而只要按需使用即可。
作为支撑云计算的重要技术基石,虚拟化技术得到了充分发展。服务器虚拟化技术可以在一台物理主机同时运行多个虚拟机,这些虚拟机相互隔离并共用底层物理资源。考虑到容量扩展的便利性和高可用性需求,企业通常将业务配置在多台虚拟的主机或物理主机上,每台主机作为一个业务服务器,以一个业务服务器组的形式向其用户提供业务服务。这时,就需要一个方案来将多个用户端的访问分发到不同的业务服务器上,在这些业务服务器间进行负载分担。
在云计算的环境下,业务服务器组的成员可能分布在任何地方,并且可能发生虚拟机迁移的情况,在进行负载分担时,如何减少配置的复杂程度、避免性能瓶颈,就成为需要考虑的问题。
发明内容
有鉴于此,本申请提供一种虚拟化网络中实现负载分担的方法,应用在所述虚拟化网络的控制器上,所述方法包括:
接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;
在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;
向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。
本申请还提供了一种虚拟化网络中实现负载分担的装置,应用在所述虚拟化网络的控制器上,所述装置包括:
业务相关报文接收单元,用于接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;
目的服务器选择单元,用于在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;
负载分担流表下发单元,用于向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。
由以上技术方案可见,本申请的实施例中,控制器以流表的方式控制虚拟化接入设备将业务相关报文的目的MAC地址更改为所选择的业务服务器的MAC地址,即可将业务流量分配到所选择的业务服务器上,从而将业务流量分发分散在多个虚拟化接入设备上进行,避免了性能瓶颈;并且无需为每个业务服务器配置不同的IP地址,在增加业务服务器数量时配置更为简化。
附图说明
图1是一个例子中业务服务器组所在网络的组网结构示例图;
图2是一个例子中控制器或接入网关所在设备的硬件架构示意图;
图3是一个例子中一种虚拟化网络中实现负载分担的方法的流程图;
图4是一个例子中基于分布式交换机的虚拟化网络的组网结构示例图;
图5是一个例子中一种虚拟化网络中实现负载分担的装置的逻辑结构图。
具体实施方式
SDN(Software Defined Networking,软件定义网络)是当前盛行的一种网络虚拟化解决方案,其核心理念是将网络的控制平面和转发平面相分离,把网络的控制平面,如所有转发行为的决策都迁移到集中式的控制器(Controller)上,转发设备采用控制器下发的流表进行转发。
在应用虚拟化技术的主机上,通常每个虚拟机有自己的虚拟网卡,在虚拟网卡和物理主机的物理网卡之间,由软件实现的虚拟交换机(vSwitch)进行报文转发。vSwitch可以作为被控制器控制的其中一种转发设备,来实现端到端的网络虚拟化。
图1所示是一种业务服务器组所在的网络可能具有的组网结构,业务服务器组包括运行在物理主机140上的虚拟机VM-S1、运行在物理主机150上的虚拟机VM-S2和VM-S3、以及物理主机160,其中,VM-S1通过vSwitch 141、VM-S2和VM-S3通过vSwitch 151接入物理网络;运行在物理主机120上的虚拟机VM-C1和VM-C2通过vSwitch 121接入物理网络,运行在物理主机130上的虚拟机VM-C3通过vSwitch 131接入物理网络,VM-C1、VM-C2和VM-C3作为业务服务器组的用户端,需要访问业务服务器组以获得相应的服务。运行在物理主机110上的控制器111对物理网络中的设备和各个vSwitch进行管理和控制。
申请人知道的一种已有的技术方案中,在图1所示的网络中增加LB(LoadBalancing,负载均衡)设备,以LB设备的虚拟IP地址作为业务服务器组的IP地址发布给用户端。所有的用户端会以该虚拟IP地址对业务服务器组的业务发起请求,该请求会先发送到LB设备上。在LB设备上保存业务服务器组中所有业务服务器(如图1中的VM-S1、VM-S2、VM-S3、物理服务器160)的地址信息,其中包括每个业务服务器的IP地址。LB设备在收到用户端的请求后,在业务服务器组中分配一个业务服务器,再以该业务服务器的IP地址为目的地址将用户端的请求发送到该业务服务器上。这样,用户端访问业务服务器组的流量都需要先经过LB设备,当访问量比较大时,LB设备就会成为性能的瓶颈;并且,每个业务服务器都需要配置不同的IP地址,在增加业务服务器组的服务器数量时配置较为复杂。
另外,LB设备可以是网络中一个独立的设备,也可以是虚拟设备VLB(VirtualLoad Balancing,虚拟负载均衡)。如果是一个独立的设备,则需要额外的投资来购置该设备的硬件和软件;如果是VLB设备,引入VLB设备能够在云计算的虚拟化环境下使负载均衡功能具备更多的灵活性,但是同时也导致访问各业务服务器的流量需要到VLB上绕行,使得数据中心内的流量模型绕行严重,面临着更为突出的性能瓶颈问题。
在本申请的一个例子中,运行在控制器上的负载分担控制逻辑能够在不额外增加设备的情况下实现业务负载均衡功能,同时避免现有的负载分担方案导致的性能瓶颈问题。本例中的控制器可以是vSwitch控制器,可以是具备SDN控制功能和vSwitch控制功能的控制器,也可以是分布式交换机控制器;控制器所在的物理设备可以是主机,也可以是网络设备。请参考图2,控制器所在的物理设备可以包括处理器211、内存212、非易失性存储器213以及网络接口14,这些硬件通过内部总线215相互连接。在这个例子中,处理器211将VLAN映射控制逻辑从非易失性存储器213中读取到内存212中运行,其运行流程如图3所示。
本例中,业务服务器组包括一个以上的业务服务器,业务服务器可以是运行在物理主机上的虚拟机,也可以是物理服务器。业务服务器组具有至少一个业务IP地址,用户端可以利用业务IP地址来访问业务服务器组提供的服务。业务服务器组可以在控制器上创建,以分布式交换机控制器为例,可以在分布式交换机控制器上创建业务服务器组,将虚拟机接入虚拟化网络的端口加入到该业务服务器组中,该虚拟机即成为该业务服务器组中的业务服务器;业务服务器组也可以通过其他方式创建,并在控制器上保存该业务服务器组的业务IP地址,和其包含的业务服务器以及业务服务器的MAC地址、所连接的vSwitch等信息。
本例中,用户端通过虚拟化接入设备连接到物理网络,包括通过vSwitch接入物理网络的虚拟机,也包括通过接入网关接入实现虚拟化功能的物理主机。物理主机通过接入网关与网络中的其他主机或虚拟机进行通信,接入网关按照控制器采用的协议与控制器进行交互,向控制器上报与物理主机相关的地址和其他配置信息,根据控制器下发的流表对来自和去往物理主机的报文进行处理;换言之,接入网关作为非虚拟化的物理主机与虚拟化网络之间的中继,实现控制器对与物理主机相关的报文的控制,例如,接入网关在收到来自物理主机的报文时,如果本地流表中未找到匹配的表项,则将该报文上报给控制器;如果本地流表中找到匹配的表项,则根据表项对该报文进行处理。
步骤310,接收虚拟化接入设备上传的访问业务服务器组的业务相关报文。本例中的业务相关报文包括各种在获得业务服务器组提供的业务服务的过程中访问业务服务器组的报文,例如以业务服务器组的业务IP地址为目的地址的业务报文。
当vSwitch收到来自虚拟机、或者当接入网关收到来自物理主机访问业务服务器组的业务相关报文时,如果本地未找到匹配该报文的流表表项,则将该业务相关报文上传到控制器。
步骤320,在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器。
控制器上保存有其管理域内各个VM、vSwitch、业务服务器组、接入网关以及其他被管理设备的信息,如VM的IP地址、MAC(Media Access Control,媒体接入控制)地址、所连接的vSwitch、所在的物理主机等信息,业务服务器组的业务IP地址、其包含的业务服务器的MAC地址、所连接的vSwitch、所在的物理主机等信息。
当控制器收到虚拟化接入设备上传的访问业务服务器组的业务相关报文后,在保存的业务服务器组中的业务服务器中选择一个作为该业务相关报文的目的服务器,来为发送该业务相关报文的用户端提供服务。
控制器可以采用各种负载均衡方法来在业务服务器组中选择某个业务相关报文的目的服务器,包括已有的各种负载均衡算法。控制器还可以选择各种参数来应用这些负载均衡算法,如业务相关报文的源IP地址(或业务相关报文的源VM)、业务相关报文的源虚拟化接入设备的标识、业务相关报文的源物理设备等等。例如,以业务相关报文的源IP地址为参数,采用轮转、加权轮转等算法来确定该报文的目的服务器。
步骤330,向上传业务相关报文的虚拟化接入设备下发负载分担流表,该负载分担流表用于:将该业务相关报文的目的MAC地址更改为该业务相关报文的目的服务器的MAC地址后,从通往该目的服务器的出端口转发。
控制器从保存的业务服务器组的信息中得到所选择的目的服务器的MAC地址,按照该目的服务器所连接的vSwitch和/或物理网络中的网络设备、与上传该业务相关报文的虚拟化接入设备之间的转发路径确定该业务相关报文在虚拟化接入设备上的出端口,据之生成负载分担流表,下发给上传该业务相关报文的虚拟化接入设备。下发的负载分担流表指令该虚拟化接入设备将该业务相关报文的目的MAC地址更改为目的服务器的MAC地址,并从虚拟化接入设备上通往目的服务器的出端口转发。
这样,访问业务服务器组的业务相关报文将根据目的IP地址(业务服务器组的业务IP地址)和目的MAC地址被转发到控制器选择的目的服务器上。并且,后续匹配该负载分担流表的业务相关报文将由虚拟接入设备直接进行MAC地址替换和转发。
以图1所示的网络为例,对包括虚拟机VM-S1、VM-S2和VM-S3、以及物理主机160的业务服务器组,控制器111上保存有表1所示的内容,其中:PS-160为物理主机160;IP-G为业务服务器组的业务IP地址;MAC-S1、MAC-S2、MAC-S3、MAC-160分别为VM-S1、VM-S2、VM-S3和物理主机160的MAC地址。
业务服务器 IP地址 MAC地址
VM-S1 IP-G MAC-S1
VM-S2 IP-G MAC-S2
VM-S3 IP-G MAC-S3
PS-160 IP-G MAC-160
表1
当虚拟机VM-C3作为用户端访问业务服务器组时,其生成的业务报文以IP-G为目的IP地址。该业务报文到达vSwitch 131后,vSwitch 131未找到匹配的流表,将其上传至控制器111。
控制器111根据业务报文的源IP地址,在VM-S1、VM-S2、VM-S3、和PS-160中确定VM-S1为其目的服务器,则向vSwitch 131下发负载分担流表。vSwitch 131按照下发的负载分担流表,将业务报文中的目的MAC地址更改为VM-S1的MAC地址MAC-S1后,从通往物理网络的端口发送出去。目的IP地址为IP-G、目的MAC地址为MAC-S1的业务报文通过物理网络到达VM-S1。由于该业务报文的目的MAC为VM-S1的真实MAC,因此该业务报文可以穿越物理网络到达VM-S1。
可见,本例中,当用户端访问业务服务器组时,控制器以流表的方式控制接入用户端的vSwitch或接入网关进行目的服务器的MAC地址替换,即可将业务流量分配到所选择的目的服务器上,从而实现负载的分担。控制器通过流表对将业务流量分发到哪个目的服务器上进行控制,但并不参与业务流量的分发。业务流量的分发分散在多个接入用户端的虚拟化接入设备上进行。在控制器下发的负载分担流表的生存期内,所有匹配该流表的业务流量将由虚拟化接入设备直接分发到负载分担流表中的目的服务器上,而不再需要经过集中的中继设备,避免了性能瓶颈;本例中通过MAC地址标识不同的业务服务器,因而无需为每个业务服务器配置不同的IP地址,减少了IP地址占用,并且在虚拟化环境下增加业务服务器数量时配置更为简化。
在一个例子中,在控制器上保存所下发的负载分担流表、以及负载分担流表与接收该负载分担流表的虚拟化接入设备的对应关系。控制器对业务服务器组中的业务服务器进行健康检查,可以采用现有负载均衡技术中的健康检查方案,也可以仅由业务服务器的接入设备(如vSwitch)上报给控制器其连接该业务服务器的端口状态变为DOWN(失效)来判断该业务服务器发生故障。如果某个业务服务器发生故障,则找出所有以该业务服务器为目的服务器的负载分担流表,将这些负载分担流表的目的服务器刷新为业务服务器组中某个状态正常的业务服务器,即刷新后的负载分担流表用于:将业务相关报文的目的MAC地址更改为该状态正常的业务服务器的MAC地址,并从通往该状态正常的业务服务器的出端口转发;控制器指令该负载分担流表对应的虚拟化接入设备,对该负载分担流表进行同样的刷新。由于以其他业务服务器为目的服务器的已建立流表不受影响,当业务服务器组内的某一业务服务器故障时,不会影响到其他业务服务器对当前业务的正常处理。当业务服务器组中的业务服务器发生迁移后,控制器找出所有以该业务服务器为目的服务器的负载分担流表,将该流表的出端口刷新为通往迁移后目的服务器的出端口,并指令负载分担流表对应的虚拟化接入设备对该负载分担流表进行同样的刷新。
在这个例子中,控制器可以对各个业务服务器的状态进行维护,在步骤320中,控制器可以从状态正常的业务服务器中选择一个作为业务相关报文的目的服务器。
与业务服务器组的业务IP类似,可以为业务服务器组设置一个组MAC地址作为所有业务服务器共用的虚拟MAC地址。一个例子中,当用户端通过业务IP地址访问业务服务器组时,如果业务IP地址与用户端的IP地址在同一个网段,则在本地ARP(AddressResolution Protocol,地址解析协议)缓存查找业务IP地址对应的MAC地址;如果没有找到,则发起目的地址为业务IP地址的ARP请求,虚拟化接入设备将用户端的ARP请求报文上传到控制器。控制器收到目的地址为业务服务器组的业务IP地址的ARP请求报文后,以该业务服务器组的组MAC地址作为地址解析结果,生成ARP响应报文,发送给该用户端,作为对其ARP请求报文的响应。通过设置统一的组MAC地址,可以简化本例中方案的部署,并增强可维护性。
这个例子中,如果用户端的IP地址与业务IP地址在同一个网段内,用户端生成的访问业务服务器组的业务相关报文将以业务IP地址为目的IP地址,以业务服务器组的组MAC地址为目的MAC地址。如果用户端的IP地址与业务IP地址不在同一个网段内,用户端生成的访问业务服务器组的业务相关报文将以业务IP地址为目的IP地址,以该用户端的网关的MAC地址为目的MAC地址。这样,在虚拟化接入设备上,根据控制器下发的负载分担流表,会将来自用户端的业务相关报文中的业务服务器组的组MAC地址、或网关的MAC地址更改为控制器指定的目的服务器的MAC地址。
如果用户端的IP地址与业务IP地址不在同一个网段内,业务相关报文需要进行三层转发才能从虚拟化接入设备经过物理网络到达目的服务器。这种情况下,控制器下发的负载分担流表中还可能会包括与三层转发相关的处理过程,例如修改VLAN(Virtual LocalArea Network,虚拟局域网)信息等,这些过程均可采用与现有技术相同的处理方式,不再赘述。
需要说明的是,用户端发送的以业务IP地址为目的地址的ARP请求报文与业务服务器提供的业务服务无关,因而不是业务相关报文,控制器将进行ARP响应而不会为其分配目的服务器。
当某个用户端虚拟机发生迁移后,接入迁移后虚拟机的vSwitch会重新生成该虚拟机的流表。当该虚拟机作为用户端访问业务服务器组时,按照本例中的上述流程,vSwitch即可获得新的负载分担流表,并实现迁移后虚拟机到目的服务器的访问。
本申请的另一个例子中,业务服务器组所在的网络环境为基于分布式交换机(Distributed vSwitch)实现的虚拟化网络,由分布式交换机控制器(DistributedvSwitch Controller)对各个vSwitch和接入网关进行控制。分布式交换机控制器利用vSwitch或接入网关上的端口来识别和管理连接在vSwitch或接入网关上的主机(包括虚拟机和物理主机),其管理域内所有vSwitch和接入网关上的端口具有在该虚拟化网络中唯一的全局端口号。一种示例性的组网结构如图4所示,连接在vSwitch 420的端口422上的VM42a、连接在vSwitch 420的端口423上的VM 42b和连接在vSwitch 430的端口432上的VM43a组成业务服务器组,连接在vSwitch 440上的VM 44a、连接在接入网关450上的物理主机45a可以作为用户端对业务服务器组发起访问。vSwitch 420、vSwitch 430、vSwitch 440和接入网关450分别通过各自的端口421、端口431、端口441和端口451接入物理网络,分布式交换机控制器410作为该虚拟化平台的控制器也接入物理网络,以实现相互间的通信。
在分布式交换机控制器410上创建业务服务器组,将连接各个业务服务器的全局端口号加入到该业务服务器组中。分布式交换机控制器410从其预置的MAC地址池中选择一个虚拟MAC地址gMAC作为该业务服务器组的组MAC地址,分配1.1.1.1作为业务服务器组的业务IP,并建立如表2所示的表项用于生成负载分担流表:
全局端口号 业务IP地址 组MAC地址 业务服务器的MAC地址 状态
422 1.1.1.1 gMAC M-42a 正常
423 1.1.1.1 gMAC M-42b 正常
432 1.1.1.1 gMAC M-43a 正常
表2
其中,业务服务器的MAC地址可以由分布式交换机控制器410根据其保存的连接到全局端口的主机信息自动生成;业务服务器以其接入该虚拟化网络的全局端口号作为标识。分布式交换机控制器410对业务服务器组内的各个业务服务器进行周期性的健康检查,通过健康检查的业务服务器的状态为正常,健康检查失败的业务服务器的状态为故障。
当虚拟机VM 44a或物理主机45a第一次访问业务服务器组时,本地ARP缓存中尚无与1.1.1.1对应的MAC地址,发送ARP请求报文。接收到ARP请求报文的vSwitch 440或接入网关450将该ARP请求报文上传到分布式交换机控制器410。
假设VM 44a、物理主机45a与业务IP地址在同一个网段内,分布式交换机控制器410收到的ARP请求报文以1.1.1.1为目的IP地址。分布式交换机控制器410识别出该ARP请求报文的目的IP地址为业务服务器组的业务IP地址,为该ARP请求返回该业务服务器组的组MAC地址作为响应。这样,所有用户端的ARP缓存中,与业务IP地址对应的MAC地址为该业务服务器组的组MAC地址gMAC。通过设置统一的组MAC地址,可以简化本例中方案的部署,并增强可维护性。
VM 44a收到ARP响应后,以业务服务器组的业务IP地址和组MAC地址作为目的地址生成业务报文,对业务服务器组发起访问。第一个业务报文在到达vSwitch 440后,因没有匹配的流表,vSwitch 440会将其上传到分布式交换机控制器410。
分布式交换机控制器410发现上传业务报文的目的IP地址是业务服务器组的业务IP地址,按照设定的负载均衡算法从表2中状态正常的业务服务器中选择一个作为VM 44a的业务报文的目的服务器。设分布式交换机控制器410选择了连接在端口423上的VM 42b作为目的服务器,则通过查找保存的被管理对象的连接拓扑,可以获知vSwitch 440将业务报文转发到目的服务器VM 42b的出端口为端口441。
分布式交换机控制器410生成负载分担流表下发给vSwitch 440,指令vSwitch440先将目的IP地址为1.1.1.1的业务报文的目的MAC地址更改为VM 42b的MAC地址M-42b,然后从端口441转发出去。分布式交换机控制器410保存所生成的负载分担流表和VM 42b的对应关系。
收到负载分担流表的vSwitch 440对目的IP地址为1.1.1.1的业务报文进行对应的处理后,目的地址为1.1.1.1和M-42b的业务报文将经过物理网络的转发后到达VM 42b。后续当VM 44a再次发送访问1.1.1.1的业务报文时,vSwitch 440将按照已有的负载分担流表进行目的MAC地址的更改和转发。
当某个业务服务器发生故障时,如VM 42b所在的物理主机掉线,VM 42b将无法通过分布式交换机控制器410的健康检查。分布式交换机控制器410将表2中VM 42b的状态改为故障,这样新的业务流量将不会再分配到VM42b上。分布式交换机控制器410在保存的已经下发的负载分担流表中查找目的服务器为VM 42b的流表,将这些负载分担流表的目的服务器刷新为状态正常的业务服务器中的一个,并且指令该负载分担流表对应的vSwitch或接入网关进行同样的刷新。
以上述下发给vSwitch 440的负载分担流表为例,VM 42b的状态变为故障后,分布式交换机控制器410选择状态正常的VM 43a作为新的目的服务器,则将该负载分担流表刷新为:将目的IP地址为1.1.1.1的业务报文的目的MAC地址更改为VM 43a的MAC地址M-43a,然后从端口441转发出去,并指令vSwitch 440也同样刷新该负载分担流表。这个例子中,业务报文在vSwitch 440上还是通过端口441转发到物理网络,因此在刷新流表时不需更改出端口。
分布式交换机控制器410上以其他状态正常的业务服务器为目的服务器的流表不受VM 42b故障的影响,这些业务服务器上正在进行的业务服务也不会受到影响。
在这个例子中,只需要将业务服务器的全局端口加入到分布式交换机控制器上的业务服务器组中,在发生虚拟机迁移时只要更改迁移的业务服务器的全局端口,即可完成与业务服务器组有关的配置,简化了网络管理员的工作。
与上述流程实现对应,本申请还提供了虚拟化网络中实现负载分担的装置,应用在该虚拟化网络的控制器上,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,可以通过图2中的处理器211将负载分担控制逻辑读取到内存212中运行而形成。
图5所示为本申请一个例子中的一种虚拟化网络中实现负载分担的装置,应用在该拟化网络的控制器上,所述装置包括业务相关报文接收单元、目的服务器选择单元和负载分担流表下发单元,其中:业务相关报文接收单元用于接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;目的服务器选择单元用于在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;负载分担流表下发单元用于向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。
一个例子中,所述装置还包括负载分担流表保存单元、健康检查单元和第一流表刷新单元,其中:负载分担流表保存单元用于保存所下发的负载分担流表以及所述负载分担流表对应的虚拟化接入设备;健康检查单元用于对业务服务器组中的业务服务器进行健康检查;第一流表刷新单元用于当某个业务服务器发生故障时,将以发生故障的业务服务器为目的服务器的负载分担流表刷新为以业务服务器组中某个状态正常的业务服务器为目的服务器;并指令对应的虚拟化接入设备进行同样的刷新。
所述装置还可以包括ARP接收单元和ARP响应单元,其中:ARP接收单元用于接收虚拟化接入设备上传的ARP请求报文;所述ARP请求报文的目的地址为所述业务服务器组的业务IP地址;ARP响应单元用于以所述业务服务器组的组MAC地址作为地址解析结果,响应所述ARP请求报文。
所述访问业务服务器组的业务相关报文可以包括:以业务服务组的业务IP地址和组MAC地址为目的地址的业务报文,以及以业务服务组的业务IP地址和业务报文源主机的网关的MAC地址为目的地址的业务报文;所述将业务相关报文的目的MAC地址更改为其目的服务器的MAC地址,包括:将业务相关报文中的业务服务组的组MAC地址或网关的MAC地址更改为所选择的所述业务相关报文目的服务器的MAC地址。
所述虚拟化接入设备可以包括:连接虚拟机VM的虚拟交换机vSwitch,和连接物理主机的接入网关,所述接入网关根据控制器下发的流表对物理主机访问业务服务器组的业务相关报文进行处理,并将未查询到匹配流表的业务相关报文上传到控制器。
所述装置还可以包括负载分担流表保存单元和第二流表刷新单元,其中:负载分担流表保存单元用于保存所下发的负载分担流表和对应的虚拟化接入设备;第二流表刷新单元用于当某个业务服务器发生迁移后,将以发生故障的业务服务器为目的服务器的负载分担流表的出端口刷新为通往迁移后目的服务器的出端口;并指令对应的虚拟化接入设备进行同样的刷新。
一个例子中,所述控制器包括分布式交换机控制器;所述业务服务器以其接入所述虚拟化网络的全局端口号作为标识。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

1.一种虚拟化网络中实现负载分担的方法,应用在所述虚拟化网络的控制器上,其特征在于,所述方法包括:
接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;所述业务相关报文以业务服务器组的业务IP地址为目的地址;
在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;
向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的媒体接入控制MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所下发的负载分担流表以及所述负载分担流表与虚拟化接入设备的对应关系;
对业务服务器组中的业务服务器进行健康检查;
当某个业务服务器发生故障时,将以发生故障的业务服务器为目的服务器的负载分担流表刷新为以业务服务器组中某个状态正常的业务服务器为目的服务器;并指令对应的虚拟化接入设备进行同样的刷新。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收虚拟化接入设备上传的地址解析协议ARP请求报文;所述ARP请求报文的目的地址为所述业务服务器组的业务IP地址;
以所述业务服务器组的组MAC地址作为地址解析结果,响应所述ARP请求报文。
4.根据权利要求3所述的方法,其特征在于,所述访问业务服务器组的业务相关报文包括:以业务服务组的业务IP地址和组MAC地址为目的地址的业务报文,以及以业务服务组的业务IP地址和业务报文源主机的网关的MAC地址为目的地址的业务报文;
所述将业务相关报文的目的MAC地址更改为其目的服务器的MAC地址,包括:将业务相关报文中的业务服务组的组MAC地址或网关的MAC地址更改为所选择的所述业务相关报文目的服务器的MAC地址。
5.根据权利要求1所述的方法,其特征在于,所述虚拟化接入设备包括:连接虚拟机VM的虚拟交换机vSwitch,和连接物理主机的接入网关,所述接入网关根据控制器下发的流表对物理主机访问业务服务器组的业务相关报文进行处理,并将未查询到匹配流表的业务相关报文上传到控制器。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所下发的负载分担流表和对应的虚拟化接入设备;
当某个业务服务器发生迁移后,将以发生故障的业务服务器为目的服务器的负载分担流表的出端口刷新为通往迁移后目的服务器的出端口;并指令对应的虚拟化接入设备进行同样的刷新。
7.根据权利要求1所述的方法,其特征在于,所述控制器包括分布式交换机控制器;所述业务服务器以其接入所述虚拟化网络的全局端口号作为标识。
8.一种虚拟化网络中实现负载分担的装置,应用在所述虚拟化网络的控制器上,其特征在于,所述装置包括:
业务相关报文接收单元,用于接收虚拟化接入设备上传的访问业务服务器组的业务相关报文;所述业务服务器组包括至少一个业务服务器;所述业务相关报文以业务服务器组的业务IP地址为目的地址;
目的服务器选择单元,用于在业务服务器组中选择一个业务服务器作为所述业务相关报文的目的服务器;
负载分担流表下发单元,用于向所述虚拟化接入设备下发负载分担流表,所述负载分担流表用于:将所述业务相关报文的目的媒体介入控制MAC地址更改为所述业务相关报文的目的服务器的MAC地址后,从通往所述目的服务器的出端口转发。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
负载分担流表保存单元,用于保存所下发的负载分担流表以及所述负载分担流表与虚拟化接入设备的对应关系;
健康检查单元,用于对业务服务器组中的业务服务器进行健康检查;
第一流表刷新单元,用于当某个业务服务器发生故障时,将以发生故障的业务服务器为目的服务器的负载分担流表刷新为以业务服务器组中某个状态正常的业务服务器为目的服务器;并指令对应的虚拟化接入设备进行同样的刷新。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
地址解析协议ARP接收单元,用于接收虚拟化接入设备上传的ARP请求报文;所述ARP请求报文的目的地址为所述业务服务器组的业务IP地址;
ARP响应单元,用于以所述业务服务器组的组MAC地址作为地址解析结果,响应所述ARP请求报文。
11.根据权利要求10所述的装置,其特征在于,所述访问业务服务器组的业务相关报文包括:以业务服务组的业务IP地址和组MAC地址为目的地址的业务报文,以及以业务服务组的业务IP地址和业务报文源主机的网关的MAC地址为目的地址的业务报文;
所述将业务相关报文的目的MAC地址更改为其目的服务器的MAC地址,包括:将业务相关报文中的业务服务组的组MAC地址或网关的MAC地址更改为所选择的所述业务相关报文目的服务器的MAC地址。
12.根据权利要求8所述的装置,其特征在于,所述虚拟化接入设备包括:连接虚拟机VM的虚拟交换机vSwitch,和连接物理主机的接入网关,所述接入网关根据控制器下发的流表对物理主机访问业务服务器组的业务相关报文进行处理,并将未查询到匹配流表的业务相关报文上传到控制器。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
负载分担流表保存单元,用于保存所下发的负载分担流表和对应的虚拟化接入设备;
第二流表刷新单元,用于当某个业务服务器发生迁移后,将以发生故障的业务服务器为目的服务器的负载分担流表的出端口刷新为通往迁移后目的服务器的出端口;并指令对应的虚拟化接入设备进行同样的刷新。
14.根据权利要求8所述的装置,其特征在于,所述控制器包括分布式交换机控制器;所述业务服务器以其接入所述虚拟化网络的全局端口号作为标识。
CN201410548603.5A 2014-10-16 2014-10-16 虚拟化网络中实现负载分担的方法和装置 Active CN105577723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410548603.5A CN105577723B (zh) 2014-10-16 2014-10-16 虚拟化网络中实现负载分担的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410548603.5A CN105577723B (zh) 2014-10-16 2014-10-16 虚拟化网络中实现负载分担的方法和装置

Publications (2)

Publication Number Publication Date
CN105577723A CN105577723A (zh) 2016-05-11
CN105577723B true CN105577723B (zh) 2019-04-05

Family

ID=55887372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410548603.5A Active CN105577723B (zh) 2014-10-16 2014-10-16 虚拟化网络中实现负载分担的方法和装置

Country Status (1)

Country Link
CN (1) CN105577723B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897758A (zh) * 2016-06-14 2016-08-24 中国联合网络通信集团有限公司 容器访问控制方法及装置
CN106131204A (zh) * 2016-07-22 2016-11-16 无锡华云数据技术服务有限公司 应用于负载均衡系统的报文快速分发方法及其系统
WO2018027586A1 (zh) * 2016-08-09 2018-02-15 华为技术有限公司 云计算系统中虚拟机访问物理服务器的方法、装置和系统
CN107819602A (zh) * 2016-09-14 2018-03-20 中国电信股份有限公司 用户流量分配方法和系统
CN106878193B (zh) * 2017-02-10 2022-03-22 新华三技术有限公司 一种负载分担方法及装置
CN106850459B (zh) * 2017-02-27 2020-02-04 苏州浪潮智能科技有限公司 一种实现虚拟网络负载均衡的方法及装置
CN110708393B (zh) 2019-10-21 2023-11-21 北京百度网讯科技有限公司 用于传输数据的方法、装置和系统
CN111464454B (zh) * 2020-03-02 2022-03-18 烽火通信科技股份有限公司 一种数据中心内虚拟bras设备负载分担方法及系统
CN112702265A (zh) * 2021-01-18 2021-04-23 北京安数云信息技术有限公司 一种提供虚拟化场景下分布式引流的解决方法
CN113472900B (zh) * 2021-09-01 2022-02-22 阿里云计算有限公司 报文处理方法、设备、存储介质及计算机程序产品
CN113992569B (zh) * 2021-09-29 2023-12-26 新华三大数据技术有限公司 Sdn网络中多路径业务收敛方法、装置及存储介质
CN113904984B (zh) * 2021-10-21 2022-12-16 杭州志卓科技股份有限公司 一种适用于sap与b2b系统的数据传输方法
CN115408127B (zh) * 2022-08-25 2023-07-11 科东(广州)软件科技有限公司 一种type1型操作系统中任务分担的装置与方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法

Also Published As

Publication number Publication date
CN105577723A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN105577723B (zh) 虚拟化网络中实现负载分担的方法和装置
US10389634B2 (en) Multiple active L3 gateways for logical networks
CN110113441B (zh) 实现负载均衡的计算机设备、系统和方法
CN107026890B (zh) 一种基于服务器集群的报文生成方法和负载均衡器
US8213336B2 (en) Distributed data center access switch
US9503371B2 (en) High availability L3 gateways for logical networks
CN106134137B (zh) 受管理网关的路由通告
EP3404878B1 (en) Virtual network apparatus, and related method
CN106576075B (zh) 在网络虚拟化基础设施上操作逻辑网络的方法和系统
TWI531908B (zh) A method of supporting virtual machine migration with Software Defined Network (SDN)
CN111638957B (zh) 一种集群共享式公有云负载均衡的实现方法
US9860117B2 (en) Automatically generated virtual network elements for virtualized packet networks
EP3310025B1 (en) User migration
US20150263946A1 (en) Route advertisement by managed gateways
CN104780088A (zh) 一种业务报文的传输方法和设备
CN109802985A (zh) 数据传输方法、装置、设备及可读取存储介质
WO2017133291A1 (zh) 一种基于服务器集群的报文生成方法和负载均衡器
CN112889245B (zh) 具有多个负载均衡器和网络接入控制器的网络系统和架构
CN105704042A (zh) 报文处理方法、bng及bng集群系统
US9166947B1 (en) Maintaining private connections during network interface reconfiguration
US9876689B1 (en) Automatically generated virtual network elements for virtualized local area networks
WO2023206799A1 (zh) 一种ai训练平台的网卡通信方法、装置、设备及介质
Comer et al. DCnet: a data centre network architecture that supports live VM migration
WO2023287596A1 (en) Service chaining in fabric networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant