AS4 下网卡绑定实现负载均衡和失效保护
QuickLinux AS4 下网卡绑定实现负载均衡和失效保护
Linux下的的负载平衡(说白了就是n块网卡邦定在一起当一个用速度变成原来的n倍)在linux下叫做bonding,理论就不说了,网上一大堆.网上也有好多这样的文章但是大多都和实际配置过程有些不同,下面说说在2.6内核的quicklinux AS4 上具体的实现方法。
第一步、编辑虚拟网络接口配置文件。
建立 /etc/sysconfig/network-scripts/ifcfg-bond0 文件
内容如下:
DEVICE=bond0
IPADDR=192.168.0.1
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.1
ONBOOT=yes ip地址根据自己的需要配置(一个简单的方法就是拷贝一个ifcfg-eht0修改DEVICE=bond0) 第二步、编辑真实网卡的配置文件(建议修改之前做好备份)
/etc/sysconfig/network-scripts/ifcfg-eth*
内容如下
BOOTPROTO=none
TYPE=Ethernet
DEVICE=eth* (*与那个配置文件名中的相同)
ONBOOT=yes
MASTER=bond0
slave=yes 注意:真实网卡不能再设置ip地址了,按需要把所要绑定的真实网卡都按这个设置,主要是MASTER=bond0 和 slave=yes 一定不要弄错(简单的方法就是修改一个然后拷贝再修改) 第三步、修改/etc/modprobe.conf 文件加入如下两行(建议做好备份) alias bond0 bonding
options bond0 miimon=100 mode=0 注:1、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。
2、mode=0 表示负载均衡方式,两块网卡都工作。
mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的。 第四步、在/etc/rc.d/rc.local 加入如下一行(启动时执行此行命令) ifenslave bond0 eth0 eth1 …… eht* 重新启动后负载平衡已经能正常工作。但是还有需要注意的,就是shorewall防火墙的设置,这个设置最好在配置负载平衡前进行,因为 shorewall在webmin下配置最简单,
负载平衡启动后原来的设置的“网卡界面”里面的网卡就应该由eht* 改成了bond0 了 。不改设置全部通讯都会断掉。
用service shorewall stop 也不能停掉防火墙,因为shorewall关掉后它就会启动“关闭规则(routerstopped)”。“关闭规则”默认的是不允许任何通讯。
所以建议在配置负载平衡前建立防火墙规则。否则只能通过手工来改shorewall的配置文件了。 以上的实现方法已经在QuickLinux as4 2.6.11-8内核下实现,网卡为双intel pro1000 速度相当令人满意,服务器双网卡和两台客户计算机所都连接到同一个普通交换机上,两台客户机网同时从 SMB上用totle copy拷贝大文件速度都能达到10000KB/S以上。
网上好多文章说需要网管交换机,我使用的是锐捷1824+普通24口交换机。 Step1:编辑/etc/modprobe.conf文件
#vi /etc/modprobe.conf
加入
alias bond0 bonding
options bond0 miimon=100 mode=0 (这里设定的是负载均衡方式,如果要使用冗余模式,使用
options bond0 miimon=100 mode=1 来替换之。)
Step2: 修改之后需要重新制作initrd文件:
# mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r) Step3:配置bonding网卡(和配置普通的网卡类似)
# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.8
NETMASK=255.255.255.0 Step4:配置从网卡(直接copy这里的内容即可)
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes #cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes Step5:重起系统,系统启动后可通过如下命令查看bond设备信息:
# watch -d -n 1 "cat /proc/net/bonding/bond0"
搜索更多相关主题的帖子:
负载 绑定 网卡 Linux 网络