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). In diesem Tutorial haben wir IP-Failover zwischen zwei Linux-Systemen konfiguriert, die als Lastausgleichsdienst für Lastausgleichs- und Hochverfügbarkeitsinfrastrukturen ausgeführt werden.
Vielleicht interessiert Sie auch unser Tutorial How to Setup HAProxy on Ubuntu &Linuxmint .
Netzwerkszenario:
1. LB1 Server: 192.168.10.111 (eth0) 2. LB2 Server: 192.168.10.112 (eth0) 3. Virtual IP: 192.168.10.121
Ich hoffe, dass Sie mit der obigen Struktur ein besseres Verständnis für das Setup bekommen. Kommen wir zur Konfiguration des IP-Failover-Setups zwischen LB1- und LB2-Servern.
Schritt 1 – Erforderliche Pakete installieren
Verwenden Sie zunächst den folgenden Befehl, um die erforderlichen Pakete zu installieren, um Keepalived auf dem Server zu konfigurieren.
sudo apt-get update sudo apt-get install linux-headers-$(uname -r)
Schritt 2 – Keepalived installieren
Keepalived-Pakete sind unter Standard-APT-Repositories verfügbar. Verwenden Sie also einfach einen Befehl, um es auf beiden Servern zu installieren.
sudo apt-get install keepalived
Schritt 3 – Keepalived auf LB1 einrichten.
Erstellen oder bearbeiten Sie nun die Keepalived-Konfigurationsdatei /etc/keepalived/keepalived.conf auf LB1 und fügen Sie die folgenden Einstellungen hinzu. Aktualisieren Sie alle rot hervorgehobenen Werte mit Ihrer Netzwerk- und Systemkonfiguration.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 101 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
Schritt 4 – KeepAlived auf LB2 einrichten.
Erstellen oder bearbeiten Sie außerdem die Keepalived-Konfigurationsdatei /etc/keepalived/keepalived.conf auf LB2 und fügen Sie die folgende Konfiguration hinzu. Achten Sie beim Vornehmen von Änderungen in der LB2-Konfigurationsdatei darauf, die Prioritätswerte auf einen niedrigeren Wert als LB1 einzustellen. Zum Beispiel zeigt die folgende Konfiguration einen Prioritätswert von 100, als LB1 101 hat.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {1. Priorität Der Wert wird auf dem Master-Server höher sein, es spielt keine Rolle, was Sie im Status verwendet haben. Wenn Ihr Status MASTER ist, aber Ihre Priorität niedriger ist als der Router mit BACKUP, verlieren Sie den MASTER-Status.[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
2. virtuelle_router_id sollte auf LB1- und LB2-Servern gleich sein.
3. Standardmäßig einzelne vrrp_instance unterstützt bis zu 20 virtual_ipaddress . Um weitere Adressen hinzuzufügen, müssen Sie weitere vrrp_instance hinzufügen
Schritt 5 – KeepAlived-Dienst starten
Starten Sie den Keepalive-Dienst mit dem folgenden Befehl und konfigurieren Sie ihn auch so, dass er beim Systemstart automatisch startet.
sudo service keepalived start
Schritt 6 – Virtuelle IPs prüfen
Standardmäßig wird dem Master-Server eine virtuelle IP zugewiesen. Wenn der Master ausfällt, wird er automatisch dem Slave-Server zugewiesen. Verwenden Sie den folgenden Befehl, um die zugewiesene virtuelle IP auf der Schnittstelle anzuzeigen.
ip addr show eth0
Beispielausgabe
2: eth0:mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:b9:b0:de brd ff:ff:ff:ff:ff:ff inet 192.168.10.111/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.10.121/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::11ab:eb3b:dbce:a119/64 scope link valid_lft forever preferred_lft forever
Schritt 7 – Überprüfen Sie die IP-Failover-Einrichtung - Master-Server (LB1) herunterfahren und prüfen, ob IPS automatisch dem Slave-Server zugewiesen werden.
ip addr show eth0
- Starten Sie nun LB1 und stoppen Sie den Slave-Server (LB2). IPs werden automatisch dem Masterserver zugewiesen.
ip addr show eth0
- Überwachen Sie Protokolldateien, um sicherzustellen, dass sie funktionieren
tailf /var/log/syslog
Beispielausgabe
Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink reflector Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink command channel Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Opening file '/etc/keepalived/keepalived.conf'. Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Configuration is using : 11104 Bytes Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Using LinkWatch kernel netlink reflector... Feb 7 17:24:52 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Transition to MASTER STATE Feb 7 17:24:53 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Entering MASTER STATE Feb 7 17:24:53 tecadmin avahi-daemon[562]: Registering new address record for 192.168.10.121 on eth0.IPv4.