У меня три балансировщика нагрузки (LB1, LB2, LB3) и планируйте использовать кольцевую архитектуру для настройки активный-активный, например
LB1 LB2 LB3
IP1 IP2 IP3
Идея, как показано ниже:
Распространена ли описанная выше установка? Есть потенциальная проблема?
Или какая-нибудь лучшая рекомендация для настройки трех узлов?
Сценарий «активный-активный» возможен с использованием keepalived. Вам нужно настроить несколько vrrp_instance
такие как:
vrrp_sync_group G1 { # must be before vrrp_instance declaration
group {
vserver1
}
group {
vserver2
}
}
# The primary server
vrrp_instance vserver1 {
interface eth0
state MASTER
virtual_router_id 1
priority 100
advert_int 3
authentication {
auth_type PASS
auth_pass mypass
}
virtual_ipaddress {
VIP1/24 # default CIDR mask is /32
}
}
# The backup server
vrrp_instance vserver2 {
interface eth0
state backup
virtual_router_id 2
priority 50
advert_int 3
authentication {
auth_type PASS
auth_pass mypapas
}
virtual_ipaddress {
VIP2/24 # default CIDR mask is /32
}
}
Важный момент - иметь аналогичную конфигурацию на 2-м узле, но с разными state
и priority
. В показанном примере вам нужно изменить эти строки, чтобы другой узел MASTER
для VIP2 и BACKUP
для VIP1. По умолчанию каждая машина будет иметь свой виртуальный IP-адрес, а при сбое оба виртуальных IP-адреса назначены оставшейся машине.
Конечно, это можно сделать аналогично для 3 машин. Вам нужно определить три vrrp_instance
s вместо двух.