免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11012 | 回复: 16
打印 上一主题 下一主题

lvs/DR 集群问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-12 17:55 |显示全部楼层 |倒序浏览
5可用积分
1.按照lvs direct routing 的定义,分发器收到连接请求后交给real server,real server 收到这个请求就直接于client通信了,我想问是不是以后所有的有关于这个请求的包都是客户端直接与real server通信不需要经过分发器了呢?还有reall server 的VIP必须添加到lo接口上吗?可以添加到其它接口吗?


2.我看了很多资料都是说用keepalived 来监视2个分发器,一个是master,一个是backup,是不是keepalived只能监视2台机器啊?比如说我想要监视数量大于2台real server呢?有没有什么好的软件啊?

3.还有就是今天我刚刚配置了一下2台real server的集群,第一次还成功了,后来就不行了访问不了,在real server上也抓不到包了。

[ 本帖最后由 lth0721 于 2009-2-12 18:09 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-02-13 09:20 |显示全部楼层
首先要谢谢2位的回答
“实际中一般绑定到lo上,主要是为了防止arp广播该vip。”
具体是怎么防止的呢 这一点我一直没有搞清楚,能说清楚点吗?

我先做的是做简单的一个DR 2个real server 内核都是2.6.18
DR 10.0.1.8 (10.0.1.8是DR的真实IP,我想的是给2个real server设置vip也为10.0.1.8)
REAL SERVER1 10.0.1.7
REAL SERVER2 10.0.1.6


DR配置
ipvsadm -C
ipvsadm -A -t 10.0.1.8:81 -s rr -p 200
ipvsadm -a -t 10.0.1.8:81 -r 10.0.1.6:81 -g
ipvsadm -a -t 10.0.1.8:81 -r 10.0.1.7:81 -g
echo "1" >/proc/sys/net/ipv4/ip_forward

10.0.1.6配置
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 10.0.1.8 netmask 255.255.255.0


10.0.1.7配置
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 10.0.1.8 netmask 255.255.255.0


我第一次是把vip设置在eth0:0上的,改到lo:0上后我的机器就无法与real server 通信了。。是不是vip的netmask 必须设置为4个255 啊

还有就是如果是多台real server怎么让keepalived 和lvs 协作以达到及时无心跳接点的要求呢?能给个例子吗?

[ 本帖最后由 lth0721 于 2009-2-13 11:10 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-02-13 10:55 |显示全部楼层
原帖由 lnycm 于 2009-2-13 10:15 发表
在lvs调度器上需要把虚拟ip配置到eth0上,realserver虚拟ip绑定到lo上


我的调度器就只有一个ip不可以直接作为虚拟ip使用吗?

论坛徽章:
0
4 [报告]
发表于 2009-02-13 11:35 |显示全部楼层
我发现在10.0.1.7上添加了ifconfig lo:0 10.0.1.8 netmask 255.255.255.255后,DR根本就ping不通10.0.1.7这个地址了啊。
经过多次试验,导致导致了在.7上抓不到包的原因是echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 也就是忽略了arp包.但是我明明只在lo这个接口上忽略的啊,怎么会影响到eth0了呢?  而且不忽略这个会引起arp问题的啊,怎么解决呢?需要打补丁吗?

[ 本帖最后由 lth0721 于 2009-2-13 11:55 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-02-13 12:37 |显示全部楼层
我的rs的vip是配置在lo:0上的
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “2” > /proc/sys/net/ipv4/conf/lo/arp_announce
这样还不够吗?
为什么还需要对eth0也做同样的设置呢?

我在10.0.1.7上
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
后 发现lvs是用起了但是我的机器访问也不了10.0.1.7了..

DR上也ping 不通10.0.1.7显示Destination Host Unreachable
我想可能是由于关闭了10.0.1.7上etn0 arp响应的原因

[ 本帖最后由 lth0721 于 2009-2-13 12:47 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-02-13 13:41 |显示全部楼层
对了我想知道DR是怎么知道real server的mac地址的呢?是不是需要在DR上手动设置啊

论坛徽章:
0
7 [报告]
发表于 2009-02-13 16:51 |显示全部楼层
DR 10.0.1.8 (10.0.1.8是DR的eth0的ip,我想的是给2个real server设置vip也为10.0.1.8)
REAL SERVER1 10.0.1.7
REAL SERVER2 10.0.1.6


DR配置
ipvsadm -C
ipvsadm -A -t 10.0.1.8:81 -s rr -p 200
ipvsadm -a -t 10.0.1.8:81 -r 10.0.1.6:81 -g
ipvsadm -a -t 10.0.1.8:81 -r 10.0.1.7:81 -g
echo "1" >/proc/sys/net/ipv4/ip_forward

10.0.1.6配置
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
#echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 10.0.1.8 netmask 255.255.255.255

10.0.1.7配置
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
#echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 10.0.1.8 netmask 255.255.255.255

没有注释下面两句的时候,我的机器也无法与10.0.1.6和10.0.1.7这两个ip通信了,所以我注释掉了,我想也没有影响,因为vip是设置在lo上的,只要它不响应arp包就没问题了。还有就是echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore这个是不是就说明设置了所有的网络接口都不响应arp包啊?既然都不响应那DR又怎么找得到real server呢?所以我更加觉得注释掉是正确的了
但是为什么注释了之后当我给它加上vip的时候,DR就ping不通10.0.1.7了呢
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

[ 本帖最后由 lth0721 于 2009-2-13 17:08 编辑 ]

网络结构图.JPG (13.74 KB, 下载次数: 26)

网络结构图.JPG

论坛徽章:
0
8 [报告]
发表于 2009-02-13 17:17 |显示全部楼层

回复 #14 kns1024wh 的帖子

如果是每个网络接口都禁止响应ARP包,那不就是不能对realserver进行远程管理了啊?还必须要自己绑定对应real server的mac地址啊

[ 本帖最后由 lth0721 于 2009-2-13 17:24 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-02-13 17:40 |显示全部楼层
如果是通过arp欺骗,那如果是内网用户而且装有arp防火墙 岂不是无法访问?

论坛徽章:
0
10 [报告]
发表于 2009-02-13 20:35 |显示全部楼层
原帖由 supertcy 于 2009-2-13 18:01 发表

禁止arp广播 *只会* 禁掉lo接口上所配置别名ip的arp广播,但是需要在每个物理接口上都设置禁止。
感觉你对计算机网络完全没什么概念,这样搞下去只是浪费时间,建议好好补补基础吧,这些都是基本。。。

我确实不太清楚这个arp广播的问题,我也只是一个newbie,不知道这位高手能不能指点一下为什么禁止了所有接口的arp响应却只是禁止了lo接口的广播呢, 为什么我在10.0.1.7上设置了ifconfig lo:0 10.0.1.8netmask 255.255.255.255 up后,在DR10.0.1.8上却ping 不通10.0.1.7了呢? 还请高手不吝赐教

[ 本帖最后由 lth0721 于 2009-2-13 20:42 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP