首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同子网上的KeepAlived

不同子网上的KeepAlived
EN

Server Fault用户
提问于 2016-03-02 03:01:05
回答 2查看 7.1K关注 0票数 2

我正在尝试建立基于ESXi的安装程序,其中两个物理盒安装了ESXi,每一个都有一个节点,使用HAProxy作为负载均衡器。现在,为了实现高可用性,我想使用KeepAlived,这样两个HAProxy实例都可以共享虚拟-ip,我可以将物理-ip地址指向虚拟-ip地址。我的实现面临的挑战是它有两个子网。

子网A上的HAProxy : 1.1.10.101子网B上的HAProxy : 1.2.10.101

现在,当我试图在两个实例上分配虚拟-ip 1.1.10.201时,它是如何指向两个服务器上的本地实例的。

我将CentOS 7.x与HAProxy和KeepAlived结合使用,主要用于负载平衡的HTTP流量,可能也用于数据库。

我没有张贴配置文件,因为问题本身非常简单,但如果需要,我可以这样做。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2021-12-29 13:34:52

还有另一种方法。2保持在不同的网络中,可以使用unicast_peer进行通信(它的工作方式就像您有一个VIP,但您没有)

然后,您可以使用notify_script来移动IP故障转移(例如,由主机提供),并对提供程序进行API调用,告诉它在被保存的IP故障转移到主服务器(有notify_master规则)时将您的IP故障转移到另一个服务。

我的永久配置示例:

代码语言:javascript
复制
global_defs {
    vrrp_version 2
    vrrp_garp_master_delay 1
    vrrp_garp_master_refresh 60
    script_user root
    enable_script_security
}

vrrp_script chk_haproxy {
    script "/etc/keepalived/scripts/check_haproxy.sh"
    timeout 1
    interval 5   # check every 5 second
    fall 2       # require 2 failures for KO
    rise 2       # require 2 successes for OK
}

vrrp_instance lb-vips {
    state {{KEEPALIVED_STATE}}
    interface {{KEEPALIVED_INTERFACE}}
    virtual_router_id {{KEEPALIVED_VIRTUAL_ROUTER_ID}}
    priority {{KEEPALIVED_PRIORITY}}
    advert_int 1
    unicast_src_ip {{KEEPALIVED_UNICAST_SRC}}
    unicast_peer {
        X.X.X.X # here you have all ip of other keepalived
        X.X.X.X
    }
    authentication {
        auth_type PASS
        auth_pass {{KEEPALIVED_AUTH_PASSWORD}}
    }
    track_script {
        chk_haproxy
    }

    notify "/etc/keepalived/scripts/notify_script.sh"
}

相关变量:

代码语言:javascript
复制
# Keepalived Config
KEEPALIVED_STATE=MASTER
KEEPALIVED_INTERFACE=eth0
KEEPALIVED_VIRTUAL_ROUTER_ID=77
# For electing MASTER, highest priority wins.
# MASTER=101, SLAVES=100
KEEPALIVED_PRIORITY=101
# password: Only the first eight (8) characters are used.
KEEPALIVED_AUTH_PASSWORD=password
# Should be the public ip of the server
KEEPALIVED_UNICAST_SRC=X.X.X.X

# Keepalived Notify Script Config
OVH_ENDPOINT=ovh-eu
OVH_APP_KEY=X.X.X.X
OVH_APP_SECRET=X.X.X.X
OVH_CONSUMER_KEY=X.X.X.X
FAILOVER_IP=X.X.X.X
FAILOVER_SERVICE=X.X.X.X
票数 2
EN

Server Fault用户

发布于 2016-03-09 09:54:41

不幸的是,保留使用的是VRRP,它只在一个子网内工作。

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

https://serverfault.com/questions/760875

复制
相关文章

相似问题

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