GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie IP-Failover mit KeepAlived unter Ubuntu und Debian ein

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
    interface eth0
    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 {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
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.
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

  1. Master-Server (LB1) herunterfahren und prüfen, ob IPS automatisch dem Slave-Server zugewiesen werden.
ip addr show eth0
  1. Starten Sie nun LB1 und stoppen Sie den Slave-Server (LB2). IPs werden automatisch dem Masterserver zugewiesen.
ip addr show eth0
  1. Ü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.

Ubuntu
  1. So richten Sie HAProxy in Ubuntu 16.04 ein

  2. So installieren Sie Mattermost mit MySQL unter Ubuntu 14.04 und Debian 8

  3. So richten Sie die Netzwerkschnittstelle unter Ubuntu, Debian und LinuxMint ein

  4. Debian – Wie führt man 32-Bit-Programme auf einem 64-Bit-Debian/Ubuntu aus?

  5. So installieren Sie den SSH-Server auf Ubuntu / Debian mit OpenSSH

So richten Sie GlassFish 4.1 mit JAVA 8 in Ubuntu 15.04 ein

So richten Sie Icinga Web 2 unter Ubuntu 18.04 / Ubuntu 16.04 / Debian 9 ein

So richten Sie den NFS-Server unter Debian 9 / Ubuntu 16.04 / LinuxMint 18 ein

So richten Sie WordPress auf Ubuntu Server mit Apache ein

So richten Sie ModSecurity mit Nginx unter Debian/Ubuntu ein

So installieren und konfigurieren Sie Apache Spark unter Ubuntu/Debian