linux 的网卡绑定

 

linux 多张网卡的绑定成一张网卡

环境Redhat linux as 4 U7 32bit

两张网卡的芯片一定要一样(按官方说可以不一样,不过我没成功),另外在虚拟机是测不成功的:
先看内核:
#modinfo bonding
filename:       /lib/modules/2.6.9-55.EL/kernel/drivers/net/bonding/bonding.ko
parm:           max_bonds:Max number of bonded devices
parm:           miimon:Link check interval in milliseconds
parm:           updelay:Delay before considering link up, in milliseconds
parm:           downdelay:Delay before considering link down, in milliseconds
parm:           use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default)
parm:           mode:Mode of operation : 0 for round robin, 1 for active-backup, 2 for xor
parm:           primary:Primary network device to use
parm:           lacp_rate:LACPDU tx rate to request from 802.3ad partner (slow/fast)
parm:           xmit_hash_policy:XOR hashing method : 0 for layer 2 (default), 1 for layer 3+4
parm:           arp_interval:arp interval in milliseconds
parm:           arp_ip_target:arp targets in n.n.n.n form
license:        GPL
version:        2.6.3-rh BEB2ABDD4B642BA33CF1587
description:    Ethernet Channel Bonding Driver, v2.6.3-rh
author:         Thomas Davis, tadavis@lbl.gov and many others
vermagic:       2.6.9-55.EL 686 REGPARM 4KSTACKS gcc-3.4
有以上信息说明就不用再编译了

第一张:/etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE=eth0

BOOTPROTO='none'

ONBOOT=yes

MASTER=bond0

SLAVE=yes

 第二张:

ifcfg-eth1

DEVICE=eth1

BOOTPROTO='none'

ONBOOT=yes

MASTER=bond0

SLAVE=yes

STARTMODE='off'

 编辑:

ifcfg-bond0

DEVICE=bond0

BROADCAST='192.168.1.255'

BOOTPROTO='static'

IPADDR=192.168.1.177

NETMASK='255.255.255.0'

NETWORK='192.168.1.0'

ONBOOT=yes

TYPE=Ethernet

GATEWAY=192.168.1.1

BONDING_MODULE_OPTS='mode=1 miim on=100 use_carrier=1'

#说明:use_carrier:是否使用netif_carrier_ok()检测链路状态

#mode:0表示Round-robin按顺序传输数据包,提供容错和负载均衡模式;1表示Active-backup,只有一个slave设备是激活的状态,避免交换机发包生混乱

BONDING_SLAE0='eth0'

BONDING_SLAVE1='eth1'

 

更改/etc/modules.conf

alias bond0 bonding

options bond0 miimon=100 mode=1 primary=eth0

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡
mode=1
表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还 有其他一些模式很少用到
primary=eth0
表示主备模式下eth0为默认的active网卡

更改/etc/rc.local:

modprobe bonding miimon=100 mode=1

ifenslave bond0 eth0 eth1
route add -net 172.31.3.254 netmask 255.255.255.0 gw 192.168.1.1 bond0 #如果ifcfg-bond0里加了网关这一行可以不要

设置完成后system-config-network,看一下网卡状态,这里配置就完成了。下面要做的工作就是拨网线了。
至于多bond的设置和这个大同小异,不过有几个地方注意下,具体参见:
http://blog.chinaunix.net/u2/84422/showart_2150245.html
有先人在,我这里不啰嗦:-)
更详细的参数参考见:
http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding#Link_Monitoring
http://www.cppblog.com/Files/snowhill/Bonding.rar
http://tzsky.blog.51cto.com/1062094/237283

     

posted on 2010-06-22 14:38 snowhill 阅读(660) 评论(0)  编辑 收藏 引用 所属分类: 系统管理


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

公告

又一年...........

留言簿(3)

随笔分类(13)

文章分类(131)

文章档案(124)

c++

java

linux

oracle

常用软件

其他

网络配置

系统安全

音乐

搜索

最新评论

阅读排行榜