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