先解释一下网卡绑定的含义,也就是通过某个软件,将两块(或者多块)网卡绑定在一起,当作一块网卡来使用。
我们知道,当今服务器除了要满足功能之外,高可用性是必不可少的,尤其是电信级别以上的服务,对可用性要求更高,至少为5个9(即99.999%)以上。目前业界采用较多的方法是使用双机主备,进行冗余组网,或者通过集群来实现系统的高可靠性和高性能,这样的成本一般比较高,最通俗的做法就是实现多网卡绑定。在进行系统可靠性设计时,多网卡绑定是必须要考虑的,再就是根据系统的可靠性要求和成本,斟酌着使用双击冗余备份。
使用多网卡绑定有以下几点好处
网卡比较廉价,成本低
多网卡绑定避免了单点故障,不会因为单个网卡的毁掉或者网线脱落而导致系统不可用
网卡负载绑定时,可以分担单个网卡的压力,增大了网络带宽
说了这么多网卡绑定的好处,那具体该如何绑定呢?绑定的方法要根据具体的操作平台而异,此处只介绍如何在suse linux系统上进行负载网卡绑定的方法。
Suse本为Novell公司的一个桌面产品,但是由于它易用且性能稳定,后被很多公司用来作为服务器平台,进行服务软件开发。Suse系统本身自带了很多服务,只要适当的进行配置就可以拿来使用,网卡绑定的服务程序就是系统自带的。
在Suse上进行网卡绑定,必须按顺序完成一下几个步骤:
1.任务
在SUSE 9上完成两块网卡(逻辑序号分别为eth0、eth1)的负载绑定.
2.安装bonding模块
本文以SUSE 9为例,SUSE 9上默认安装时,bonding程序已经安装好了,不需要重新安装。
3.设置绑定模式
修改配置文件/etc/modules.conf,添加如下内容
alias bond0 bonding
options bond0 mode=0 miimon=200
操作如下:
# vi /etc/modules.conf
加入以下内容后如图:
Options参数说明如下:
参数名称:miimon
说明:miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路. miimon需要驱动支持。
举例:miimon=100
参数名称:mode
说明:mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种:
mode=0表示load balancing(round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance(active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
举例:mode=0
参数名称:arp_interval/arp_ip_target
说明:arp_interval/arp_ip_target两个参数的作用和miimon差不多,但是不需要驱动支持,arp_interval指定arp检查的时间间隔, arp_ip_target是要反向查询arp的ip地址列表,最多16个,以逗号分隔,例如:arp_interval=100 arp_ip_target=192.168.100.5,192.168.100.6,表示每100毫秒作一次arp检查,如果 192.168.100.5和192.168.100.6的arp检查的结果都失败了,则链路状态为断开,bonding的active interface作出切换。
举例:arp_interval=100 arp_ip_target=
192.168.100.5,192.168.100.6
4.加载bonding模块
# modprobe bonding
用lsmod可以查看bonding模块是否加载上。
5.创建/修改bond0 eth0 eth1的网络配置文件
# cd /etc/sysconfig/network
# cp ifcfg.template ifcfg-bond0
# vi ifcfg-bond0
将对应的参数设置为如下值
DEVICE='bond0'
BOOTPROTO='static'
BROADCAST='192.168.7.255'
IPADDR='192.168.7.28'
NETMASK='255.255.255.0'
STARTMODE='onboot'
# cp ifcfg.template ifcfg-eth0
# vi ifcfg-eth0
将对应的参数值设置如下,其他参数项去掉
DEVICE='eth0'
BOOTPROTO='static'
STARTMODE='onboot'
# cp ifcfg.template ifcfg-eth1
# vi ifcfg-eth1
将对应的参数值设置如下,其他参数项去掉
DEVICE='eth1'
BOOTPROTO='static'
STARTMODE='onboot'
6.绑定生效
# rcnetwork restart //重启所有网卡
#/sbin/ifenslave bond0 eth0 eth1 //绑定eth0 eth1到bond0
注:到这里已经实现网卡绑定了,但是系统重启后绑定又消失了,需要手动重新绑定,如果想设置成系统自动实现绑定。
于 2012-06-28 14:17:32发表:
不错,很好,实用阿。:0)1
于 2012-06-28 14:17:19发表:
不错,很好,实用阿。:0)1
lxine 于 2011-12-30 19:57:34发表:
(w):02
chaipeng 于 2011-08-18 11:50:20发表:
路?路?!!!1
464735790 于 2011-04-30 10:07:22发表:
我也刚开是弄双网卡!! 看到这 不禁
zhu0816 于 2011-04-19 18:10:13发表:
继续啊,我正需要这方面的知识