NIC Teaming

今天接触到个新名词:NIC Teaming。搜集了点信息,回头慢慢看。

1、什么是Teaming
      简单来讲,Teaming 就是把同一台服务器上的多个物理网卡(注1)通过软件绑定成一个虚拟的网卡,也就是说,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址(注2)。
    之所以要利用Teaming 技术,除了利用多网卡同时工作来提高网络速度以外,还有可以通过Teaming 实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。
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程序来控制进入和发出的数据包,一旦控制程序检测到有一个物理网卡损坏,会自动把流量分散到其他的正在工作的网卡,这样就保证了网络工作的连续性,对于外部,通过网络访问服务器的程序是透明的。
另外,此种模式下不同的物理网卡可以连接不同的交换机,从而实现交换机的冗余
以下是此种模式下不同操作系统对于负载均衡的支持





以下是此种模式下不同操作系统对于网卡冗余的支持




2.1.2. Link Aggregation(802.3ad)
此种模式是通过Link Aggregation Control Protocol(LACP) 协议来控制的,分为动态和静态两种配置方式(在交换机上设置),这种模式中 虚拟的网络链接只用一个Mac 地址(Teaming 中的第一个物理网卡的Mac地址)接收数据包。
另外,此种模式下,Teaming 程序只负责对发出的数据包进行负载均衡,而进入的数据包负载均衡由与之相联的交换机负责,因此要求与服务器相联的交换机要支持IEEE 802.3ad 标准。Teaming 程序与交换机共同负责监控链路状态,如果发现有某个链路有问题,便自动进行切换。

以下是此种模式下不同操作系统对于负载均衡的支持





以下是此种模式下不同操作系统对于网卡冗余的支持




2.1.3. Generic Link Aggregation (Trunking)
此种模式是第二种模式的一个延伸,不同的公司对Link Aggregation 进行了本地化,如Cisco’s Fast EtherChannel (FEC) ,Cisco’s Gigabit EtherChannel (GEC) ,都是Trunk 协议。
在应用中,管理员必须为交换机的某些端口进行静态化配置(注5),同样这里由Teaming 程序和交换机共同监控链路状态。

以下是此种模式下不同操作系统对于负载均衡的支持





以下是此种模式下不同操作系统对于网卡冗余的支持





2.1.4. 三种模式的比较
详细参见以下列表




2.1.5. Teaming网络拓扑结构示意




















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 标准
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) 
如图




2. 点击下一步,选取所有协议




3. 点击下一步,进行安装,完成后在控制面板中会出现如下图标




4. 如果需要卸载,可以通过控制面板中的添加删除程序来完成


5. 击broadcom图标,进入管理界面,可以看到各个物理网卡的状态




6. 在负载均衡标签里面可以进行teaming 的配置


7. 通过Create Team 按钮创建新teaming


8、通过网上邻居的属性,定义网络参数




9.定义网络参数完成配置



3.1.2. Intel网卡

把Intel 网卡光盘放到cdrom中,运行,在菜单中选择网卡软件安装,完成安装,之后,控制面板中就会出现类似的一个配置工具,运行可以进行teaming配置,具体方法与Broadcom网卡配置方法基本相同。





3.2. Linux
3.2.1. Broadcom 网卡
1. 先正确安装Broadcom 网卡
2. 在光盘中间linux目录下找到安装程序,复制到 redhad 下
3. 执行命令
rpm -i basplnx-{version}.src.{arch}.rpm
4. 编译驱动(8.0以上用rpmbuild命令)
% cd /usr/src/{redhat or packages}
% rpm -bb SPECS/basplnx.spec or rpmbuild -bb SPECS/basplnx.spec
5.安装新的RPM包 
% rpm -i RPMS/i386/basplnx-{version}.{arch}.rpm
5. 加载驱动,完成安装
% insmod basp
6. 配置之前请确认/etc/sysconfig/network-scripts目录下每个网卡都有如下属性,文件为ifcfg-eth(*)
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
7.拷贝例子配置文件"/etc/basp/samples" 目录到 "/etc/basp" 目录
修改配置文件确定teaming 类型
TEAM_ID:   this number uniquely identifies a team
TEAM_TYPE:  0 = SLB, 1 = Generic Trunking/GEC/FEC, 2 = 802.3ad
TEAM_NAME:  ascii name of the team
TEAM_PAx_NAME: ascii name of the physical interface x, where x can be 0 to 7
TEAM_PAx_ROLE: role of the physical interface x 0 = Primary, 1 = Hot-standby.This field must be 0 for Generic Trunking/GEC/FEC team. 
TEAM_VAx_NAME:  ascii name of the virtual interface x, where x can be 0 to 63
TEAM_VAx_VLAN: 802.1Q VLAN ID of the virtual interface x.For untagged virtual interface, i.e., without VLAN enable, set it to 0. The valid VLAN ID can be 0 to 4094.
TEAM_VAx_IP: IP address of the virtual interface x. The format should be aa.bb.cc.dd. 
TEAM_VAx_NETMASK: Subnet mask of the virtual interface x. The format should mm.nn.oo.pp

