Linux下双网卡绑定技术实现负载均衡和失效保护(bond)
|
副标题[/!--empirenews.page--] 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有所有一个管理员会把内部网的文件服务器的IP地址弄非常多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最佳的办法就是 bonding ; 另一种情况就是服务器的一个网卡失效或网络连接意外断开,如果做了bonding就能转换到另一个网卡的网络连接上.确保服务的不中断. 首先要看linux是否支持bonding,RHEL4已默认支持了.(大部分发行版都支持) filename: /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@lbl.gov and many others description: Ethernet Channel Bonding Driver, v3.0.3 version: 3.0.3 license: GPL srcversion: 2547D22885C2FDF28EF7D98 如果有类似上面的信息输出,说明已支持了. 如果没有,说明内核不支持bonding,需要重新编译内核 编译内核的步骤这里就不多写了,在make menuconfig里面 找到Bonding driver support这样的对话框,选中他. 如果是模块编译,还需要挂载模块.挂载bonding 模块的方法; [root@localhost#] modprobe bonding 如果/sbin/ifenslave没有,我们还需要把他也独立编译出来 [root@lin:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking [root@lin:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave [root@lin:/home/networking#] cp ifenslave /sbin/ifenslave 1.#cp ifcfg-etho ifcfg-bond 2.#vim ifcfg-bond DEVICE=bond0 IPADDR=192.168.100.2 NETMASK=255.255.255.0 NOBOOT=yes BOOTPROTO=none USERCTL=no #vim ifcfg-eth0 DEVICE=eth0 HWADDR=xxxxxxxxxx BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes TYPE=Ethernet #vim ifcfg-eth1 DEVICE=eth1 HWADDR=xxxxxxxxxx BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes TYPE=Ethernet (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

