注意:红色字体是重点
#cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=wws.web2
GATEWAY=192.168.1.1
#cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.55
NETMASK=255.255.255.0
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
#cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
# cat /etc/modprobe.conf
alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptscsih
alias eth1 pcnet32
alias bond0 bonding
options bond0 miimon=100 mode=1
#cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
ifenslave bond0 eth0 eth1
#reboot
补充:
ifenslave是一个在linux下做负载均衡的工具,需要安装这个包之后上面的方案才能使用。
工作原理很简单,我举个例子,不一定成功,但能说明原理:
建一个组,把eth0和eth1加进去
#ifenslave bond0 eth0
#ifenslave bond0 eth1
#ifconfig bond0 [ip] [submark]
这个时候会新建一个bond0虚拟设备,使用我设置的IP地址,这个时候eth0和eth1工作模式变成了混杂模式,什么数据都收。
但数据过来之后由ifenslave的底层驱动来作负载均衡,决定哪些数据规组里面的哪个成员(eth0,eth1)处理。
注意这个解决方案的配置文件,其中有一句:
options bond0 miimon=100 mode=1
如果达到负载均衡的目的,应该是0,1是热备状态。
miimon是毫秒数,每100毫秒触发检测线路稳定性的事件。
mode= 是ifenslave的工作状态。
一共有7种方式:
=0: (balance-rr) Round-robin policy: (平衡抡循环策略):传输数据包顺序是依次传输,直到最后一个传输完毕,
此模式提供负载平衡和容错能力,这需要设置交换机的配合才能完成。
=1: (active-backup) Active-backup policy:(主-备份策略):只有一个设备处于活动状态。
一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。 此模式提供了容错能力。
=2:(balance-xor) XOR policy:(广播策略):将所有数据包传输给所有接口。 此模式提供了容错能力。
=3:(balance-xor) XOR policy: (平衡 策略): 传输根据原地址布尔值选择传输设备。
此模式提供负载平衡和容错能力。
=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.
IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。
=5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)
:没有特殊策略,第一个设备传不通就用另一个设备接管第一个设备正在处理的mac地址,帮助上一个传。
=6:(balance-alb) Adaptive load balancing: (适配器传输负载均衡):大致意思是包括mode5,bonding驱动程序截获 ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。(我没太看明白)
确认网卡状态:
cat /proc/net/bonding/bond0
最后注意修改安全策略:
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth2 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -i bond0 -j ACCEPT
阅读(1490) | 评论(0) | 转发(0) |