【虚拟化实战】网络设计之四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,如需转载请自行联系原作者


相关文章
|
7天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
22天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)
【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)
39 0
|
22天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
40 0
|
22天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
41 2
|
22天前
|
机器学习/深度学习 自然语言处理 PyTorch
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
22 0
|
1月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
|
1月前
|
JSON Go API
Go语言网络编程:HTTP客户端开发实战
【2月更文挑战第12天】本文将深入探讨使用Go语言开发HTTP客户端的技术细节,包括发送GET和POST请求、处理响应、错误处理、设置请求头、使用Cookie等方面。通过实例演示和代码解析,帮助读者掌握构建高效、可靠的HTTP客户端的关键技术。
|
30天前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
38 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
26 2