微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Keepalived 接口 Down-Up 行为

如何解决Keepalived 接口 Down-Up 行为

我在 RHEL 6.10 上使用 Keepalived v1.2.23

我有两台服务器。

Server1 配置:

    vrrp_script check_database {
    script "my_script"
    interval 1
    timeout  30
}
vrrp_instance VI_1 {
    debug 2
    interface eth0.460
    state BACKUP
    nopreempt
    virtual_router_id 51 
    priority 101
    unicast_src_ip 192.168.54.4
    unicast_peer {
        192.168.54.5
    }
    track_script {
        check_database
    }
}

Server2 配置:

    vrrp_script check_database {
    script "my_script"
    interval 1
    timeout  30
}
vrrp_instance VI_1 {
    debug 2
    interface eth0.460
    state BACKUP
    nopreempt
    virtual_router_id 51 
    priority 100
    unicast_src_ip 192.168.54.5
    unicast_peer {
        192.168.54.4
    }
    track_script {
        check_database
    }
}

通常情况下,一切正常,当服务器遇到任何问题时,Keepalived 会触发故障转移。但是在一种情况下存在问题。当我在界面测试中使用“ifdown 和 ifup”命令时,我不理解 Keepalived 的行为。

1.测试1

  • 初始状态如下:

服务器 1:主

Server2:备份

  • 我们假设接口“eth0.460”在 Server2 上崩溃了。

服务器 1:主

Server2:故障

Keepalived_vrrp[8687]: Netlink reflector reports IP 192.168.54.5 removed
Keepalived_healthcheckers[8687]: Netlink reflector reports IP 192.168.54.5 removed
ntpd[1951]: Deleting interface #469 eth0.460,192.168.54.5#123,interface stats: received=0,sent=0,dropped=0,active_time=14594 secs
Keepalived_vrrp[8687]: Kernel is reporting: interface eth0.460 DOWN
Keepalived_vrrp[8687]: Kernel is reporting: interface eth0.460 DOWN
Keepalived_vrrp[8687]: VRRP_Instance(VI_1) Now in FAULT state
  • 问题解决后,会出现两种不同的行为。为什么 Server2 想成为 MASTER?

Server2 的第一个行为 - 预期

Keepalived_vrrp[8687]: Kernel is reporting: interface eth0.460 UP
Keepalived_vrrp[8687]: Kernel is reporting: tracked interface are UP
Keepalived_vrrp[8687]: VRRP_Instance(VI_1): Entering BACKUP STATE
Keepalived_vrrp[8687]: Netlink reflector reports IP 192.168.54.5 added.
Keepalived_healthcheckers[8686]: Netlink reflector reports IP 192.168.54.5 added.

Server2 的第二个行为 - 意外

Keepalived_vrrp[31531]: Kernel is reporting: interface eth0.460 UP
Keepalived_vrrp[31531]: VRRP_Instance(VI_1): Entering BACKUP STATE
Keepalived_vrrp[31531]: Netlink reflector reports IP 192.168.54.5 added
Keepalived_healthcheckers[31529]: Netlink reflector reports 192.168.54.5 added
Keepalived_vrrp[31531]: VRRP_Instance(VI_1) **Transition to MASTER STATE**
Keepalived_vrrp[31531]: VRRP_Instance(VI_1) **Received higher prio advert 101**
Keepalived_vrrp[31531]: VRRP_Instance(VI_1) Entering BACKUP STATE

2.测试2

  • 初始状态如下:

服务器 1:备份

Server2:主

  • 我们假设接口“eth0.460”在 Server1 上崩溃了。

服务器 1:故障

Keepalived_healthcheckers[9898]: Netlink reflector reports IP 192.168.54.4 removed
Keepalived_vrrp[9899]: Netlink reflector reports IP 192.168.54.4 removed
ntpd[1954]: Deleting interface #109 eth0.460,192.168.54.4#123,active_time=79741 secs
Keepalived_vrrp[9899]: Kernel is reporting: interface eth0.460 DOWN
Keepalived_vrrp[9899]: VRRP_Instance(VI_1) Now in FAULT state

Server2:主

  • 问题解决后,会出现两种不同的行为。当 Server2 是 MASTER 时,为什么 Server1 变成 MASTER?

Server1 的第一个行为 - 预期

Keepalived_vrrp[9899]: Kernel is reporting: interface eth0.460 UP
Keepalived_vrrp[9899]: VRRP_Instance(VI_1): Entering BACKUP STATE
Keepalived_healthcheckers[9898]: Netlink reflector reports IP 192.168.54.4 added
Keepalived_vrrp[9899]: Netlink reflector reports IP 192.168.54.4 added
ntpd[1954]: Listen normally on 115 eth0.460 192.168.54.4 UDP 123

Server1 的第二个行为 - 意外

Keepalived_vrrp[25026]: Kernel is reporting: interface eth0.460 UP
Keepalived_vrrp[25026]: VRRP_Instance(VI_1): Entering BACKUP STATE
Keepalived_vrrp[25026]: Netlink reflector reports IP 192.168.54.4 added
Keepalived_healthcheckers[25025]: Netlink reflector reports IP 192.168.54.4 added
Keepalived_vrrp[25026]: VRRP_Instance(VI_1) Transition to MASTER STATE
Keepalived_vrrp[25026]: VRRP_Instance(VI_1) Entering MASTER STATE
ntpd[1954]: Listen normally on 99 eth0.460 192.168.54.4 UDP 123

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。