以下内容根据实际工作收集整理生成!
多网卡绑定这个词在不同的平台有不同叫法,在 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