Контент был перенесен из Qiita.
В одном месте я использую keepalived, настроенный на VRRP + LVS как балансировщик нагрузки.
Этот балансировщик нагрузки работает с множеством IP-адресов (в связи с сертификатами SSL и прочими причинами) в следующие конфигурации.
В процессе добавления IP-адресов произошла печальная ситуация, когда связь не устанавливалась.
Конфигурация балансировщика нагрузки keepalived (DSR)
IP-адреса, используемые для SSL, маршрутизируются через статический маршрут от маршрутизатора,
и IP-адреса добавляются (добавляются по мере необходимости).
→ Таким образом, число IP-адресов, добавляемых в keepalived балансировщика нагрузки, постепенно увеличилось.
Для удобства указаны частные IP-адреса.
Невозможно настроить более 20 IP-адресов в VRRP
- В конфигурационном файле указано 21 IP-адрес (например, конфигурация для примера)
vrrp_instance BOND0 {
state MASTER
interface bond0
virtual_router_id 100
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.4 dev bond0
192.168.2.1 dev bond0
192.168.2.2 dev bond0
192.168.2.3 dev bond0
192.168.2.4 dev bond0
192.168.2.5 dev bond0
192.168.2.6 dev bond0
192.168.2.7 dev bond0
192.168.2.8 dev bond0
192.168.2.9 dev bond0
192.168.2.10 dev bond0
192.168.2.11 dev bond0
192.168.2.12 dev bond0
192.168.2.13 dev bond0
192.168.2.14 dev bond0
192.168.2.15 dev bond0
192.168.2.16 dev bond0
192.168.2.17 dev bond0
192.168.2.18 dev bond0
192.168.2.19 dev bond0
192.168.2.20 dev bond0
}
}
- Хотя я должен был настроить 21 IP-адрес, недостаточно !!
# ip addr show bond0 | grep "inet 192"
inet 192.168.1.4/32 scope global bond0
inet 192.168.2.1/32 scope global bond0
inet 192.168.2.2/32 scope global bond0
inet 192.168.2.3/32 scope global bond0
inet 192.168.2.4/32 scope global bond0
inet 192.168.2.5/32 scope global bond0
inet 192.168.2.6/32 scope global bond0
inet 192.168.2.7/32 scope global bond0
inet 192.168.2.8/32 scope global bond0
inet 192.168.2.9/32 scope global bond0
inet 192.168.2.10/32 scope global bond0
inet 192.168.2.11/32 scope global bond0
inet 192.168.2.12/32 scope global bond0
inet 192.168.2.13/32 scope global bond0
inet 192.168.2.14/32 scope global bond0
inet 192.168.2.15/32 scope global bond0
inet 192.168.2.16/32 scope global bond0
inet 192.168.2.17/32 scope global bond0
inet 192.168.2.18/32 scope global bond0
inet 192.168.2.19/32 scope global bond0
На самом деле это указано в документации к keepalived…
http://www.keepalived.org/pdf/UserGuide.pdf
virtual_ipaddress { # Блок ограничен 20 IP-адресами
@IP
@IP
@IP
}
20 IP-адресов до предела! Это явно указано, позор на мне!
Добавление более 20 IP-адресов
- Используйте virtual_ipaddress_excluded в конфигурационном файле для добавления IP-адресов (например, конфигурация для примера)
vrrp_instance BOND0 {
state MASTER
interface bond0
virtual_router_id 100
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.4 dev bond0
}
virtual_ipaddress_excluded {
192.168.2.1 dev bond0
192.168.2.2 dev bond0
192.168.2.3 dev bond0
192.168.2.4 dev bond0
192.168.2.5 dev bond0
192.168.2.6 dev bond0
192.168.2.7 dev bond0
192.168.2.8 dev bond0
192.168.2.9 dev bond0
192.168.2.10 dev bond0
192.168.2.11 dev bond0
192.168.2.12 dev bond0
192.168.2.13 dev bond0
192.168.2.14 dev bond0
192.168.2.15 dev bond0
192.168.2.16 dev bond0
192.168.2.17 dev bond0
192.168.2.18 dev bond0
192.168.2.19 dev bond0
192.168.2.20 dev bond0
}
}
- Я успешно добавил более 20 IP-адресов.
# ip addr show bond0 | grep "inet 192"
inet 192.168.1.4/32 scope global bond0
inet 192.168.2.1/32 scope global bond0
inet 192.168.2.2/32 scope global bond0
inet 192.168.2.3/32 scope global bond0
inet 192.168.2.4/32 scope global bond0
inet 192.168.2.5/32 scope global bond0
inet 192.168.2.6/32 scope global bond0
inet 192.168.2.7/32 scope global bond0
inet 192.168.2.8/32 scope global bond0
inet 192.168.2.9/32 scope global bond0
inet 192.168.2.10/32 scope global bond0
inet 192.168.2.11/32 scope global bond0
inet 192.168.2.12/32 scope global bond0
inet 192.168.2.13/32 scope global bond0
inet 192.168.2.14/32 scope global bond0
inet 192.168.2.15/32 scope global bond0
inet 192.168.2.16/32 scope global bond0
inet 192.168.2.17/32 scope global bond0
inet 192.168.2.18/32 scope global bond0
inet 192.168.2.19/32 scope global bond0
inet 192.168.2.20/32 scope global bond0