在51CTO看到woshou的博文http://shitouququ.blog.51cto.com/24569/477797,自己就动手在vmware7中的centos5.5上做实验。centos5.5内核默认支持bonding。按照配置一步步下来,出现了以下问题:
1、不论是模式1还是模式0,都出现如下错误
failed to get speed and duplex form eth0,assumed to be 100Mb/sec and full
failed to get speed and duplex form eth1,assumed to be 100Mb/sec and full
2、在模式0下出现的错误还有:
以前读书学的是英语以外的语种,看不懂在说什么,先把图贴在这里。
woshou在他的博文中还说到:
需要说明的是如果想做成负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,还需要设置交换机的端口.
从原理分析一下(bond运行在mode 0下):
mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。
所以mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。
尽管实验中出现了一些问题,但经过测试,发现系统的负载均衡和失效保护功能还是正常的。待空时再来测试一下!测试好了,准备把此项技术用在我自己搭建的vsftpd服务器上,方便广大linux下载资料!
今天是2月20日,我在一台带双网卡的旧服务器上再次做了测试!并顺利通过!而且双网卡接同一台家用普通交换机,应该是没有聚合功能(做模式0时没有出错)。但我发现,不论做模式1还是模式0,均能同时实现负载均衡和失效保护的功能!一个问题解决了,一个新问题又出现了!
上面是模式0的截图,下面那张是模式1的截图!
又发现一个新问题:我的这台centos5.5实体机上运行了vsftpd服务器,互联网用户通过网络出口处的防火墙做端口映射进行访问,映射的地址为192.168.1.100。现在两张网卡绑定成一张网卡,IP地址为192.168.1.100。内网访问ftp://192.168.1.100是没有问题的,但外网访问就不行了,putty也不能ssh进去。
转载于:https://blog.51cto.com/wuhaoshu/490641