8.启动teaming 程序
% /etc/init.d/basp start
3.2.2. Intel 网卡

1. 以 root身份登陆 
2. Copy  iANS-x.x.x.tar.gz 一个目录下(本文件可以在光盘中linux目录下找到)
3. tar xzf iANS-x.x.x.tar.gz 解压缩 
4. 进入 iANS-x.x.x/src 目录
5. 运行make编译文件
6. 运行make install 完成安装
7. 运行ianstool来配置teaming,出现菜单如下

1) Adding a team
2) Deleting an existing team
3) Viewing an existing team’s status
4) Configuring an existing team’s topology
5) Saving the current topology 
或者可以通过以下方法手动配置teaming
用ifconfig 把所有网卡down掉 #ifconfig ethx down
调用模块#insmod ians
用ianscfg 命令配置teaming,具体命令格式参考man
#man ianscfg
激活teaming 
#ifconfig <vadapter_name>; <IPaddr>; [netmask <NETMASK>;] [broadcast <BROADCAST>;]
用ianscfg命令保存teaming配置
如果想每一次重新起动都自动运行,用如下命令,调用上一部保存的配置文件
ianscfg –b [-f <file name>;]
编辑 /etc/sysconfig/network-scripts里面的网络文件ifcfg-<vadapter_name >;
使得文件中包含如下内容
DEVICE="<vadapter_name>;"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR="<IP_address>;"
NETMASK="<netmask>;" 

配置实例
modules.conf
#alias eth0 eepro100
#alias eth1 eepro100
#alias eth2 eepro100
alias eth0 e100
alias eth1 e100
alias eth2 e100
alias parport_lowlevel parport_pc
alias scsi_hostadapter aic7xxx 
Script for Setting up AFT Mode with VLANs: (two PRO/100 adapters)
insmod e100
insmod ians
ianscfg -a -t team1 -M AFT -V
ianscfg -at team1 -m eth0 -p primary
ianscfg -at team1 -m eth1 -p secondary
ianscfg -at team1 -v vadapt1 -i 10 
ianscfg -at team1 -v vadapt2 -i 15
ianscfg -c team1
ianscfg -s
ifconfig vadapt1 192.168.1.1 netmask 255.255.255.0
ifconfig vadapt2 192.168.2.1 netmask 255.255.255.0

4. 相关资源
1. 从哪里可以得到broadcom的光盘
ftp://ftp.software.ibm.com/pc/pccbbs/options/v678-cd.exe
2. 从哪里可以得到Intel nic 的光盘
ftp://ftp.software.ibm.com/pc/pccbbs/options/v82-cd.exe
4. 访问Broadcom网址
http://www.broadcom.com
5. 访问Intel 网址
http://www.intel.com



5. 注释
1, 可以是服务器集成的和后添加的网卡,也可以是不通生产商生产的网卡
2, 有关IP地址的说明请参考TCP/IP协议有关解释
3, 本文档如果没有特殊说明都是针对Broadcom网卡的配置
4, 网卡的物理地址,可以通过ipconfig /all (windows) 或者ifconfig –a (linux)查看
5, 通过交换机内部的操作系统来配置,如Cisco 的IOS系统,可以通过串口线,或者网络telnet命令登陆交换机的操作系统

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值