【虚拟化实战】网络设计之四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
















本文转自frankfan751CTO博客,原文链接: http://blog.51cto.com/frankfan/1227531,如需转载请自行联系原作者


相关文章
|
10天前
|
存储 前端开发 机器人
Python网络数据抓取(6):Scrapy 实战
Python网络数据抓取(6):Scrapy 实战
27 2
|
10天前
|
机器学习/深度学习 Python
【Python实战】——神经网络识别手写数字(三)
【Python实战】——神经网络识别手写数字
|
10天前
|
机器学习/深度学习 数据可视化 Python
【Python实战】——神经网络识别手写数字(二)
【Python实战】——神经网络识别手写数字(三)
|
7天前
|
网络协议 Python
Python 网络编程实战:构建高效的网络应用
【5月更文挑战第18天】Python在数字化时代成为构建网络应用的热门语言,因其简洁的语法和强大功能。本文介绍了网络编程基础知识,包括TCP和UDP套接字,强调异步编程、数据压缩和连接池的关键作用。提供了一个简单的TCP服务器和客户端代码示例,并提及优化与改进方向,鼓励读者通过实践提升网络应用性能。
25 6
|
8天前
|
存储 安全 算法
网络安全与信息安全:防护之道与实战策略
【5月更文挑战第17天】 在数字化时代,网络安全和信息安全已成为维护社会稳定、保障个人隐私和企业资产的重要屏障。本文深入探讨了网络安全漏洞的成因、加密技术的最新进展以及提升安全意识的有效方法。通过对网络攻防技术的剖析,揭示了防御策略的重要性,并提供了实用的防护措施和应对方案,旨在为读者打造一道坚固的信息安全防线。
|
10天前
|
安全 算法 网络安全
网络安全与信息安全:防护之道与实战策略
【5月更文挑战第14天】在数字化时代,网络安全与信息安全的重要性不断上升。本文深入探讨了网络安全漏洞的概念、加密技术的应用以及提升安全意识的必要性。文章首先分析了常见的网络威胁和漏洞,然后介绍了现代加密技术的基本原理和实践应用。接着,文中强调了培养安全意识的重要性,并提供了一系列实用的防御措施。最后,文章总结了如何通过综合手段构建坚固的网络安全防线,为个人和企业提供指导性建议。
|
10天前
|
机器学习/深度学习 数据可视化 Python
【Python实战】——神经网络识别手写数字(一)
【Python实战】——神经网络识别手写数字
|
5天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
3天前
|
JSON 安全 网络协议
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
|
3天前
|
存储 网络协议 Unix
【Linux 网络】网络编程套接字 -- 详解
【Linux 网络】网络编程套接字 -- 详解