免费注册 查看新帖 |

Chinaunix

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

[Web] LVS/NAT+keepalived问题 [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-12 19:39 |只看该作者 |倒序浏览
按官方文档做的LVS/NAT+keepalived,因为是实验只有一台master和两个RealServer,都配置好后可以正常的访问,但测试时发现了问题,关闭一台RealServer后,还是会访问到它,从而无法显示网页,ipvsadm -ln 里面并没有删除这个已经关掉的机器,再测试发现,总是在keepalived.conf配置文件中配置的第二个Realserver会显示在ipvsadm -ln中

请教各位!

附:keepalived.conf

  1. ! Configuration File for keepalived

  2. global_defs {
  3.    router_id LVS_LOOK_01
  4. }
  5. vrrp_sync_group VG1 {
  6. group {
  7.         VI_1
  8.         VI_GATEWAY
  9.         }
  10. }

  11. vrrp_instance VI_1 {
  12.     state MASTER
  13.     interface eth0
  14.     virtual_router_id 51
  15.     priority 150
  16.     advert_int 1
  17.     authentication {
  18.         auth_type PASS
  19.         auth_pass 1111
  20.     }
  21.     virtual_ipaddress {
  22.         192.168.90.9
  23.     }
  24. }
  25. vrrp_instance VI_GATEWAY {
  26.         state MASTER
  27.         interface eth1
  28.         virtual_router_id 52
  29.         priority 150
  30.         advert_int 1
  31.         smtp_alert
  32.         authentication {
  33.                 auth_type PASS
  34.                 auth_pass 1111
  35.         }
  36.         virtual_ipaddress {
  37.                 192.168.17.254
  38.         }
  39. }

  40. virtual_server 192.168.90.9 80 {
  41.     delay_loop 6
  42.     lb_algo rr
  43.     lb_kind NAT
  44.     persistence_timeout 50
  45.     protocol TCP

  46. real_server 192.168.17.11 80 {
  47.         weight 1
  48.         TCP_CHECK {
  49.         connect_timeout 3
  50.         nb_get_retry 3
  51.         delay_before_retry 3
  52.         connect_port 80
  53.         }
  54.         }
  55. real_server 192.168.17.12 80 {
  56.         weight 1
  57.         TCP_CHECK {
  58.         connect_timeout 3
  59.         nb_get_retry 3
  60.         delay_before_retry 3
  61.         connect_port 80
  62.         }
  63.         }

  64. }
复制代码



现在所有的Realserver已经关闭但ipvsadm -ln 的结果?
  1. ipvsadm -ln
  2. IP Virtual Server version 1.2.1 (size=4096)
  3. Prot LocalAddress:Port Scheduler Flags
  4.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  5. TCP  192.168.90.9:80 rr persistent 50
  6.   -> 192.168.17.12:80             Masq    1      0          0
复制代码

论坛徽章:
0
2 [报告]
发表于 2009-08-13 09:29 |只看该作者
装个heartbeat-ldirectord吧,它可以用来监测真实主机的状态,如果真实主机down掉,就会将其从主机列表移除,等到其恢复后,再加入
就可以避免访问到已经down掉的主机
keepalived这个软件我没用过

[ 本帖最后由 00306 于 2009-8-13 09:30 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-08-13 14:53 |只看该作者
设置的问题,不要把权重改为0,应该把它从列表里删掉

论坛徽章:
0
4 [报告]
发表于 2009-08-13 14:54 |只看该作者
具体你可以去linux版的双机和集群版块问问

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
5 [报告]
发表于 2009-08-13 15:28 |只看该作者
原帖由 00306 于 2009-8-13 09:29 发表
装个heartbeat-ldirectord吧,它可以用来监测真实主机的状态,如果真实主机down掉,就会将其从主机列表移除,等到其恢复后,再加入
就可以避免访问到已经down掉的主机
keepalived这个软件我没用过


keepalived还是很好用的,至少在DR模式下我做试验没有问题,应该是哪设置不对,但我一直找不到原因!

论坛徽章:
0
6 [报告]
发表于 2009-08-17 12:46 |只看该作者
看一下系统日志 keepalived的日志直接在/var/log/messages

用ldirectord非常麻烦 不要用

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
7 [报告]
发表于 2009-08-17 13:24 |只看该作者
原帖由 sery 于 2009-8-17 12:46 发表
看一下系统日志 keepalived的日志直接在/var/log/messages

用ldirectord非常麻烦 不要用


日志:

Aug 17 13:11:29 mfsserver Keepalived_vrrp: VRRP_Instance(VI_GATEWAY) setting protocol VIPs.
Aug 17 13:11:29 mfsserver Keepalived_vrrp: VRRP_Instance(VI_GATEWAY) Sending gratuitous ARPs on eth1 for 192.168.17.254
Aug 17 13:11:29 mfsserver Keepalived_vrrp: Netlink reflector reports IP 192.168.90.9 added
Aug 17 13:11:29 mfsserver Keepalived_vrrp: Netlink reflector reports IP 192.168.17.254 added
Aug 17 13:11:29 mfsserver Keepalived_healthcheckers: Netlink reflector reports IP 192.168.90.9 added
Aug 17 13:11:29 mfsserver Keepalived_healthcheckers: Netlink reflector reports IP 192.168.17.254 added
Aug 17 13:11:31 mfsserver Keepalived_healthcheckers: TCP connection to [192.168.17.11:80] failed !!!
Aug 17 13:11:31 mfsserver Keepalived_healthcheckers: Removing service [192.168.17.11:80] from VS [192.168.90.9:80]
Aug 17 13:11:34 mfsserver Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.90.9
Aug 17 13:11:34 mfsserver Keepalived_vrrp: VRRP_Instance(VI_GATEWAY) Sending gratuitous ARPs on eth1 for 192.168.17.254

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
8 [报告]
发表于 2009-08-17 14:44 |只看该作者
上面的日志输出是在所有真实机关闭的情况下,但是日志只提示17.11 failed!!

论坛徽章:
0
9 [报告]
发表于 2009-08-18 13:45 |只看该作者
你可以看一下keepalived权威指南里面,在配置realserver的时候有下面这个选项,意思是在检测不到时候将其权重设置为0并继续监视,而不是直接把他从集群中T掉。你可是试试,不知道能不能解决你的问题
inhibit_on_failure

论坛徽章:
0
10 [报告]
发表于 2009-08-18 13:49 |只看该作者
还有就是你的realserver 上的lo地址是怎么设的?有没有关闭 每个realserver上的ARP ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP