keepalived nopreempt 选项不起作用

Ben*_*Ben 7 keepalived

我想将 nopreempt 选项与 keepalived vrrp 设置一起使用,以便在主节点出现故障并再次返回网络时将备份节点作为主节点运行。

我在两台服务器中都设置了 nopreempt 选项并将状态设置为两台服务器的备份,但由于高优先级 nopreempt 不起作用。

请指导解决?

  Master Machine: 
  ! Configuration File for keepalived
   vrrp_instance VI_1 {
   state BACKUP
   nopreempt
   interface eth0
   virtual_router_id 1
   priority 250
   advert_int 1
   virtual_ipaddress {
    192.168.1.2/24
    } 
  }

  Backup Machine :
  ! Configuration File for keepalived
   vrrp_instance VI_1 {
   state BACKUP
   nopreempt
   interface eth0
   virtual_router_id 1
   priority 200
   advert_int 1
   virtual_ipaddress {
     192.168.1.2/24
   }
Run Code Online (Sandbox Code Playgroud)

}

问候,本

小智 6

将两个服务器状态更改为 BACKUP。Primary 具有更高的优先级并且没有抢占,两者具有相同的路由器 ID。这对我有用。


jwb*_*ley 0

这可能是也可能不是您的正确解决方案,但我只有两个 keepalived 服务器。

如果您不希望一台服务器抢占另一台服务器,那么在像我这样的双服务器场景中,一台服务器的优先级高于另一台服务器并不重要。nopreempt如果我启用并将两台服务器设置为具有相同的优先级,它对我有用。

更新

根据要求配置示例:

vrrp_sync_group VRRP_SYNCS {
    group {
        public_http_ips
    }
}

vrrp_instance public_http_ips {
    state MASTER
    interface eth0
    virtual_router_id 18
    priority 100
    advert_int 1
    nopreempt
    virtual_ipaddress {
        192.168.0.254/24 dev eth0
    }
}
Run Code Online (Sandbox Code Playgroud)

备份完全相同,但显示“状态备份”。