Mos*_*Pit 3 load-balancing haproxy keepalived backend
我们有几个后端养殖场(HTTP,FTP等),基本上是一个农场的每一位客户,我将重建我们的负载平衡的基础设施,移动Piranha
到HAProxy
。
由于我们使用了几个不同的后端服务器群,Piranha 配置目前看起来像这样(示例显示了服务器场webserv01,第二个服务器场webserv02使用相同的配置,但不同的虚拟 IP):
virtual webserv01 {
active = 1
address = 10.11.11.1 eth2:30
vip_nmask = 255.255.255.0
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
use_regex = 0
load_monitor = none
scheduler = rr
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server webserv01v {
address = 192.168.101.64
active = 1
port = 80
weight = 1
}
server webserv02v {
address = 192.168.102.64
active = 1
port = 80
weight = 1
}
server webserv05v {
address = 192.168.101.65
active = 1
port = 80
weight = 1
}
server webserv06v {
address = 192.168.102.65
active = 1
port = 80
weight = 1
}
}
Run Code Online (Sandbox Code Playgroud)
(例如,客户 1 拥有自己的使用 vIP 10.11.11.1:80 的网络服务器场,客户 2 拥有使用 vIP 10.11.11.2:80 的场)。我很好奇 1 个单个 HAProxy 实例是否能够使用不同的唯一 vIP 地址处理同一服务的多个场。
基本设置如下所示:
2 个 HAProxy 实例(带故障转移)
4 个 HTTP 后端群(每个客户一个)
2 个 FTP 群
为了让事情更清楚,请找到我的概念 HAProxy 配置示例,用于 2 个网络服务器场。注意不同的虚拟 IP:
#---------------------------------------------------------------------
# LB: VIRTUAL WEBSERVER POOL #01
#---------------------------------------------------------------------
frontend vWEB-LB-01
bind 10.11.11.1:80
mode http
default_backend vWEB-Pool-01
backend vWEB-Pool-01
mode http
balance roundrobin
server webserv01v 192.168.101.64:80 check weight 100 inter 1000
server webserv02v 192.168.102.64:80 check weight 100 inter 1000
server webserv05v 192.168.101.65:80 check weight 100 inter 1000
server webserv06v 192.168.102.65:80 check weight 100 inter 1000
#---------------------------------------------------------------------
# LB: VIRTUAL WEBSERVER POOL #02
#---------------------------------------------------------------------
frontend vWEB-LB-02
bind 10.11.11.2:80
mode http
default_backend vWEB-Pool-02
backend vWEB-Pool-02
mode http
balance roundrobin
server webserv01v 192.168.101.75:80 check weight 100 inter 1000
server webserv02v 192.168.101.76:80 check weight 100 inter 1000
server webserv05v 192.168.101.68:80 check weight 100 inter 1000
server webserv06v 192.168.101.69:80 check weight 100 inter 1000
Run Code Online (Sandbox Code Playgroud)
HAProxy 和/或 keeoalived 可以按照显示的方式处理这个问题吗?如果是,我将如何处理这个问题?
我想keepalived
用于 2 个 HAProxy 实例之间的故障转移目的,并让它们为后端群进行负载平衡。现在有点对我需要使用的多个虚拟 IP 地址感到困惑,任何见解将不胜感激!
是的,HAproxy 会做到这一点。您只需要使用 HAproxy 将使用的所有虚拟 IP 配置 keepalived。您可以在 keepalived.conf 中的 virtual_ipaddress 块中分配多个 IP:
virtual_ipaddress {
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.13
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8011 次 |
最近记录: |