忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2857 | 回复: 5

Keepalived设置了不抢占,但是系统重启后仍然会抢占VIP [复制链接]

论坛徽章:
0
发表于 2017-04-17 11:00 |显示全部楼层
两台服务器的配置分别如下:
1.现在的情况是在两台服务器都启动的状态下,只是启停各自服务器上面的keepalived服务,是可以实现VIP的漂移,并不抢占VIP;
2.现在如果重启服务器A,VIP会到服务器B上面,服务器A重启完成后,VIP就又回到了服务器A
3.而如果重启服务器B,VIP会到服务器A上面,服务器B重启完成后,VIP就不会回到了服务器B

有没有什么办法,在重启A服务器的情况下,VIP也不被服务器抢占?

服务器A的keepalive的配置
  1. global_defs {
  2.    notification_email {
  3.         testadmin@test.com
  4.    }
  5.    notification_email_from testadmin@test.com
  6.    smtp_server 127.0.0.1
  7.    smtp_connect_timeout 30
  8.    router_id LVS_DEVEL61
  9. }

  10. vrrp_instance VI_61 {
  11.     state BACKUP
  12.     interface em2
  13.     virtual_router_id 61
  14.     priority 100
  15.     nopreempt
  16.     advert_int 1
  17.     debug
  18.     authentication {
  19.         auth_type PASS
  20.         auth_pass 1111
  21.     }
  22.     #notify_backup /etc/keepalived/notify_backup.sh
  23.     #notify_master /etc/keepalived/notify_master.sh
  24.     #notify_stop   /etc/keepalived/notify_stop.sh
  25.     virtual_ipaddress {
  26.        192.168.11.5/24 dev em1
  27.     }
  28. }
复制代码



服务器B 的keepalived配置
  1. global_defs {
  2.    notification_email {
  3.         testadmin@test.com
  4.    }
  5.    notification_email_from testadmin@test.com
  6.    smtp_server 127.0.0.1
  7.    smtp_connect_timeout 30
  8.    router_id LVS_DEVEL61
  9. }

  10. vrrp_instance VI_61 {
  11.     state BACKUP
  12.     interface em2
  13.     virtual_router_id 61
  14.     priority 90
  15.     advert_int 1
  16.     debug
  17.     authentication {
  18.         auth_type PASS
  19.         auth_pass 1111
  20.     }
  21.     #notify_backup /etc/keepalived/notify_backup.sh
  22.     #notify_master /etc/keepalived/notify_master.sh
  23.     #notify_stop   /etc/keepalived/notify_stop.sh
  24.     virtual_ipaddress {
  25.         192.168.11.5/24 dev em1
  26.     }
  27. }
复制代码


论坛徽章:
0
发表于 2017-05-06 17:33 |显示全部楼层
看你的说明,很明显已经实现了keepalive的高可用性,只是选举VIP的优先级设置在了A这。

我来分析下你的Keepealived配置里,
【state】段无论写Master还是Backup其实都是其次的,是给人阅读的,主要优先级还是看【priority】段,而这里你A的值是100,B是90,很明显A有更高的选举权重,也就是启动2台机器,VIP优先会在A服务器这,这是一定的。

你想要的功能,莫非是想B的选举权重更高?那你把B的值改大即可。

论坛徽章:
0
发表于 2017-05-07 09:00 |显示全部楼层
回复 1# xueleixu

因为A的权重要比B的大许多当A出现时,两人比较权重,比较后一看,a的要大,当然vip就到了a上了
把A的权重设为101   B的设为100
你还可以在vrrp_instance段外面添加一段脚本
[size=18.6667px]vrrp_script chk_schedown {
[size=18.6667px]        script "[ -e /etc/keepalived/down ] && exit 1 || exit 0"   
[size=18.6667px]        interval 1   监测间隔
[size=18.6667px]        weight -2   如果返回1则权重-2
[size=18.6667px]        fail 2     失败两次后则认为失败了,防止误杀
[size=18.6667px]        raise 1    成功1此即认为成功了
[size=18.6667px]}
[size=18.6667px]
[size=18.6667px]在vrrp_instance中加入
[size=18.6667px]   track_script {
[size=18.6667px]        chk_schedown

[size=18.6667px]   }
[size=18.6667px]测试一下
touch  /etc/keepalived/down   A节点就变为BACKUP
rm   /etc/keepalived/down  a节点就又变为master了
可以看看/var/log/message  会有很详细的日志记录


论坛徽章:
0
发表于 2017-05-17 12:50 |显示全部楼层
权重不一样
来自苹果客户端来自客户端

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:16:53
发表于 2017-05-26 15:51 |显示全部楼层
我之前也遇到了相似的问题,我已经解决了。这个问题的核心是:两台机器既作为负载均衡、互为主备、又承担具体业务,结果使用keepalived+lvs的时候造成了死锁。官方文档上使用的是四台机器,两台机器作为负载均衡、互为主备,两台机器负责具体业务。不过,我已经解决了两台机器既作为主备又承担具体业务的问题了。不知道你是不是遇到的是相同的问题。

论坛徽章:
32
荣誉会员
日期:2011-11-23 16:44:17射手座
日期:2014-09-03 16:01:17天蝎座
日期:2014-08-21 17:18:48丑牛
日期:2014-08-29 16:06:45天秤座
日期:2014-08-29 10:12:18天秤座
日期:2014-08-26 16:18:20双子座
日期:2014-07-30 11:38:27寅虎
日期:2014-08-04 10:24:12IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2017-08-02 21:37 |显示全部楼层
回复 1# xueleixu

  1.     priority 100
复制代码
  1.     priority 90
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP