xueleixu 发表于 2017-04-17 11:00

Keepalived设置了不抢占,但是系统重启后仍然会抢占VIP

两台服务器的配置分别如下:
1.现在的情况是在两台服务器都启动的状态下,只是启停各自服务器上面的keepalived服务,是可以实现VIP的漂移,并不抢占VIP;
2.现在如果重启服务器A,VIP会到服务器B上面,服务器A重启完成后,VIP就又回到了服务器A
3.而如果重启服务器B,VIP会到服务器A上面,服务器B重启完成后,VIP就不会回到了服务器B

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

服务器A的keepalive的配置global_defs {
   notification_email {
      testadmin@test.com
   }
   notification_email_from testadmin@test.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL61
}

vrrp_instance VI_61 {
    state BACKUP
    interface em2
    virtual_router_id 61
    priority 100
    nopreempt
    advert_int 1
    debug
    authentication {
      auth_type PASS
      auth_pass 1111
    }
    #notify_backup /etc/keepalived/notify_backup.sh
    #notify_master /etc/keepalived/notify_master.sh
    #notify_stop   /etc/keepalived/notify_stop.sh
    virtual_ipaddress {
       192.168.11.5/24 dev em1
    }
}


服务器B 的keepalived配置
global_defs {
   notification_email {
      testadmin@test.com
   }
   notification_email_from testadmin@test.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL61
}

vrrp_instance VI_61 {
    state BACKUP
    interface em2
    virtual_router_id 61
    priority 90
    advert_int 1
    debug
    authentication {
      auth_type PASS
      auth_pass 1111
    }
    #notify_backup /etc/keepalived/notify_backup.sh
    #notify_master /etc/keepalived/notify_master.sh
    #notify_stop   /etc/keepalived/notify_stop.sh
    virtual_ipaddress {
      192.168.11.5/24 dev em1
    }
}

930567969 发表于 2017-05-06 17:33

看你的说明,很明显已经实现了keepalive的高可用性,只是选举VIP的优先级设置在了A这。

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

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

yanjunfeng_401 发表于 2017-05-07 09:00

回复 1# xueleixu

因为A的权重要比B的大许多当A出现时,两人比较权重,比较后一看,a的要大,当然vip就到了a上了
把A的权重设为101   B的设为100
你还可以在vrrp_instance段外面添加一段脚本
vrrp_script chk_schedown {        script "[ -e /etc/keepalived/down ] && exit 1 || exit 0"           interval 1   监测间隔        weight -2   如果返回1则权重-2        fail 2   失败两次后则认为失败了,防止误杀        raise 1    成功1此即认为成功了}
在vrrp_instance中加入   track_script {        chk_schedown
   }测试一下touch/etc/keepalived/down   A节点就变为BACKUPrm   /etc/keepalived/downa节点就又变为master了可以看看/var/log/message会有很详细的日志记录

799029078 发表于 2017-05-17 12:50

权重不一样

夏织风 发表于 2017-05-26 15:51

我之前也遇到了相似的问题,我已经解决了。这个问题的核心是:两台机器既作为负载均衡、互为主备、又承担具体业务,结果使用keepalived+lvs的时候造成了死锁。官方文档上使用的是四台机器,两台机器作为负载均衡、互为主备,两台机器负责具体业务。不过,我已经解决了两台机器既作为主备又承担具体业务的问题了。不知道你是不是遇到的是相同的问题。

q1208c 发表于 2017-08-02 21:37

回复 1# xueleixu

    priority 100
    priority 90:em17:

ashchen 发表于 2018-06-04 13:16

回复 5# 夏织风

求解决方案
页: [1]
查看完整版本: Keepalived设置了不抢占,但是系统重启后仍然会抢占VIP