有不少朋友问,两个网卡怎么做Load balancing。正好有台X445,做个实验。
1、什么是Teaming
简单来讲,Teaming 就是把同一台服务器上的多个物理网卡(注1)通过软件绑定成一个虚拟的网卡,也就是说,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址(注2)。
之所以要利用Teaming 技术,除了利用多网卡同时工作来提高网络速度以外,还有可以通过Teaming 实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。
秋意正浓 回复于:2004-10-23 16:55:38
2. Teaming 种类(注3)
2.1. Broadcom Teaming 包含有一下三种实现方式
Smart Load Balancing,
Link Aggregation(802.3ad),
Generic Link Aggregation(Trunking)
2.1.1. Smart Load Balancing (SLB)
SLB 可以实现负载均衡,以及网卡冗余,而且与交换机的型号无关(适用于大多数品牌的交换机),具体的说,就是所有在服务器上的物理网卡都有单独的MAC(注4)地址,通过SLB程序来控制进入和发出的数据包,一旦控制程序检测到有一个物理网卡损坏,会自动把流量分散到其他的正在工作的网卡,这样就保证了网络工作的连续性,对于外部,通过网络访问服务器的程序是透明的。
另外,此种模式下不同的物理网卡可以连接不同的交换机,从而实现交换机的冗余
以下是此种模式下不同操作系统对于负载均衡的支持
秋意正浓 回复于:2004-10-23 17:02:19
以下是此种模式下不同操作系统对于网卡冗余的支持
秋意正浓 回复于:2004-10-23 17:05:57
2.1.2. Link Aggregation(802.3ad)
此种模式是通过Link Aggregation Control Protocol(LACP) 协议来控制的,分为动态和静态两种配置方式(在交换机上设置),这种模式中 虚拟的网络链接只用一个Mac 地址(Teaming 中的第一个物理网卡的Mac地址)接收数据包。
另外,此种模式下,Teaming 程序只负责对发出的数据包进行负载均衡,而进入的数据包负载均衡由与之相联的交换机负责,因此要求与服务器相联的交换机要支持IEEE 802.3ad 标准。Teaming 程序与交换机共同负责监控链路状态,如果发现有某个链路有问题,便自动进行切换。
以下是此种模式下不同操作系统对于负载均衡的支持
秋意正浓 回复于:2004-10-23 17:11:48
以下是此种模式下不同操作系统对于网卡冗余的支持
秋意正浓 回复于:2004-10-23 17:12:33
2.1.3. Generic Link Aggregation (Trunking)
此种模式是第二种模式的一个延伸,不同的公司对Link Aggregation 进行了本地化,如Cisco’s Fast EtherChannel (FEC) ,Cisco’s Gigabit EtherChannel (GEC) ,都是Trunk 协议。
在应用中,管理员必须为交换机的某些端口进行静态化配置(注5),同样这里由Teaming 程序和交换机共同监控链路状态。
以下是此种模式下不同操作系统对于负载均衡的支持
秋意正浓 回复于:2004-10-23 17:14:36
以下是此种模式下不同操作系统对于网卡冗余的支持
秋意正浓 回复于:2004-10-23 17:15:56
2.1.4. 三种模式的比较
详细参见以下列表
秋意正浓 回复于:2004-10-23 17:17:01
2.1.5. Teaming网络拓扑结构示意
秋意正浓 回复于:2004-10-23 17:31:43
:P
秋意正浓 回复于:2004-10-23 17:32:40
:P
秋意正浓 回复于:2004-10-23 17:34:32
2.2. Intel Nic teaming 分类
Intel 网卡分类一共包含5类
网卡冗余
交换机冗余
网卡负载均衡
Link Aggregation(FEC)
Link Aggregation(GEC)
IEEE 802.3ad
2.2.1. 网卡冗余Adapter Fault Tolerance (AFT)
此种方式如果一个网卡出问题,Teaming中的其他网卡就会自动顶上去,支持2-8个网卡,没有负载均衡的功能,另外,此种模式对于交换机没有特殊限制,只是要求只接同一个交换机即可。
2.2.2. 交换机冗余Switch Fault Tolerance (SFT) -
支持两个网卡分别链接到不同的交换机,从而实现链路冗余,这里要注意交换机需要启动生成树协议(STP)来防止循环,此种模式对于交换机没有限制。
SFT 只运行于 Windows NT 4.0, Windows 2000, 和 Windows Server 2003
2.2.3. 负载均衡Adaptive Load Balancing (ALB)
此种模式实现负载均衡和冗余,在windows操作系统下,同时可以对teaming进行实时控制,如关闭进入数据的负载均衡,此中模式对于交换机没有限制。
2.2.4. Fast EtherChannel*/Link Aggregation (FEC)
此种模式提供2-8个网卡,通过100M的速度链接到交换机,实现负载均衡和冗余,但是要求交换机支持相应协议,如Cisco 交换机
2.2.5. Link Aggregation(GEC)
此种模式是FEC的扩展,不通的是工作于1000M,而起交换机端口需要配置静态模式(static)
2.2.6. IEEE 802.3ad
此种模式中,网卡可以工作于不同的速度,就是说可以用不通速度的网卡建立teaming, 但同样要求交换机完全支持IEEE 802.3ad 标准
秋意正浓 回复于:2004-10-23 17:36:45
3. 实现 Teaming实例
以Windows 2000 和Redhat为例,其他操作系统请参见Broadcom/intel cdrom附带光盘的用户手册目录
3.1. Window 2000
3.1.1. Broadcom 网卡
1. 在Broadcom 光盘中找到MgmtApps目录,运行其中的setup 文件,开始安装 The Broadcom Advanced Server Program (BASP)
如图
秋意正浓 回复于:2004-10-23 17:38:25
2. 点击下一步,选取所有协议