Yüksek kullanılabilirlik için iki Debian makinesinde sürekli olarak ayarladım, ancak kendime atayabileceğim maksimum sanal IP sayısıyla karşılaştım vrrp_instance
. 20'den fazla sanal IP'yi yapılandırma ve başarısızlığa nasıl gidebilirim?
Bu, çok basit, kurulum:
LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 - 10.200.85.200
Her makine ayrıca SSL istemci sertifikası sonlandırması ve web sunucularını arka uçlara bağlamak için sanal IP'lerde Apache (daha sonra Nginx) bağlaması çalıştırıyor. Bu kadar çok VIP'ye ihtiyacımın nedeni, HTTPS'de VirtualHost'u kullanamama.
Bu benim 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
}
YEDEKLEME makinesinde aynı bir yapılandırma vardır ve iyi çalışır, ancak yalnızca 20. IP'ye kadar.
Bu sorunu tartışan bir NASIL belgesi buldum . Temel olarak, sadece bir VIP'ye sahip olmayı ve tüm trafiği "bu bir IP üzerinden" ve "her şey iyi olacak" yönlendirme öneriyorlar. Bu iyi bir yaklaşım mı? Makinelerin önünde pfSense güvenlik duvarları çalıştırıyorum.
Yukarıdaki bağlantıdan alıntı:
ip route add $VNET/N via $VIP
or
route add $VNET netmask w.x.y.z gw $VIP
Şimdiden teşekkürler.
DÜZENLE:
@David Schwartz, bir rota eklemenin mantıklı olacağını söyledi, bu yüzden pfSense güvenlik duvarına statik bir rota eklemeyi denedim, ancak beklediğim gibi çalışmadı.
pfSense yolu:
Interface: LAN
Destination network: 10.200.85.200/32 (virtual IP)
Gateway: 10.200.85.100 (floating virtual IP)
Description: Route to VIP .100
Ben de benim ana bilgisayarlarda paket yönlendirme etkin olduğundan emin yaptı:
$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1
Bunu yanlış mı yapıyorum? Tüm VIP'leri keepalived.conf dosyasından da kaldırdım, böylece yalnızca 10.200.85.100'den fazla başarısız oldu.