具有主动被动设置的 Apache httpd

具有主动被动设置的 Apache httpd

我有两台服务器,都安装了 Apache httpd,且配置相同,分别为 Server1 和 Server2。我想为这些服务器创建主动和被动设置。

  • 服务器1(lbserver.my.com)IP:192.168.10.88(活动)
  • 服务器2(lbserver.my.com)IP:192.168.10.89(被动)

Server1 应该响应 http 请求。如果 Server1 发生故障,则 Server2 应该成为活动服务器并响应 http 请求。有人能建议如何实现这一点吗?我尝试在两台服务器上都配置了 keepalived,它们的虚拟 IP 均为:192.168.20.90,但是我无法在 keepalived.conf 中检查 httpd 是否在 Server1 上运行。被动服务器(即 Server2)仅在 Server1 脱离网络时才响应 http 请求。我在 keepalived.conf 中的配置如下。

vrrp_script chk_haproxy{
    script "killall -0 httpd"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.90
    }
    track_script{
        chk_haproxy
    }
}

我也尝试使用脚本“pidof httpd”

我希望被动服务器在 server1 上的 httpd 发生故障时开始响应。有人能就此提出建议吗?如果此设置需要遵循任何其他方法,也请纠正我。任何帮助都将不胜感激

答案1

我建议使用 Pacemaker 和 Corosync。在很多人看来,这是事实上的 Linux 集群堆栈。设置过程稍微复杂一些,但收益更大。

在单个堆栈帖子中解释可能有点太多了,所以我建议使用 Pacemaker HA Apache 集群作为关键字进行 Google 搜索。

或者,您可以跳转到 Freenode (IRC) 并进入 #clusterlabs 并在那里寻求一些帮助。

相关内容