Keepalived ist ein System-Daemon, der Dienste oder Systeme kontinuierlich überwacht und im Fehlerfall eine hohe Verfügbarkeit erreicht. Wenn ein Knoten ausgefallen ist, bedient der zweite Knoten die Ressourcen. Keepalived wird für IP-Failover zwischen zwei Servern verwendet . Seine Einrichtungen für Lastenausgleich und Hochverfügbarkeit für Linux-basierte Infrastrukturen. Es funktionierte mit dem VRRP-Protokoll (Virtual Router Redundancy Protocol).
Normalerweise installieren und konfigurieren wir Keepalived auf zwei Servern mit einer IP, die normalerweise als VIP (virtuelle IP) bekannt ist.
Wir zeigen die Installation und Konfiguration beider Server nacheinander.
Voraussetzungen:
Installieren Sie den HA-Proxy, damit Keepalived in einer ausfallsicheren Situation funktioniert.
Wir werden erforderliche Bibliotheken installieren, bevor wir Keepalived installieren.
yum -y install kernel-headers kernel-devel
Kepalived installieren:
Installieren Sie Keepalived, indem Sie auf beiden Computern den folgenden Befehl eingeben:
yum -y install keepalived
Konfiguration des Masterservers:
Konfigurationsdatei von keepalived im MASTER Server öffnen.
nano /etc/keepalived/keepalived.conf
Fügen Sie die folgende Konfiguration hinzu:
! 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
}
}
Die virtuelle IP wird der Schnittstelle ens33 wie folgt zugewiesen:
Konfigurationen des Sicherungsservers:
Konfigurationsdatei auf Backup-Server öffnen.
nano /etc/keepalived/keepalived.conf
Geben Sie im Backup-Server folgende Konfiguration ein:
! 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
}
}
Starten und aktivieren Sie Keepalived auf beiden Servern:
systemctl start keepalived.service
systemctl enable keepalived.service
systemctl status keepalived.service
Wie Sie oben sehen können, ist die virtuelle IP auf ens33 192.168.7.40 zugewiesen und hört auf den Verkehr, der auf dieser IP kommt. Ähnlich wie seine Priorität 101 ist, ist es der Master-Zustand.
Unten angegeben ist der Status der Backup-Maschine .
Wenn nun der Master ausfällt, wird der Backup-Server zum Master, da seine Priorität höher ist und die Ausfallzeit minimal ist.
Wenn der Master aufsteht, wechselt die Backup-Maschine automatisch in den Backup-Status.