首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当跟踪进程出现时,Keepalived不会获得仲裁

当跟踪进程出现时,Keepalived不会获得仲裁
EN

Server Fault用户
提问于 2019-11-27 08:50:03
回答 1查看 1.3K关注 0票数 1

我在CentOS7上使用了v2.0.19,它只跟踪一个vrrp实例,跟踪haproxy进程的存在。不幸的是,在重新启动haproxy进程之后,vrrp实例从未离开故障状态。

这是我的配置

代码语言:javascript
复制
vrrp_track_process chk_service {
    process haproxy
    weight 0
}

vrrp_instance VI_1 {
    interface eth0
    state MASTER
    virtual_router_id 51
        priority 101
        advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.100 dev eth0 label eth0:shared
    }
    track_process {
        chk_service
    }
}

syslogs日志显示,当haproxy进程下降时,quorm丢失,但当haproxy进程几秒钟后返回联机时,则永远不会获得仲裁。

代码语言:javascript
复制
systemd: Stopping HAProxy Load Balancer...
haproxy: [WARNING] 330/081104 (72258) : Exiting Master process...
haproxy: [ALERT] 330/081104 (72258) : Current program 'dataplane-api' (72260) exited with code 0 (Exit)
haproxy: [ALERT] 330/081104 (72258) : Current worker #1 (72261) exited with code 143 (Terminated)
haproxy: [WARNING] 330/081104 (72258) : All workers exited. Exiting... (0)
systemd: Stopped HAProxy Load Balancer.
Keepalived_vrrp[72335]: Quorum lost for tracked process chk_service
Keepalived_vrrp[72335]: (VI_1) Entering FAULT STATE
Keepalived_vrrp[72335]: (VI_1) sent 0 priority
Keepalived_vrrp[72335]: (VI_1) removing VIPs.
systemd: Starting HAProxy Load Balancer...
haproxy[113178]: Proxy stats started.
haproxy[113178]: Proxy main started.
haproxy[113178]: Proxy app started.
haproxy: [NOTICE] 330/081112 (113178) : New program 'dataplane-api' (113179) forked
haproxy: [NOTICE] 330/081112 (113178) : New worker #1 (113180) forked
systemd: Started HAProxy Load Balancer.

请注意,当我开始保持流程时,正确地检测到haproxy进程的存在。

以下是保存的-v的输出

代码语言:javascript
复制
Keepalived v2.0.19 (unknown)

Copyright(C) 2001-2019 Alexandre Cassen, <acassen@gmail.com>

Built with kernel headers for Linux 3.10.0
Running on Linux 3.10.0-1062.el7.x86_64 #1 SMP Thu Jul 18 20:25:13 UTC 2019

configure options: --prefix=/opt/keepalived

Config options:  LIBIPTC LIBIPSET_DYNAMIC LVS VRRP VRRP_AUTH OLD_CHKSUM_COMPAT FIB_ROUTING

System options:  PIPE2 SIGNALFD INOTIFY_INIT1 VSYSLOG EPOLL_CREATE1 IPV6_ADVANCED_API LIBNL3 RTA_ENCAP RTA_EXPIRES RTA_PREF FRA_SUPPRESS_PREFIXLEN FRA_TUN_ID RTAX_CC_ALGO RTAX_QUICKACK FRA_OIFNAME IFA_FLAGS IP_MULTICAST_ALL LIBIPTC NET_LINUX_IF_H_COLLISION LIBIPVS_NETLINK VRRP_VMAC IFLA_LINK_NETNSID CN_PROC SOCK_NONBLOCK SOCK_CLOEXEC O_PATH GLOB_BRACE INET6_ADDR_GEN_MODE SO_MARK SCHED_RT SCHED_RESET_ON_FORK

我试图在没有运气的情况下设置仲裁数、最小值和最大值。

有人也经历过同样的问题吗?

EN

回答 1

Server Fault用户

发布于 2021-10-14 20:20:28

在2.0.19版本的维护上也有同样的问题。

在我们的例子中,问题在于对于pids大于32767的进程,试图打开de : /proc/xxxxx/comm,并将xxxx作为负数。因此,如果计算机运行很长时间,并且pids变得巨大,您可以尝试这种行为。

幸运的是,保持了2.0.20修复了这个错误,正如这里提到的:

  • 修正PID> 32767的track_process

https://www.keepalived.org/changelog.html (2.0.20版)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/993432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档