找回密码
 注册
楼主: lues

ipvs的问题

[复制链接]
 楼主| 发表于 2004-10-19 11:36:38 | 显示全部楼层
又看了一些资料,发现有以下描述

IPIP模式

服务结点必须支持IP隧道协议,目前只有Linux。
拥有合法IP地址的局域网或者广域网。
较高,可以支持到100个服务结点。
服务结点同自己的网关或者路由器连接,不经过均衡器。
较差,采用公用IP地址,结点完全暴露。
除VIP外,每个服务结点需拥有合法的IP地址,可以直接路由至客户端。


使用VS/TUN方式是不是有可能不用打no arp补丁?
回复

使用道具 举报

 楼主| 发表于 2004-10-19 17:56:48 | 显示全部楼层
找了个方法,但是试了一下,不行
For VS/TUN clusters, you can simply configure tunl0 up so that the system can decapsulate ipip packets properly, then add the REDIRECT commands for VIPs.

For iptables in kernel 2.4, you can use it as follows:

iptables -t nat -A PREROUTING -p tcp -d <VIP> --dport <vport> -j REDIRECT --to-port <vport>

资料源网址:http://www.linuxvirtualserver.org/docs/arp.html

还请斑竹指点一下
回复

使用道具 举报

 楼主| 发表于 2004-10-19 21:23:23 | 显示全部楼层
我看了一下http://chinaunix.net/jh/4/59064.html,其中有这一段
6.3. Virtual Server via Direct Routing

    跟VS/TUN方法一样,VS/DR调度器只处理客户到服务器端的连接,响应数据可以直接从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的伸缩性。

跟VS/TUN相比,这种方法没有IP隧道的开销,但是要求负载调度器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备(或者设备别名)不作ARP响应,或者能将报文重定向(Redirect)到本地的Socket端口上。

所以我想不打ARP补丁应该还是有办法解决的
回复

使用道具 举报

发表于 2004-10-20 12:43:28 | 显示全部楼层
[quote:57e7b7b607="lues"]我也想用VS/TUN方式来架设LVS集群,我现在用的操作系统是REDHAT LINUX AS 3.0,它的内核已经直接支持IPVS了,那我该怎么解决no arp的问题呢?我看到的配置过程都说要重新编译内核,有没有不重新编译内核的解决方法呢?[/quote]

要使用 TUN或者 DR 模式, 内核应该是一定要打补丁并重新编译了。

因为 TUN 模式和 DR 模式都存在一个各服务器都有相同虚拟 IP 的问题,所以都是需要禁掉 ARP 响应的,见 http://www.linux-vs.org/docs/arp.html。

这个也就是 LVS/NAT 模式的一个优点了,可以不在乎真实服务器的配置。

余海发的一篇文章写的很不错,在这里: http://tech.ccidnet.com/pub/article/c737_a70945_p1.html
回复

使用道具 举报

 楼主| 发表于 2004-10-20 14:02:34 | 显示全部楼层
呵呵, ,谢谢,这篇文章我一直在观摩之中,我的nat方式的集群的就是按他做的,我现在正在编译内核,可是编译了2.6.9以后,iptables和usb用不了了
回复

使用道具 举报

 楼主| 发表于 2004-10-26 09:59:08 | 显示全部楼层
今天做了一个TUN 的集群,但是有个问题很奇怪,我的LVS一启动ipvsadm,刚开始服务正常,但是几分钟后LVS服务器马上死机,试了好几次都是这样,如果启动ipvsadm,LVS服务器就不会死机,我的LVS服务器是REDHAT LINUX AS 3.0
回复

使用道具 举报

 楼主| 发表于 2004-10-26 16:43:37 | 显示全部楼层
死机的问题搞定了
回复

使用道具 举报

发表于 2004-10-26 18:59:20 | 显示全部楼层


LVS 正常了吗?
回复

使用道具 举报

 楼主| 发表于 2004-10-29 11:19:48 | 显示全部楼层

我的LVS正常,但是再做综合测试的时候出现问题了
我的测试流程如下

1。HA 负载调度器测试   #正常
2。HA+LVS 测试        #正常
3。HA+LVS+Ldirectord 测试  
#测试的时候模拟RealServers死亡,结果发现Ldirectord 不生效,于是我就修改了一下www.cf,重启了一下HA,结果出了大问题,外网ping不到我的虚拟IP了,HA也不能控制各个服务了,原来正常的1。HA 负载调度器测试 2。HA+LVS 测试 也不行了  
不知道为什么,搞了两天还没有找到问题原因,我的HA配置一直没有动过,但是就突然失效了,我又把HA卸载了,再装还是没用


我的HA配置如下
[root@test9 ha.d]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               test9 localhost.localdomain localhost
10.0.0.2        test9
210.75.11.36    test9
10.0.0.9        test3
210.75.11.34    test3


