试验目的:
网卡自动备份
多网卡负载平衡


试验环境:
操作系统:rhel 4 update 8
服务器型号:HP DL360G5
网络配置:ip:192.168.1.28 netmask:255.255.255.0 gateway:192.168.1.1


操作步骤:
1. 新建bond0配置文件
[root@server1 ~]# cd /etc/sysconfig/network-scripts
[root@server1 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.28
USERCTL=no
GATEWAY=192.168.1.1
TYPE=Ethernet


2. 修改eth0, eth1配置文件
引用
[root@server1 network-scripts]# ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
[root@server1 network-scripts]# ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no


3. 将新添加的bond0设备加入modprobe.conf中,以便kernel识别。加入设置参数,miimon值表示两块网卡相互监测的时间,以ms为单位。mode值为工作模式,可设置为高可用还是负载均衡,0为高可用(默认值),1为负载均衡,另外还有一种XOR模式。
引用
alias bond0 bonding
options bond0 miimon=100 mode=1

4. 重启网络服务,启动bonding
手动启用 bonding (或于完成上述步骤后重新启动电脑)
[root@server1 ~]#/etc/init.d/network restart

5. 查看 bonding 状态
[root@server1 ~]#cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v2.6.3 (June 8, 2005)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: none
Currently Active Slave: eth0
MII Status: up
MII Polling Internal (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx


注:bonding modes简介

数字表示  文字表示  说明

0 balance-rr 负载平衡模式
具容错功能, 其中一张 Slave 网卡失效仍可持续运作

1 active-backup 同一时间只有单一 Slave 网卡激活
Active Slave 网卡失效时自动启用次一顺位 Slave 网卡

2 balance-xor *未研究*

3 broadcast 所有 Slave 网卡一齐收发网路数据包
具容错功能, 其中一张 Slave 网卡失效仍可持续运作

4 802.3ad *未研究*

5 balance-tlb 传出自动负载平衡
传入由 Current Active Slave 负责
具容错功能, 其中一张 Slave 网卡失效仍可持续运作

6 balance-alb 传出及传入皆自动负载平衡
具容错功能, 其中一张 Slave 网卡失效仍可持续运作

更多设置请参考:本机/usr/share/doc/iputils-20020927/README.bonding文件内容或官网http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt文件内容。