Keepalived è un demone di sistema che monitora continuamente servizi o sistemi e raggiunge un'elevata disponibilità in caso di guasto. Se un nodo è inattivo, il secondo nodo servirà le risorse. Keepalived viene utilizzato per il failover IP tra due server . Le sue strutture per il bilanciamento del carico e l'elevata disponibilità per le infrastrutture basate su Linux. Funzionava su protocollo VRRP (Virtual Router Redundancy Protocol).
Solitamente installiamo e configuriamo Keepalived in due server con un IP generalmente noto come VIP (IP virtuale).
Mostreremo l'installazione e la configurazione di entrambi i server uno per uno.
Prerequisiti:
Installa HA Proxy in modo che Keepalived funzioni in una situazione di sicurezza.
Installeremo le librerie dei prerequisiti prima di installare Keepalived.
yum -y install kernel-headers kernel-devel
Installa Keepalived:
Installa keepalive inserendo il seguente comando in entrambe le macchine:
yum -y install keepalived
Configurazione del server principale:
Apri il file di configurazione di keepalive nel Server MASTER.
nano /etc/keepalived/keepalived.conf
Aggiungi la seguente configurazione:
! 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
}
}
L'IP virtuale verrà assegnato all'interfaccia ens33 come segue:
Configurazioni del server di backup:
Apri il file di configurazione nel server di backup.
nano /etc/keepalived/keepalived.conf
Immettere la seguente configurazione nel server di backup:
! 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
}
}
Avvia e abilita Keepalived in entrambi i server:
systemctl start keepalived.service
systemctl enable keepalived.service
systemctl status keepalived.service
Come puoi vedere sopra, l'IP virtuale è allocato su ens33 è 192.168.7.40 e ascolterà il traffico in arrivo su questo IP. Allo stesso modo, poiché la sua priorità è 101, quindi è lo stato principale.
Di seguito è riportato lo stato della macchina di backup.
Ora, se il master si interrompe, il server di backup diventerà master poiché la sua priorità sarà maggiore e il tempo di inattività sarà minimo.
quando il master si alza, la macchina di backup entrerà automaticamente nello stato di backup.