以下内容根据实际工作收集整理生成!

多网卡绑定这个词在不同的平台有不同叫法,在 Linux 下叫 bonding , IBM 称为 etherchanel , broadcom 叫 team ,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。

Windows

Windows 下多网卡绑定一般用网卡厂商提供的免费程序完成,如果是杂牌的网卡可以用一个叫 NIC Express 的软件。网上可以搜到很多。

做绑定之前,建议将网卡驱动都升级到厂商推荐的版本。

Broadcom Teaming (IMB服务器)

如果服务器板载和插卡共 4 个网口,都是 Broadcom 的千兆网卡。

现在将两个板载的网口绑成一个 Team 作为专跑业务数据,两张板卡的网卡绑成一个 Team 专跑心跳数据。

要对 Broadcom 网卡进行 Teaming 必选装一个叫做 BASP 的工具,而装这个工具包之前必须安装微软的 .net Framework 2.0以上 。在 Broadcom 网站的下载,或者在IBM服务器随机带的网卡驱动光盘内可以找到。一个叫 BASP 的东西 (Ctrl+F 能快点找到 ) ,其实就是把 Broadcom 的网卡管理程序包安装就行,net Framework和Broadcom管理软件安 这个就很容易啦,不截图了。注意先装.net Framework 2.0, 后安装Broadcom程序就可以安装了。

安装完成后,打开后如图所示:

创建一个 Team


进入专家模式




选择绑定的网卡




进入 Expert Mode ,配置快,设定一个 Team Name , Team Type 设定为 “Smart Load Balancing(TM) and Failover” 模式,再点 Create ,再点 Apply/Exit ,一个 Team 就建好了。

(双网卡绑定有几种模式,看帮助文档都是纯英文的,翻译之后分享)

此时,网络连接中就 “ 多 ” 了一块网卡了。



IP 地址, DNS 的设定就只需要对 private 这个网卡设定一次就行了。

整个过程非常简单,很容易上手。

Intel Teaming

测试的服务器是一台 IBM 3950 M2 的服务器,板载两张 Broadcom 的网卡,也是要做 Teaming 的,一张 intel 的网卡,两个网口,这个两个网口也是要做 Teaming 的。

在 Intel网站 找到服务器的网卡型号,然后下载对应的驱动程序, OS 不要选错。如果不清楚网卡型号,在 intel 网张中找一个叫 adaptchk.exe 的应用程序,然后在服务器中运行,它就会告知你的具体型号了。

然后按照这个型号去找驱动。

然后下载,这个就不说了,然后就是安装,这里要说一个 Bug ,如果安装的时候出现这个提示,一定不要继续往下走,把所有的窗口关掉,然后再运行安装程序,务求做到不出这个提示,否则即使提示安装成功了,其实还是没有成功的。

如果注意了上面这个问题的话,安装就应该没有问题了。

装好后的网卡属性马上多了起来。选择分组,然后勾上 “ 将此适配器与其它适配器组合 ” 选项,再点 “ 新建 ” 。

给个组名。

选好成员。



选择模式。





此时在 “ 网络连接 ” 中可以发现 “ 多 ” 了一个块网卡,但是名字不叫 private 了,我们自己手动改了它。

IP 地址、掩码、网关在 private 网卡上面设定就可以了。

linux

linux 下配置方法在不同的 kernel 下会有一些微小的不同,如果你做完配置后发现 bonding 不正常,请根据你的实际应用环境,去 Google 一些权威的官方版本文档。

下面举两个例子。看完后请注意一下两者的不同之处。主要是内核版本不同导致配置有所变化

实例1

以下为配置举例,绑定两块网卡, IP 地址为 192.168.35.1/24 ,网关 192.168.35.254 在 Redhat 4.5 上测试通过

编辑文件 /etc/modprobe.conf

vi /etc/modprobe.conf

添加如下行

alias bond0 bonding

options bond0 miimon mode=1

编辑 /etc/sysconfig/network-script/ifcfg-bond0

vi /etc/sysconfig/network-script/ifcfg-bond0

内容如下

DEVICE=bond0

IPADDR=192.168.35.1

NETMASK=255.255.255.0

NETWORK=192.168.35.0

BROADCAST=192.168.35.255

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth0

内容如下

DEVICE=eth0

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth1

vi /etc/sysconfig/network-scripts/ifcfg-eth1

内容如下

DEVICE=eth1

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

修改主机名 , 增加网关

vi /etc/sysconfig/network

内容如下

GATEWAY=192.168.35.254

HOSTNAME=mysql-1

实例2

以下配置在CentOS5 测试通过,我们用的bbs 服务器的双网卡配置如下

/etc/modprobe.conf

alias bond0 bonding

/etc/sysconfig/network-script/ifcfg-bond0

DEVICE=bond0

BONDING_OPTS="mode=1 miimon=500 "

BOOTPROTO=none

#HWADDR=00:07:EE:00:18:27

ONBOOT=yes

NETWORK=10.1.0.0

NETMASK=255.255.255.0

IPADDR=10.1.0.112

GATEWAY=10.1.0.254

USERCTL=no

miimon 参数单位为毫秒,

/etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82541GI Gigabit Ethernet Controller

DEVICE=eth0

BOOTPROTO=none

#HWADDR=00:07:EE:00:18:27

ONBOOT=yes

#DHCP_HOSTNAME=bbs

MASTER=bond0

SLAVE=yes

USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth1

# Intel Corporation 82541GI Gigabit Ethernet Controller

DEVICE=eth1

BOOTPROTO=none

#HWADDR=00:07:EE:00:18:28

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no