CN103336708B - 聚合网卡资源的方法和相关设备及计算机系统 - Google Patents
聚合网卡资源的方法和相关设备及计算机系统 Download PDFInfo
- Publication number
- CN103336708B CN103336708B CN201310213373.2A CN201310213373A CN103336708B CN 103336708 B CN103336708 B CN 103336708B CN 201310213373 A CN201310213373 A CN 201310213373A CN 103336708 B CN103336708 B CN 103336708B
- Authority
- CN
- China
- Prior art keywords
- lacp
- aggregation group
- port
- network interface
- resource object
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了聚合网卡资源的方法和相关设备及计算机系统。其中一种聚合网卡资源的方法,可包括:将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,N个端口中的每个端口分别与N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与对端设备交互与第一LACP聚合组对应的LACP数据单元。本发明实施例提供的技术方案有利于支持更高网络能力,提升安全可靠性。
Description
技术领域
本发明涉及通信和计算机技术领域,具体涉及一种聚合网卡资源的方法和相关设备及计算机系统。
背景技术
虚拟化是现在数据中心等的热点技术,核心意义是帮助数据中心、大型工作站等等设备以更低的总拥有成本,将其环境的灵活性和反应能力提升到一个新的水平。
如今,中央处理器(CPU,Central Processing Unit)和内容的虚拟化技术飞速发展,而输入/输出(I/O,input/output)虚拟化却相对落后,成为了虚拟化技术快速发展的性能瓶颈,许多硬件厂家都针对I/O虚拟化技术提出和使用了很多不同的解决方案。网络设备是数据中心的服务器中必不可少的重要组成部分,为了提高网络设备的虚拟化性能,一些新的虚拟化技术不断应用到新的网卡中,例如单根模式IO虚拟化(SR-IOV,Single Root IO Virtualization)技术和虚拟机设备队列(VMDQ,Virtual Machine Device Queue)技术,因此在现代的大型数据中心的机房里,SR-IOV网卡,VMDQ网卡经常被作为网络设备而使用,从而为更多的虚拟机(VM,Virtual Machine)提供高性能的网络能力。
虚拟技术网卡已经发展为现在的支持硬件虚拟化的多队列网卡,一般有多个收发队列,能够同时进行数据收发,在网卡芯片中实现二层交换功能,根据介质访问控制(MAC,Media Access Control)地址选择不同硬件队列,可较大提升网络性能。
在对现有技术的研究和实践过程中,本发明的发明人发现,目前基于虚拟技术的网卡使用上也存在一些问题,例如,单一网卡无法满足一些需求更高网络能力的场景、并且有单点故障问题使得安全可靠性难以保证。
发明内容
本发明实施例提供聚合网卡资源的方法和相关设备及计算机系统,以期提升更高网络能力的支持能力,提升安全可靠性。
本发明第一方面提供一种聚合网卡资源的方法,可包括:
将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;
基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;
与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
结合第一方面,在第一种可能的实施方式中,
所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:
在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括:在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
本发明第二方面提供一种聚合网卡资源的装置,包括:
第一聚合单元,用于将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;
第二聚合单元,用于基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;
交互单元,用于与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
结合第二方面,在第一种可能的实施方式中,所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,
所述装置还包括:
聚合组管理单元,用于在所述交互单元接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第三种可能的实施方式中,
所述装置还包括:
指示单元,用于在所述交互单元接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
本发明第三方面提供一种计算节点,其特征在于,包括,硬件层、运行在所述硬件层之上的宿主机Host;
其中,所述硬件层包括N个网卡;
所述Host,用于将对端设备的N个端口和归属于所述N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
结合第三方面,在第一种可能的实施方式中,所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
结合第三方面或第三方面的第一种可能的实施方式,在第二种可能的实施方式中,所述Host还用于,在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式,在第三种可能的实施方式中,
所述Host还用于,在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
本发明第四方面提供一种计算机系统,包括:至少一个如上述实施例所述的计算节点。
由上可见,本发明实施例技术方案中,通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组与第一LACP聚合组共享LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商,不存在共享LACP协商结果的机制),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能。由于基于本发明实施例方案能够实现成功聚合更多的聚合组,基于更多聚合组进行收发包和资源管理,有利于提升更高网络能力的支持能力,有利于提升产品的安全可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种聚合网卡资源的方法的流程示意图;
图2-a为本发明的实施例提供的一种计算节点的架构示意图;
图2-b是本发明实施例提供的另一种聚合网卡资源的方法的流程示意图;
图3-a是本发明的实施例提供的另一种计算节点的架构示意图;
图3-b是本发明实施例提供的另一种聚合网卡资源的方法的流程示意图;
图4-a是本发明实施例提供的一种聚合网卡资源的装置示意图;
图4-b是本发明实施例提供的另一种聚合网卡资源的装置示意图;
图4-c是本发明实施例提供的又一种聚合网卡资源的装置示意图;
图5-a是本发明实施例提供的另一种计算节点的架构示意图;
图5-b是本发明实施例提供的另一种计算节点的架构示意图;
图6是本发明实施例提供的一种计算机系统的架构示意图;
图7是本发明实施例提供的另一种计算节点的结构示意图。
具体实施方式
本发明实施例提供聚合网卡资源的方法和相关设备及计算机系统,以期提升更高网络能力的支持能力,提升安全可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
虚拟机VM:
通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括CPU和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,当然硬件层还可能包括具有特定处理功能的其它设备。
I/O虚拟功能:
具有I/O虚拟功能的I/O设备在启动I/O虚拟功能后,可以虚拟出对应的物理功能(PF,Physical Function)设备和若干个虚拟功能(VF,Virtual Function)设备,其中,I/O设备虚拟出的PF设备主要负责管理功能,VF设备主要负责处理功能。
宿主机(Host):
作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(VMM);此外,有时VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟CPU、内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机则运行在Host为其准备的虚拟硬件平台上,Host上运行一个或多个虚拟机。
本发明聚合网卡资源的方法的一个实施例,一种聚合网卡资源的方法可包括:将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议(LACP,Link Aggregation Control Protocol)聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元(LACPDU,LACP Data Unit)。
参见图1,图1是本发明一个实施例提供的一种聚合网卡资源的方法的流程示意图。图1所示,本发明一个实施例提供的一种聚合网卡资源的方法可包括以下内容:
101、将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接。
其中,IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)的802.3标准中定义了链路层的LACP规范,LACP提供1种标准有序的信息交互方式,能够让链路聚合的两侧通过自动协商达成一致,从而使用相同的链路聚合组进行数据收发,同时,可按照某种策略在聚合的链路上实现双向负载均衡,也可以通过定期交换LACP数据单元来实现链路检测和故障容错。由于VM在使用网络资源时对可靠性有较高的要求,需要保证业务的不中断性,另外,当业务扩展时可能需要更高的网络带宽,因此本发明实施例引入LACP来将若干个网卡的资源聚合起来使用。
102、基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组。
其中,在基于LACP进行资源聚合时,每个物理资源对象可看做是1条物理链路(link),每个虚拟资源对象可看做是1条虚拟link,因此,N个网卡的N个物理资源对象可看做是N条物理link,N个网卡的N个虚拟资源对象可看做是N条虚拟link。
其中,由于是基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组,进而可实现第二LACP聚合组与第一LACP聚合组共享LACP协商结果,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。其中,第二LACP聚合组和第一LACP聚合组的聚合组标识相同,第二LACP聚合组和第一LACP聚合组包含的资源对象数相同(第二LACP聚合组包括N个虚拟资源对象,第一LACP聚合组包括N个物理资源对象),第二LACP聚合组和第一LACP聚合组的收包策略和/或发包策略相同。
可以看出,由于本发明实施例方案中开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例的聚合机制,成功聚合形成两个LACP聚合组变得可能,而基于常规LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组,因为在这种场景下,2个LACP聚合组的常规协商过程容易相互冲突而导致协商聚合失败。
在本发明的一些实施例中,物理资源对象例如可为PF设备,虚拟资源对象例如可为VF设备,即,归属于某网卡的物理资源对象可为该网卡所虚拟出的对应的PF设备,归属于某网卡的虚拟资源对象可为该网卡所虚拟出的对应的VF设备。
在本发明的另一些实施例中,可对网卡进行资源分区和抽象,每个网卡可映射为1个主虚拟分区(VP,Virtual Partition)资源和至少1个从VP资源,例如可基于网络资源管理(NRM Network Resource Management)等框架将网卡(例如SR-IOV网卡、VMDQ网卡或其它类型的网卡)进行资源分区和抽象,可将每个网卡映射为1个主VP资源和若干个从VP资源。在此应用场景下,上述物理资源对象也可为主VP资源,上述虚拟资源对象也可为从VP资源,即,归属于某网卡的物理资源对象可为该网卡所映射的主VP资源,归属于某网卡的虚拟资源对象可为该网卡所映射的VP资源。其它情况以此类推。
103、与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。
在本发明的一些实施例中,例如可按照设定周期(周期固定或者不固定)或在设定事件的触发下,与上述对端设备交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向上述对端设备发送与第一LACP聚合组对应的LACP数据单元,以便向对端设备通报第一LACP聚合组所包含的本端设备资源的状态(是否可用等);也可接收上述对端设备,按照设定周期或在设定事件的触发下所发送的与第一LACP聚合组对应的LACP数据单元,本端设备可根据对端设备发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的对端设备的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和LACP聚合组ID等。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,可将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或者等于上述M。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。可以理解,由于引入了第一LACP聚合组和第二LACP聚合组共享设备状态变化信息(例如端口是否可用、物理资源对象是否可用等)的机制,因此,即使本端设备和对端设备不交互与第二LACP聚合组对应的LACP数据单元,仍然可实现第二LACP聚合组的正确收发包,有利于保证业务连续性。
其中,本发明实施例的上述技术方案可由本端设备中的Host或者本端设备中的其它器件来具体实施,其中,本端设备可以为计算节点(例如服务器等),对端设备亦可为计算节点(例如交换机或服务器等)。例如若由Host实施,则Host可将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。进一步的,在本发明的一些实施例中,Host还可在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,可将上述M个端口从第一LACP聚合组之中剔除。进一步的,在本发明的一些实施例中,Host还可在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。
由上可见,本发明实施例技术方案中,通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
其中,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
为便于更好的理解和实施本发明实施例上述方案,下面以几种具体应用场景为例进行进一步介绍。
参见图2-a和图2-b,图2-a为本发明的另一实施例提供的一种计算节点的架构示意图。图2-b为本发明的另一实施例提供的另一种聚合网卡资源的方法的流程示意图。
201、计算节点A10中的Host A11将交换机B10的N个端口B11和归属于计算节点A10中N个网卡A12的N个PF设备聚合形成第一LACP聚合组,其中,上述N个端口B11中的每个端口分别与上述N个网卡A12中的不同网卡连接。
下面举例一种LACP聚合组的聚合方式。
假设N个PF设备分别表示为PF-N1、PF-N2......PF-Nn。
交换机B10的N个端口B11分别表示为B11-1、B11-2.....B11-n。
首先,将PF-N1、PF-N2......PF-Nn分别聚合为对应的初始LACP聚合组(即N个初始LACP聚合组,默认聚合组ID分别为k1、k2......kn;再按照选择策略从PF-N1、PF-N2......PF-Nn对应N个LACP聚合组中选出最佳LACP聚合组,此处,假设将选择第1个可用的LACP聚合组,即,聚合组ID为k1的LACP聚合组;将PF-N2......PF-Nn加入到聚合组ID为k1的LACP聚合组,与交换机B10交互LACP数据单元,以将端口B11-1、B11-2.....B11-n加入到聚合组ID为k1的LACP聚合组(第一LACP聚合组),其中第一LACP聚合组的端口数为N。
202、Host A11基于第一LACP聚合组的属性参数,将归属于上述N个网卡A12的N个VF设备(其中,N个网卡A12中的每个网卡中选出1个VF设备)聚合形成第二LACP聚合组。
在本发明的一些实施例中,在基于LACP进行资源聚合时,每个PF设备可看做是1条物理链路(link),每个VF设备可看做是1条虚拟link,因此N个网卡的N个PF设备可看做是N条物理link,N个网卡的N个VF设备可看做是N条虚拟link。
其中,由于是基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个VF设备聚合形成第二LACP聚合组,进而实现了第二LACP聚合组与第一LACP聚合组共享LACP协商结果,即,PF设备的聚合组和VF设备的聚合组共享LACP协商结果。其中,第二LACP聚合组和第一LACP聚合组的聚合组标识相同,第二LACP聚合组和第一LACP聚合组包含的资源对象数相同(第二LACP聚合组包括N个虚拟资源对象,第一LACP聚合组包括N个物理资源对象),第二LACP聚合组和第一LACP聚合组的收包策略和/或发包策略相同。
可以看出,由于本发明实施例方案中开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,PF设备的聚合组和VF设备的聚合组共享LACP协商结果。摒弃了常规的LACP聚合组协商机制(其中。常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例的聚合机制,成功聚合形成两个LACP聚合组变得可能,而基于常规LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。
203、Host A11与交换机B10交互与第一LACP聚合组对应的LACP数据单元。
其中,第一LACP聚合组第二LACP聚合组可提供给运行在Host A1之上的虚拟机使用,也可以提供给Host A1的应用程序使用,第一LACP聚合组第二LACP聚合组数据收发上相互独立。
在本发明的一些实施例中,例如Host A11可按照设定周期(周期固定或者不固定)或在设定事件的触发下,与交换机B10交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向交换机B10发送与第一LACP聚合组对应的LACP数据单元,以便向交换机B10通报第一LACP聚合组所包含的计算节点A10资源的状态(是否可用等);也可接收交换机B10,按照设定周期或在设定事件的触发下发送的与第一LACP聚合组对应的LACP数据单元,计算节点A10可根据交换机B10发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的交换机B10的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和第一LACP聚合组的聚合组ID等。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,可将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或者等于上述M。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。可以理解,由于引入了第一LACP聚合组和第二LACP聚合组共享设备状态变化信息(例如端口是否可用、物理资源对象是否可用等)的机制,因此,即使计算节点A10和交换机B10不交互与第二LACP聚合组对应的LACP数据单元,仍然可实现第二LACP聚合组的正确收发包,有利于保证业务连续性。
由上可见,本发明实施例技术方案中,Host通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
其中,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
参见图3-a和图3-b,图3-a为本发明的另一实施例提供的一种计算节点的架构示意图。图3-b为本发明的另一实施例提供的另一种聚合网卡资源的方法的流程示意图。
301、计算节点A20中的Host A21将交换机B20的N个端口B21和归属于计算节点A20中N个网卡A22的N个主VP资源聚合形成第一LACP聚合组,其中,上述N个端口B21中的每个端口分别与上述N个网卡A22中的不同网卡连接。
其中,N个网卡A22的类型可部分或全部不相同。N个网卡A22例如可包括SR-IOV网卡、VMDQ网卡或其它类型的网卡。
302、Host A21基于第一LACP聚合组的属性参数,将归属于上述N个网卡A22的N个从VP资源(其中,N个网卡A22中的每个网卡中选出1个从VP资源)聚合形成第二LACP聚合组。
在本发明一些实施例中,在基于LACP进行资源聚合时,每个主VP资源可看做是1条物理链路(link),每个从VP资源可看做是1条虚拟link,因此N个网卡的N个主VP资源可看做是N条物理link,N个网卡的N个从VP资源可看做是N条虚拟link。
其中,由于是基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个从VP资源聚合形成第二LACP聚合组,进而实现了第二LACP聚合组与第一LACP聚合组共享LACP协商结果,即,主VP资源的聚合组和从VP资源的聚合组共享LACP协商结果。其中,第二LACP聚合组和第一LACP聚合组的聚合组标识相同,第二LACP聚合组和第一LACP聚合组包含的VP资源数相同(第二LACP聚合组包括N个从VP资源,第一LACP聚合组包括N个主VP资源),第二LACP聚合组和第一LACP聚合组的收包策略和/或发包策略相同。
可以看出,由于本发明实施例方案中开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,主VP资源的聚合组和从VP资源的聚合组共享LACP协商结果。摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例的聚合机制,成功聚合形成两个LACP聚合组变得可能,而基于常规LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。
303、Host A21与交换机B20交互与第一LACP聚合组对应的LACP数据单元。
其中,第一LACP聚合组第二LACP聚合组可提供给运行在Host A2之上的虚拟机使用,也可以提供给Host A2的应用程序使用,第一LACP聚合组第二LACP聚合组数据收发上相互独立。
在本发明的一些实施例中,例如Host A21可按照设定周期(周期固定或者不固定)或在设定事件的触发下,与交换机B20交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向交换机B20发送与第一LACP聚合组对应的LACP数据单元,以便向交换机B20通报第一LACP聚合组所包含的计算节点A20资源的状态(是否可用等);也可接收交换机B20,按照设定周期或在设定事件的触发下发送的与第一LACP聚合组对应的LACP数据单元,计算节点A20可根据交换机B20发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的交换机B20的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和第一LACP聚合组的聚合组ID等。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,可将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或者等于上述M。
在本发明的一些实施例中,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。可以理解,由于引入了第一LACP聚合组和第二LACP聚合组共享设备状态变化信息(例如端口是否可用、物理资源对象是否可用等)的机制,因此,即使计算节点A20和交换机B20不交互与第二LACP聚合组对应的LACP数据单元,仍然可实现第二LACP聚合组的正确收发包,有利于保证业务连续性。
由上可见,本发明实施例技术方案中,Host通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
其中,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
参见图4-a,本发明实施例还提供聚合网卡资源的装置400可包括:第一聚合单元410、第二聚合单元420和交互单元430。
第一聚合单元410,用于将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接。
第二聚合单元420,用于基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组。
交互单元430,用于与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。
其中,在基于LACP进行资源聚合时,每个物理资源对象可看做是1条物理链路(link),每个虚拟资源对象可看做是1条虚拟link,因此,N个网卡的N个物理资源对象可看做是N条物理link,N个网卡的N个虚拟资源对象可看做是N条虚拟link。
其中,由于是基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组,进而可实现第二LACP聚合组与第一LACP聚合组共享LACP协商结果,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。其中,第二LACP聚合组和第一LACP聚合组的聚合组标识相同,第二LACP聚合组和第一LACP聚合组包含的资源对象数相同(第二LACP聚合组包括N个虚拟资源对象,第一LACP聚合组包括N个物理资源对象),第二LACP聚合组和第一LACP聚合组的收包策略和/或发包策略相同。
可以看出,由于本发明实施例方案中开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例的聚合机制,成功聚合形成两个LACP聚合组变得可能,而基于常规LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组,因为在这种场景下,2个LACP聚合组的常规协商过程容易相互冲突而导致协商聚合失败。
在本发明一些实施例中,上述物理资源对象为物理功能PF设备,上述虚拟资源对象为虚拟功能VF设备;或者,上述物理资源对象为主虚拟分区VP资源,上述虚拟资源对象为从VP资源。
在本发明一些实施例中,例如交互单元430可按照设定周期(周期固定或者不固定)或在设定事件的触发下,与上述对端设备交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向上述对端设备发送与第一LACP聚合组对应的LACP数据单元,以便向对端设备通报第一LACP聚合组所包含的本端设备资源的状态(是否可用等);也可接收上述对端设备,按照设定周期或在设定事件的触发下所发送的与第一LACP聚合组对应的LACP数据单元,本端设备可根据对端设备发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的对端设备的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和LACP聚合组ID等。
参见图4-b,在本发明的一些实施例中,聚合网卡资源的装置400还可以包括:聚合组管理单元440,用于在交互单元430接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或等于上述M。
参见图4-c,在本发明的一些实施例中,聚合网卡资源的装置400还可以包括:指示单元450,用于在交互单元430接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。
可以理解的是,本实施例中描述的聚合网卡资源的装置400可如上述方法实施例中的Host或用于聚合网卡资源的其它器件,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本发明实施例技术方案中,聚合网卡资源的装置400(例如Host)通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
其中,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
参见图5-a,本发明实施例还提供计算节点500,可包括:
硬件层510、运行在上述硬件层之上的宿主机Host520,其中,硬件层510包括N个网卡511。
参见图5-b,宿主机Host520之上还可运行有至少一个VM530。
Host520,用于将对端设备的N个端口和归属于上述N个网卡511的N个物理资源对象聚合形成第一LACP聚合组,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。
在本发明一些实施例中,上述物理资源对象为物理功能PF设备,上述虚拟资源对象为虚拟功能VF设备;或者,上述物理资源对象为主虚拟分区VP资源,上述虚拟资源对象为从VP资源。
其中,在基于LACP进行资源聚合时,每个物理资源对象可看做是1条物理链路(link),每个虚拟资源对象可看做是1条虚拟link,因此,N个网卡的N个物理资源对象可看做是N条物理link,N个网卡的N个虚拟资源对象可看做是N条虚拟link。
其中,由于Host520基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组,进而可实现第二LACP聚合组与第一LACP聚合组共享LACP协商结果,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。其中,第二LACP聚合组和第一LACP聚合组的聚合组标识相同,第二LACP聚合组和第一LACP聚合组包含的资源对象数相同(第二LACP聚合组包括N个虚拟资源对象,第一LACP聚合组包括N个物理资源对象),第二LACP聚合组和第一LACP聚合组的收包策略和/或发包策略相同。
可以看出,由于本实施例方案中开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果。摒弃了常规的LACP聚合组协商机制(常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例的聚合机制,成功聚合形成两个LACP聚合组变得可能,而基于常规LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组,因为在这种场景下,2个LACP聚合组的常规协商过程容易相互冲突而导致协商聚合失败。
在本发明一些实施例中,上述物理资源对象为物理功能PF设备,上述虚拟资源对象为虚拟功能VF设备;或者,上述物理资源对象为主虚拟分区VP资源,上述虚拟资源对象为从VP资源。
在本发明一些实施例中,例如Host520可按照设定周期(周期固定或者不固定)或者在设定事件的触发下,与上述对端设备交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向上述对端设备发送与第一LACP聚合组对应的LACP数据单元,以便向对端设备通报第一LACP聚合组所包含的本端设备资源的状态(是否可用等);也可接收上述对端设备,按照设定周期或在设定事件的触发下所发送的与第一LACP聚合组对应的LACP数据单元,本端设备可根据对端设备发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的对端设备的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和LACP聚合组ID等。
在本发明一些实施例中,Host520还用于,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或等于上述M。
在本发明一些实施例中,Host520还用于,在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。
由上可见,本实施例技术方案中,计算节点500中的Host520通过将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即,虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃了常规的LACP聚合组协商机制(其中,常规的LACP聚合组协商机制中,每个LACP聚合组是独立进行协商),对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
进一步的,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
参见图6,本发明实施例还提供一种计算机系统,可包括:至少1个计算节点500。
本发明实施例还提供一种通信系统,可包括:计算节点500和与之通信连接的交换机。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的聚合网卡资源的方法的部分或全部步骤。
图7描述了本发明实施例提供的一种计算节点600的结构,该计算节点600包括:至少一个处理器601,例如CPU,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该计算节点600可选的包含用户接口603,包括显示器,键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器605可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选的可以包含至少一个位于远离前述处理器601的存储装置。
在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统6051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,用于实现各种应用业务。
应用程序模块6052中包括但不限于第一聚合单元410、第二聚合单元420和交互单元430。
在一些实施方式中,应用程序模块6052中还可进一步包括聚合组管理单元440和/或指示单元450。
应用程序模块6052中各模块的具体实现参见图4-a~图4-c所示实施例中的相应模块,在此不赘述。
在本发明实施例中,通过调用存储器605存储的程序或指令,处理器601可用于:将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一LACP聚合组,其中,上述N个端口中的每个端口分别与上述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于上述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与上述对端设备交互与第一LACP聚合组对应的LACP数据单元。
在上述各个实施例中,进一步地,处理器601还可用于:在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,可将上述M个端口从第一LACP聚合组之中剔除,其中,第一LACP数据单元为第一LACP聚合组对应的LACP数据单元,上述N和M为正整数,上述N大于或者等于上述M。
在上述各个实施例中,进一步地,处理器601还可用于:在接收到的来自上述对端设备的第一LACP数据单元指示出上述N个端口之中的其中M个端口不可用时,指示上述N个虚拟资源对象停止通过上述M个端口发送数据。可以理解,由于引入了第一LACP聚合组和第二LACP聚合组共享设备状态变化信息(设备状态变化信息例如指示出端口是否可用、物理资源对象是否可用等)的机制,因此,即使本端设备和对端设备不交互与第二LACP聚合组对应的LACP数据单元,仍然可实现第二LACP聚合组的正确收发包,有利于保证业务连续性。
在上述各个实施例中,处理器601例如可按照设定周期(周期固定或者不固定)或在设定事件的触发下,与上述对端设备交互与第一LACP聚合组对应的LACP数据单元,即,可按照设定周期或在设定事件的触发下,向上述对端设备发送与第一LACP聚合组对应的LACP数据单元,以便向对端设备通报第一LACP聚合组所包含的本端设备资源的状态(是否可用等);也可接收上述对端设备,按照设定周期或在设定事件的触发下所发送的与第一LACP聚合组对应的LACP数据单元,本端设备可根据对端设备发送的与第一LACP聚合组对应的LACP数据单元,来获知第一LACP聚合组所包含的对端设备的端口的状态(是否可用等)。其中,LACP数据单元中可携带设备状态指示(其中,设备状态指示可用于指示端口、物理资源对象是否可用等等)和LACP聚合组ID等。
可见,采用上述方案后,由于开创性的提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制,即虚拟资源对象的聚合组和物理资源对象的聚合组共享LACP协商结果,摒弃常规LACP聚合组协商机制,对于单个网卡和对端设备只有1个物理端口相互连接的场景(物理资源对象和虚拟资源对象使用相同的物理连接收发数据包),基于本发明实施例聚合机制,成功聚合形成两个LACP聚合组变得可能,而在这种场景下基于常规的LACP聚合组协商机制通常只能成功聚合形成1个LACP聚合组,难以成功聚合形成2个LACP聚合组。由于基于本发明实施例的方案能够实现成功聚合更多的聚合组,而基于更多聚合组来进行收发包和资源管理,有利于提升更高网络能力的支持能力,提升安全可靠性。
进一步的,基于提出第二LACP聚合组共享第一LACP聚合组的LACP协商结果的机制(可看成是一种主从LACP聚合机制,第一LACP聚合组的聚合为主LACP聚合,第二LACP聚合组为从LACP聚合),使得网卡的物理link和虚拟link都可基于LACP进行链路协商和双向负载均衡,同时通过聚合达到各网卡的吞吐量之和。这样虚拟化环境下的各个VM均可以在享受LACP聚合带来的带宽增加、负载均衡和链路自动检测的好处同时,还可以相互独立地根据各自需求设置聚合网络资源的特性或带宽等,增强了资源管理的灵活性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种聚合网卡资源的方法,其特征在于,包括:
将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;
基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;
与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
2.根据权利要求1所述的方法,其特征在于,
所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:
在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
4.根据权利要求3所述的方法,其特征在于,
所述方法还包括:在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
5.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
6.一种聚合网卡资源的装置,其特征在于,包括:
第一聚合单元,用于将对端设备的N个端口和归属于N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;
第二聚合单元,用于基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;
交互单元,用于与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
7.根据权利要求6所述的装置,其特征在于,所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
8.根据权利要求6或7所述的装置,其特征在于,
所述装置还包括:
聚合组管理单元,用于在所述交互单元接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
9.根据权利要求8所述的装置,其特征在于,
所述装置还包括:
指示单元,用于在所述交互单元接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
10.根据权利要求6或7所述的装置,其特征在于,
所述装置还包括:
指示单元,用于在所述交互单元接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
11.一种计算节点,其特征在于,包括,硬件层、运行在所述硬件层之上的宿主机Host;
其中,所述硬件层包括N个网卡;
所述Host,用于将对端设备的N个端口和归属于所述N个网卡的N个物理资源对象聚合形成第一链路聚合控制协议LACP聚合组,其中,所述N个端口中的每个端口分别与所述N个网卡中的不同网卡连接;基于第一LACP聚合组的属性参数,将归属于所述N个网卡的N个虚拟资源对象聚合形成第二LACP聚合组;与所述对端设备交互与第一LACP聚合组对应的LACP数据单元。
12.根据权利要求11所述的计算节点,其特征在于,所述物理资源对象为物理功能PF设备,所述虚拟资源对象为虚拟功能VF设备;或者,所述物理资源对象为主虚拟分区VP资源,所述虚拟资源对象为从VP资源。
13.根据权利要求11或12所述的计算节点,其特征在于,所述Host还用于,在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,将所述M个端口从第一LACP聚合组之中剔除,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
14.根据权利要求13所述的计算节点,其特征在于,
所述Host还用于,在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据。
15.根据权利要求11或12所述的计算节点,其特征在于,
所述Host还用于,在接收到的来自所述对端设备的第一LACP数据单元指示出所述N个端口之中的其中M个端口不可用时,指示所述N个虚拟资源对象停止通过所述M个端口发送数据,其中,所述第一LACP数据单元为所述第一LACP聚合组对应的LACP数据单元,所述N和M为正整数,所述N大于或等于所述M。
16.一种计算机系统,其特征在于,包括:至少一个如权利要求11~15任一项所述的计算节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310213373.2A CN103336708B (zh) | 2013-05-31 | 2013-05-31 | 聚合网卡资源的方法和相关设备及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310213373.2A CN103336708B (zh) | 2013-05-31 | 2013-05-31 | 聚合网卡资源的方法和相关设备及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103336708A CN103336708A (zh) | 2013-10-02 |
CN103336708B true CN103336708B (zh) | 2016-12-28 |
Family
ID=49244883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310213373.2A Expired - Fee Related CN103336708B (zh) | 2013-05-31 | 2013-05-31 | 聚合网卡资源的方法和相关设备及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103336708B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000186A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种链路聚合方法及设备 |
CN105763471B (zh) * | 2014-12-16 | 2019-12-17 | 中兴通讯股份有限公司 | 虚拟机环境下链路管理方法、装置和系统 |
CN105790991A (zh) * | 2014-12-24 | 2016-07-20 | 中兴通讯股份有限公司 | 虚拟化服务器的链路聚合方法、系统及其智能网络适配器 |
CN107181679A (zh) * | 2016-03-09 | 2017-09-19 | 中兴通讯股份有限公司 | 一种端口绑定实现方法及装置 |
CN109327386B (zh) * | 2018-10-24 | 2021-12-07 | 深圳市共进电子股份有限公司 | 一种链路聚合方法、装置、设备及可读存储介质 |
CN116112426A (zh) * | 2021-01-26 | 2023-05-12 | 北京百度网讯科技有限公司 | 智能网卡组件、物理机、云服务系统以及报文发送方法 |
CN116614459B (zh) * | 2023-07-18 | 2023-10-13 | 中移(苏州)软件技术有限公司 | 一种基于以太网rdma协议的链路聚合组管理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272938C (zh) * | 2002-12-04 | 2006-08-30 | 联想(北京)有限公司 | 一种提高以太网带宽的方法 |
CN100531215C (zh) * | 2006-04-30 | 2009-08-19 | 西安交通大学 | 一种多台网络设备链路聚集的实现方法 |
CN101753438B (zh) * | 2009-12-08 | 2012-06-06 | 中兴通讯股份有限公司 | 实现通道分离的路由器及其通道分离的传输方法 |
CN101917337B (zh) * | 2010-08-09 | 2015-06-03 | 中兴通讯股份有限公司 | 路由器集群中板间互联的装置及方法 |
US8819235B2 (en) * | 2010-10-20 | 2014-08-26 | International Business Machines Corporation | Multi-adapter link aggregation for adapters with hardware based virtual bridges |
-
2013
- 2013-05-31 CN CN201310213373.2A patent/CN103336708B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103336708A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103336708B (zh) | 聚合网卡资源的方法和相关设备及计算机系统 | |
US8819230B2 (en) | Virtual private storage array service for cloud servers | |
CN105279027B (zh) | 一种虚拟机部署方法及装置 | |
CN103414535B (zh) | 数据发送方法和数据接收方法及相关装置 | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
CN106506670A (zh) | 一种云平台虚拟资源高速调度方法与系统 | |
CN105940377A (zh) | 用于基于云的虚拟化编排器的方法、系统和计算机可读介质 | |
CN103560967A (zh) | 一种业务需求感知的虚拟数据中心映射方法 | |
CN103609077B (zh) | 用于数据传输的方法、装置和系统以及物理网卡 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN107819867A (zh) | 一种集群网络的负载均衡方法和装置 | |
CN103455363B (zh) | 一种虚拟机的指令处理方法、装置及物理主机 | |
CN104038444B (zh) | 一种资源分配的方法、设备及系统 | |
CN104050043A (zh) | 基于共享缓存感知的虚拟机调度方法和装置 | |
CN110225104A (zh) | 数据获取方法、装置及终端设备 | |
CN103823709B (zh) | 虚拟化集群系统、资源分配方法和管理节点 | |
CN109324876A (zh) | 一种高可用的Docker与虚拟机初始放置方法 | |
CN109582452A (zh) | 一种容器调度方法、调度装置及电子设备 | |
CN109522090A (zh) | 资源调度方法及装置 | |
CN106569898A (zh) | 一种资源分配的方法以及移动终端 | |
CN103164255A (zh) | 虚拟机网络通信实现方法和虚拟机监控器以及物理主机 | |
CN109800204A (zh) | 数据分配方法及相关产品 | |
CN106161603B (zh) | 一种组网的方法、设备及架构 | |
CN109873714A (zh) | 云计算节点配置更新方法及终端设备 | |
CN108228350A (zh) | 一种资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161228 Termination date: 20180531 |
|
CF01 | Termination of patent right due to non-payment of annual fee |