Keepalived je systémový démon, který nepřetržitě monitoruje služby nebo systémy a dosahuje vysoké dostupnosti v případě selhání. Pokud je jeden uzel mimo provoz, pak bude zdrojům sloužit druhý uzel. Keepalived se používá pro IP failover mezi dvěma servery . Jeho zařízení pro vyrovnávání zátěže a vysokou dostupnost pro infrastruktury založené na Linuxu. Fungovalo na protokolu VRRP (Virtual Router Redundancy Protocol).
Obvykle instalujeme a konfigurujeme Keepalived na dvou serverech s jednou IP obvykle známou jako VIP (Virtual IP).
Postupně si ukážeme instalaci a konfiguraci obou serverů.
Předpoklady:
Nainstalujte HA Proxy, aby Keepalived fungoval v bezpečné situaci.
Před instalací Keepalived nainstalujeme nezbytné knihovny.
yum -y install kernel-headers kernel-devel
Instalovat Keepalived:
Nainstalujte keepalived zadáním následujícího příkazu na obou počítačích:
yum -y install keepalived
Konfigurace hlavního serveru:
Otevřete konfigurační soubor keepalived na MASTER Serveru.
nano /etc/keepalived/keepalived.conf
Přidejte následující konfiguraci:
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "pgrep haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
Přidělení virtuální IP k rozhraní ens33 bude následující:
Konfigurace záložního serveru:
Otevřete konfigurační soubor na záložním serveru.
nano /etc/keepalived/keepalived.conf
Na záložním serveru zadejte následující konfiguraci:
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "killall -0 haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
Spustit a povolit Keepalived na obou serverech:
systemctl start keepalived.service
systemctl enable keepalived.service
systemctl status keepalived.service
Jak můžete vidět výše, Virtuální IP adresa je přidělena na ens33 je 192.168.7.40 a bude naslouchat provozu přicházející na této IP. Podobně jako jeho Priorita je 101, jedná se tedy o hlavní stav.
Níže je uveden stav záložního stroje .
Nyní, pokud se hlavní server vypne, záložní server se stane hlavním, protože jeho priorita bude vyšší a prostoje budou minimální.
když master vstane, zálohovací stroj automaticky přejde do stavu zálohování.