more /etc/ha.d/ha.cf

debugfile /var/log/ha-debug
logfile /var/log/ha-log   
node test3               
node test9               
keepalive 2               
deadtime 20               
initdead 240              
udp eth0                  
udpport 694  

more /etc/ha.d/haresources
test9 210.75.11.37 vsftpd

more /etc/ha.d/authkeys

auth 1
1 sha1 HI!

现在连最简单的HA都实现不了了
回复

使用道具 举报

 楼主| 发表于 2004-10-29 12:07:56 | 显示全部楼层
一发贴就搞定了,不知道是不是要发帖子我才有灵感

现在1。HA 负载调度器测试 2。HA+LVS 测试 都正常了但是 /etc/ha.d/haresources
好像只生效了虚拟ip,文件中指定test9 为主HA,但是我把test9down掉在启动,虚拟ip仍然在test3上,test9并没有接管210.75.11.37这个虚拟ip
回复

使用道具 举报

 楼主| 发表于 2004-10-29 12:29:10 | 显示全部楼层
观察了一下,发现HA好像不能放在test9 上,如果把HA放在test9上,就有时候有效,大部分时间失效,特别是在test3接管虚拟ip以后,test9 的HA就肯定失效,重启都没有用,不知道test9这个问题是什么原因
回复

使用道具 举报

 楼主| 发表于 2004-10-29 14:03:00 | 显示全部楼层
现在我发现HA放在test9上确实有问题了,一是test9不能作为HA的主服务器,二是如果test9拿到了虚拟ip的控制权即使停止HA服务,test9还是不会释放虚拟ip资源,只有重启服务器才行,test3和test9都是同一套碟子装的,安装的包也一模一样,不知道出现这个问题的原因是什么
回复

使用道具 举报

 楼主| 发表于 2004-10-29 14:56:03 | 显示全部楼层
我现在在测试HA+LVS+Ldirectord
我的配置文件如下

more /etc/ha.d/haresources
test3   IPaddr::210.75.11.37    ipvsadm ldirectord::www


more /etc/ha.d/www.cf


checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
#logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes

# A sample virual with a fallback that will override the gobal setting
virtual=210.75.11.37:80
        real=210.75.11.34:80 gate
        real=210.75.11.36:80 gate
#       real=210.75.11.6:80 gate
        fallback=127.0.0.1:80 gate
        service=http
#       request="index.html"
        request=".testpage"
        receive="Test Page"
#       virtualhost=some.domain.com.au
        scheduler=wlc
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp

[root@test9 ha.d]# service ipvsadm status(采用wlc算法)
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddressort Scheduler Flags
  -> RemoteAddressort           Forward Weight ActiveConn InActConn
TCP  210.75.11.37:80 wlc
  -> 210.75.11.34:80              Route   1      0          0         
  -> 210.75.11.36:80              Route   1      0          0   


[root@test9 ha.d]# more /etc/sysconfig/ipvsadm
ipvsadm -C
ipvsadm -A -t 210.75.11.37:80 -s wlc
ipvsadm -a -t 210.75.11.37:80 -r 210.75.11.36:80 -g
ipvsadm -a -t 210.75.11.37:80 -r 210.75.11.34:80 -g


现在我将210.75.11.36http服务down掉,系统并不会自动更改宕掉服务的RealServer的相关路由信息,

是我www.cf哪里有配错吗?
回复

使用道具 举报

 楼主| 发表于 2004-10-29 15:18:09 | 显示全部楼层
我查了一下,我的ldirectord没有随着HA启动
[root@test9 ha.d]# service ldirectord
Usage: ldirectord
        {start|stop|restart|status|reload|force-reload}
[root@test9 ha.d]# service ldirectord status
ldirectord is stopped for /etc/ha.d/ldirectord.cf
[root@test9 ha.d]# service ldirectord start
Starting ldirectord                                        [  确定  ]
[root@test9 ha.d]# service ldirectord status
ldirectord for /etc/ha.d/ldirectord.cf is running with pid: 4797
[root@test9 ha.d]# service ipvsadm status
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddressort Scheduler Flags
  -> RemoteAddressort           Forward Weight ActiveConn InActConn
TCP  210.75.11.37:80 wlc
  -> 210.75.11.34:80              Route   1      0          4         
  -> 210.75.11.36:80              Route   1      0          2         
TCP  192.168.6.240:80 rr
  -> 127.0.0.1:80                 Local   1      0          0
回复

使用道具 举报

 楼主| 发表于 2004-10-29 15:22:39 | 显示全部楼层
但我的/etc/ha.d/haresources 已经写了
test3 IPaddr::210.75.11.37 ipvsadm ldirectord::www
为什么ldirectord没有启动呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-25 01:19 , Processed in 0.044494 second(s), 12 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表