Я встановив збереження на двох машинах Debian для високої доступності, але я наткнувся на максимальну кількість віртуальних IP-адрес, які я можу призначити своєму vrrp_instance
. Як би я міг налаштувати та вийти з ладу понад 20+ віртуальних IP-адрес?
Це, дуже проста настройка:
LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 - 10.200.85.200
Кожна машина також працює з прив'язкою Apache (пізніше Nginx) до віртуальних IP-адрес для завершення дії сертифікату клієнта SSL та наближення до сервера-сервера. Причиною, що мені потрібно стільки VIP, є неможливість використання VirtualHost на HTTPS.
Це мій keepalived.conf:
vrrp_script chk_apache2 {
script "killall -0 apache2"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
10.200.85.100
.
. all the way to
.
10.200.85.200
}
Ідентична конфігурація є на машині BACKUP, і вона працює чудово, але лише до 20-го IP.
Я знайшов HOWTO обговорювали цю проблему. В основному, вони пропонують мати лише один VIP і спрямувати весь трафік "через" цей один IP, і "все буде добре". Це хороший підхід? Я працюю між брандмауерами pfSense перед машинами.
Цитата з вищенаведеного посилання:
ip route add $VNET/N via $VIP
or
route add $VNET netmask w.x.y.z gw $VIP
Заздалегідь спасибі.
Редагувати:
@David Schwartz сказав, що має сенс додати маршрут, тому я спробував додати статичний маршрут до брандмауера pfSense, але це не спрацювало так, як я очікував.
Маршрут pfSense:
Interface: LAN
Destination network: 10.200.85.200/32 (virtual IP)
Gateway: 10.200.85.100 (floating virtual IP)
Description: Route to VIP .100
Я також переконався, що ввімкнено переадресацію пакетів на своїх хостах:
$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1
Я роблю це неправильно? Я також видалив усіх VIP-персон із сайту keepalived.conf, тому він не працює лише понад 10.200.85.100.