免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: cgweb

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 ) [复制链接]

论坛徽章:
0
发表于 2004-07-30 13:00 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

好文章,我现在一个项目正好在稳定性设计上,考虑用双网卡实现。使用这种邦定技术,对外,服务是同一个IP,对内,是两块网卡冗余,编程序也是对那块虚拟的网卡操作就行。
一点麻烦就是,只能检测连接交换机的链路状态,进行网卡切换。不过这应该可以用程序来检测,然后手工当掉现在的工作网卡,这时系统应该自动切换到备用网卡,继续正常通讯。
马上做实验去,请大家一起讨论,看看我这个想法是否行得通。

论坛徽章:
0
发表于 2004-08-17 10:48 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

我觉得大家应该去看看cisco网站上关于ethernet channel的说明,对于某两个机器之间的一次通讯,即使是通过ethernet channel,也只会走ethernet channel中的一条网线,而不是两条,因为,以太网是总线型的,不可以在两个mac之间同时存在两条路径。
至于说带宽的double,那是从宏观上来看的,试想,一台服务器,n个终端访问,从一条百兆走,每人可能的冲突次数是1/n,从两条百兆走,每人可能的冲突次数是2/n,从3条,4条走就更少了,冲突次数减少意味着实际可用带宽的增加啊。

论坛徽章:
0
发表于 2004-08-25 12:53 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

补充楼主的原创:
    补充理由:我在按照楼主配置方法,实现了mode=1在一个交换机上的实现,但是无法实现在VLAN模式下BOND的工作。后通过交流,最后这个方法能实现创建多个bond的虚设备并来满足不同VLAN的设置。
    由于保证网络架构的灵活性的要求,每个机器都支持VLAN的802。1Q协议,通过简单配置就可以跨VLAN通信。由于VLAN的配置在服务器中通过虚设备实现,所以在rc.local中通过ifenslave bond0 eth0 eth1 激活的方式不可行。
    具体配置:

1.编辑虚拟网络接口配置文件,指定网卡IP
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-bond0.2(VLAN2)

修改ifcfg-eth0为
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
eth1同上述配置,只需要修改DEVICE=eth0为DEVICE=eth1

ifcfg-bond0的配置
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

修改ifcfg-bond0.2
也只需要修改DEVICE=eth0为DEVICE=bond0.2,其他配置采用本来的eth0的配置就可以。

如果有其他VLAN,可以再加。

2、 # vi /etc/modules.conf
编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0
 
加入下列两行
alias bond0 bonding
options bond0 miimon=100 mode=1
说明见楼主的说明

3、添加VLAN=yes到/etc/sysconfig/network中

4、最关键一步,修改/sbin/ifup
找到# Ethernet 802.1Q VLAN support这一行
修改下面的几行:
if echo ${DEVICE} | LANG=C egrep -v '(:)' | LANG=C egrep -q 'eth[0-9][0-9]*\.[0-9][0-9]?[0-9]?[0-9]?' ; then
修改为
if echo ${DEVICE} | LANG=C egrep -v '(:)' | LANG=C egrep -q '(eth|bond)[0-9][0-9]*\.[0-9][0-9]?[0-9]?[0-9]?' ; then

        VID="`echo ${DEVICE} | \
            LANG=C egrep 'eth[0-9]+\.[0-9][0-9]?[0-9]?[0-9]?$' | \
            修改为
        VID="`echo ${DEVICE} | \
            LANG=C egrep '(eth|bond)[0-9]+\.[0-9][0-9]?[0-9]?[0-9]?$' | \
            
        PHYSDEV="`echo ${DEVICE} | \
            LANG=C egrep 'eth[0-9]+\.[0-9][0-9]?[0-9]?[0-9]?$' | \
修改为
        PHYSDEV="`echo ${DEVICE} | \
            LANG=C egrep '(eth|bond)[0-9]+\.[0-9][0-9]?[0-9]?[0-9]?$' | \
            
这样就大功告成了,重新启动或者services network restart以后,注意看messages是否成功,或者看ifconfig -a

论坛徽章:
0
发表于 2004-11-12 22:47 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

楼主写出这样的文章真是有点不负责任啊!
误人子弟啊~~~~~
ifcfg-eth*里边不设置MASTER=bond0,怕是弄到死都不会成功的。
还有,ifcfg-eth*中的BOOTPROTO=dhcp 如果,真的这样设置的话,怕是网卡永远也不会up了。(如果是远程调试的话,重新启动后,就..........嘿嘿..........)

论坛徽章:
0
发表于 2004-11-15 16:38 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

redhat as3 update3已经修改了上述文件,不再需要手动修改了

论坛徽章:
0
发表于 2005-01-06 01:26 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

好帖子,看了明白LINUX下的理念了。
但是我想不通
可是如果两个ISP商
然后两块网卡,
一个是拨号,一个是固定IP
请问设置理念是什么??

论坛徽章:
0
发表于 2005-01-06 14:11 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

[quote]原帖由 "wxia"]我觉得大家应该去看看cisco网站上关于ethernet channel的说明,对于某两个机器之间的一次通讯,即使是通过ethernet channel,也只会走ethernet channel中的一条网线,而不是两条,因为,以太网是总线型的,不可以在?.........[/quote 发表:


同意,我试验如下:

在我的两台linux 同时往bonding的linux 的server上copy data,同时能有10MB/s的速度;  在我的两台linux 同时往没有bonding的linux 的server上copy data,只能有5.8MB/s的速度. 在多用户同时访问时候,可以有效增加带宽.......

论坛徽章:
0
发表于 2005-01-06 14:15 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

原帖由 "unix_pro" 发表:
好帖子,看了明白LINUX下的理念了。
但是我想不通
可是如果两个ISP商
然后两块网卡,
一个是拨号,一个是固定IP
请问设置理念是什么??


我想这个问题是如何使用Linux实现Internet冗余连接的问题http://www.ccw.com.cn/htm/center/app/02_3_4_2.asp,
和bonding不同,bonding 只能是绑定同一个ip吧...........

论坛徽章:
0
发表于 2005-01-07 20:53 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

原帖由 "paulebjiang" 发表:


我想这个问题是如何使用Linux实现Internet冗余连接的问题http://www.ccw.com.cn/htm/center/app/02_3_4_2.asp,
和bonding不同,bonding 只能是绑定同一个ip吧...........

十分感谢!!!!!

多谢兄台点明。
谢谢,
再次感谢

论坛徽章:
0
发表于 2005-03-30 14:56 |显示全部楼层

Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )

必须要在交换机上设置trunk,否则效果差不多。但在交换机上设置trunk我还没有试过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP