您的位置:首页 > 其它

RHEL5.X网卡bond配置

2011-07-01 15:32 447 查看
一、创建bonding的步骤
第一步:创建bond0虚拟接口配置文件,并配置被绑定的其他网卡。
第二步:加载并配置bonding模块,还有其他网络接口模块。默认情况下系统内容已经加载了bonding模块与其他网络接口模块,仅需要在/etc/modprobe.conf中修改bonding模块参数。
第三步:绑定你需要绑定的所有接口道bond0接口。
二、配置bond0
1.创建ifcfg-bond0接口文件
# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=10.0.0.2
USERCTL=no

2.配置eth1、eth2文件
# vi ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

# vi ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

3.修改/etc/modprobe.conf文件
添加如下内容:
alias bond0 bonding
options bond0 miimon=100 mode=1

miimon 是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。
mode 指定了bond0的工作模式,在redhat中有0-6共7种工作模式,常用的是0和1。
七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast), 4.lacp, 5.transmit load balancing, 6.adaptive load balancing。
mode=0 表示(balance-rr) Round-robin policy(平衡抡循环策略)为负载均衡方式,两块网卡都工作,所有链路处于负载均衡状态,这模式的特点增加了带宽,同时支持容错能力。
mode=1 表示(active-backup) Active-backup policy(主-备份策略)提供冗余功能,工作方式是主从的工作方式,只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。此模式只提供了容错能力.由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。
mode=2 表示(balance-xor) XOR policy(平衡策略)。此模式提供负载平衡和容错能力
mode=3 表示broadcast(广播策略)特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。
mode=4 表示(lacp)IEEE 802.3ad Dynamic link aggregation 为 IEEE 802.3ad 为 动态链接聚合,需要交换机配置支持。创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,不同的实现可能会有不同的适应性。
必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式
mode=5 表示 Adaptive transmit load balancing 为适配器传输负载均衡。该模式的必要条件:ethtool 支持获取每个 slave 的速率。
mode=6 表示 Adaptive load balancing 为适配器适应性负载均衡。该模式包含 了 balance-tlb 模式,同时加上针对 IPV4 流量的接收负载均衡(receive load balance, rlb),而且不需要任何 switch(交换机)的支持。
但是常用是常用的为0与1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,所有链路处于负载均衡状态,这模式的特点增加了带宽,同时支持容错能力。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,默认情况下只有一块网卡工作,另一块做备份。

注意:bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding认为链路没有问题而继续使用。

4.加载bond0
echo "ifenslave bond0 eth1 eth2" >> /etc/rc.local
三、测试
[root@node~]# ifconfig
bond0 Link encap:Ethernet HWaddr 00:0C:29:DC:E5:D3
inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:27533 errors:0 dropped:0 overruns:0 frame:0
TX packets:1452 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3047374 (2.9 MiB) TX bytes:305305 (298.1 KiB)

eth0 Link encap:Ethernet HWaddr 00:0C:29:DC:E5:C9
inet addr:192.168.1.134 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16669 errors:0 dropped:0 overruns:0 frame:0
TX packets:2245 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1925074 (1.8 MiB) TX bytes:264120 (257.9 KiB)

eth1 Link encap:Ethernet HWaddr 00:0C:29:DC:E5:D3
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:13077 errors:0 dropped:0 overruns:0 frame:0
TX packets:1433 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1373464 (1.3 MiB) TX bytes:304507 (297.3 KiB)

eth2 Link encap:Ethernet HWaddr 00:0C:29:DC:E5:D3
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:14456 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1673910 (1.5 MiB) TX bytes:798 (798.0 b)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2341 errors:0 dropped:0 overruns:0 frame:0
TX packets:2341 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2850214 (2.7 MiB) TX bytes:2850214 (2.7 MiB)
[root@node ~]#
红色字体为bond0接口信息。此处配置的双网卡为主备状态。如果需要绑定双网卡为负载均衡状态只需更改mode参数。
备注:
1、服务器网卡绑定需要交换机做主备、堆叠、虚拟化等设置,根据绑定类型不同配置也不同。负载均衡必须开启lacp.
2、网卡绑定后,如主备模式,拔掉任何一根网线网络都不会中断。

附:
ifenslave(属于iputils-20020927-46.el5rpm包)
用法: ifenslave [-f] <master-if> <slave-if> [<slave-if>...]
ifenslave -d <master-if> <slave-if> [<slave-if>...]
ifenslave -c <master-if> <slave-if>
ifenslave --help
参数:
-d,--detach 从bond中剔除已经dead的网络接口。
-c,--change-active 改变某个网络接口为活动状态。
-f,--force 强制执行。
-a, --all-interfaces 显示所有接口信息

ifenslave {-c|--change-active} bond0 eth0 使eth为活动状态。
ifenslave {-d|--detach} bond0 eth0 从bond0中删除eth0。
ifenslave bond0 显示bond0接口网络信息。
ifconfig bond0 down 关闭bond0接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息