使用HAProxy和Keepalived进行负载平衡

时间:2018-07-11 10:52:53

标签: load-balancing haproxy

我想创建一个将HAProxy用作LB软件并保持Keepalived的负载平衡管理器,以确保LB始终可访问。如下图:

var selection = $('#bill_to').find(':selected');
var really = (selection.attr('selected') != null);
var selval = really ? selection.val() : "";      /* or null or whatever */

示例HAPROXY配置如下:

          Floating IP: 10.10.10.1
       #############################
     MASTER (.2)                BACKUP(.3)
################           #################
# 10.10.10.4   #           #               #
# 10.10.10.5   #           #               #
################           #################

keepalived配置如下:

frontend localnodes
  bind 10.10.10.2:80
  mode http
  default_backend nodes

backend nodes
   mode http
   balance roundrobin
   option forwardfor
   server web01 10.10.20.1:80 check
   server web02 10.10.20.2:80 check

我在MASTER HAPROXY上设置了两个前端,这些前端的IP由Keepalived虚拟地址设置。我设置了配置:当haproxy在MASTER上关闭时,它将故障转移到BACKUP(通过脚本检查:pidof haproxy)。问题是:

  1. 我无法在BACKUP上自动启动haproxy,因为在BACKUP上都没有设置IP(10.10.10.4 / 10.10.10.5),因为虚拟IP仍附加在MASTER上。
  2. 由于IP仍附加在BACKUP上,因此我无法再次在MASTER上重新启用haproxy。
  3. 当BACKUP haproxy关闭时,由于MASTER haproxy仍然关闭(从2号开始),它无法返回到主服务器。

对此有什么解决办法吗?

0 个答案:

没有答案