NIC Teaming技术将2个或更多个网卡(HP NIC Teaming最多可达8个)捆绑在一起使用,以达到增加总的带宽(Load Balance,负载均衡)或者线路容错(Fault Tolerance)的目的。由2个或多个网卡组成一个逻辑网络端口Teamport,IP地址和网络设置绑定在这个逻辑的Teamport上,这样,无论哪一个物理网卡或者其相连的链路单独出现故障,Teamport还是能正常工作,服务器对外的网络连接不会中断。
为了方便说明,除非特别说明,本文以下部分的例子中将2个或多个网卡一律写成2个网卡,示意图也只画2个网卡。
HP服务器的NIC Teaming分三大类共7个选项,这三大类是指NFT、TLB和SLB。(7个选项后文会说明)
【NFT】
NFT 就是Network Fault Tolerant的缩写,这种模式下一个网卡处于活动(Active)状态,而另外一个网卡处于待机(standby)状态,平时只有一个网卡在用。 NFT模式下,组成Teamport的2个1Gb的网卡分别连到2个不同的交换机,Teamport总带宽只有1Gb,这种模式具有容错能力,但是不具有增加带宽和负载均衡的能力。
【TLB】
TLB就是Transmit Load Balance,从字面上理解,就是传出(Tx)的负载均衡,也就是说,从服务器向外部发送的数据包,根据一定的规则,分别从Teamport中的2个网卡传出去,但是这种方式,不能保证接受(Rx)的数据包也同样能够负载均衡。简单的说,TLB可以做到网络容错,Teamport的Tx是2Gb带宽,Rx还是只有1Gb(除非有另外的方法来做负载均衡)
【SLB】
SLB是Switch-assist Load Balance,顾名思义,交换机协助的负载均衡,就是需要在交换机上进行相应的配置以后才能实现。SLB Team中的2个网卡必须连接到同一个交换机,这2个网卡到同一交换机的2个端口之间的链路就合并组成一个通道,这个通道Cisco交换机术语叫 Etherchannel,其他厂商的交换机则常称这个为Port Trunk。这种组成联合通道的方式也称之为静态的链路聚合(SLA, Static Link Aggregation)。SLB方式的Teamport是双向2Gb,Tx和Rx的数据流都可以做到负载均衡,但是它只能保证网卡的容错,做不到交换机的容错。
注意(1):应用SLB时还要特别注意SLB的负载均衡实现方式和对端交换机的限制。一般而言,很多厂商的交换机,都要求同一个聚合链路中的每个端口都必须是一致的,例如千兆端口不能和百兆端口聚合,百兆全双工的端口不能和百兆半双工的端口聚合。
注意(2): 不同厂商的负载均衡的算法有所不同,比如某些型号的Cisco交换机的Etherchannel是Layer 2的,有3种Load Balancing方式:基于源MAC,基于目的MAC和XOR方式;而其他的一些型号或者有些其他厂商的还可以根据源IP,IP Hash或者TCP Session的方式。如要继续深入研究并理解这些算法的优劣,请参考相关交换机厂商的文档。