【虚拟化实战】网络设计之四Teaming

作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7

Network teaming 这个概念在物理服务器中早就很普遍,我们往往会在物理服务器设置多个物理网卡的Teaming,除了防范因为网卡故障造成的单点故障之外,还有负载均衡的目的。

在虚拟环境中,绝大多数情况下无需为了容错或者负载均衡的目的,为一个虚拟机连接多个虚拟网卡。因为容错或者负载均衡的任务交付给虚拟交换机和其连接的多个物理网卡了。怎么来实现呢?这就需要在设置虚拟交换机上设置NetworkTeaming Policy。


五种策略选择中哪一种才适合你的环境?

Route based on originating virtual port
Route based on IP Hash (only one supported withStatic Etherchannel and Static 802.3ad)
Route based on Source MAC address
Route based on physical NIC load (Load BasedTeaming or LBT)
Use explicit failover order (Not a load balancingalgorithm)

除了Route based on IP Hash需要在物理交换机上设置Link Aggregation之外,其他的策略无需物理交换机上的特别设置。


情景一:

某小型公司因为成本的考虑,没有购买Enterprise Plus许可,所以使用vSphere  Standard  Switch

建议:

采用Route based on originating virtual port

依据该VM连接在vSwitchPort ID来决定把数据包传输到对应的物理网卡,快捷简单,无需VMKernel对数据包作任何多余的处理。


情景二:

某大型公司人员众多,使用vSphere Distributed Switch.    ESXi连接了六张1G物理网卡。有几个虚拟机作为公司的文件服务器,经常有员工抱怨访问文件服务器延时严重,有时一个文件很长时间打不开。

建议:

采用Route based on IP Hash (only onesupported with Static Etherchannel and Static 802.3ad)。但前提是物理交换机必须支持staticEtherchannel 或者static 802.3ad link aggregation并作相应设置。

这种策略可以最大程度上提高文件服务器的吞吐量,因为Etherchannel可以把多张物理网卡绑定为一个Channel,那么吞吐量就由原来的1G变为1G* Channel内的网卡数目

以上的举例是一种比较特别的情况,同时有多个客户端对文件服务器虚拟机发起文件访问,而且1G网卡的吞吐量不能满足需求。

如果你的应用大多数情况下是点对点的通讯,这意味着同一时间内仅能用到一个物理网卡,相比LBT而言,Routebased on IP Hash并不能带来特别的好处。


情景三:

某公司使用vSphere Distributed Switch.   ESXi连接了两张10G物理网卡。因为已经采用了LVS或者硬件设备实现了负载均衡,目前的虚拟环境中没有对网络吞吐量要求特别高的虚拟机。

建议:

采用Route based on physical NIC load (Load Based Teaming orLBT)

vSphere4.1 以后vDS支持该策略。连接在ESXi上某个物理网卡的使用超过了75%之后,数据包会自动发送到其他比较空闲的物理网卡,从而达到负载均衡的目的。注意虽然你设置了多个物理网卡,但某一个时刻数据包只通过某个特定的物理网卡。10G是该VM能获得的最大的吞吐量。

如果使用vDS,绝大多数情况下LBT是最佳选择。无需情景二中物理交换机的复杂配置。


参考:

NICteaming in ESXi/ESX(1004088)

IP-Hash versusLBT

Etherchanneland IP Hash or Load Based Teaming?

ExampleArchitectural Decision – Virtual Switch Load Balancing Policy

UnderstandingNIC Utilization in VMware ESX



你可能感兴趣的:(【虚拟化实战】网络设计之四Teaming)