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

Einrichten eines Linux-Clusters mit Keepalived:Basiskonfiguration

Im ersten Artikel dieser Reihe, Verwenden von Keepalived zum Verwalten eines einfachen Failovers in Clustern, haben Sie etwas über Keepalived erfahren und das VRRP Protokoll für das Failover einer IP-Adresse von einem Rechner auf einen anderen. Jetzt ist es an der Zeit, sich die Hände schmutzig zu machen und mehr über die Installation und grundlegende Konfiguration von Keepalived zu erfahren . In diesem Artikel richten Sie Keepalived ein Failover zwischen zwei Servern zu ermöglichen. Fangen wir an!

Keepalived-Installation

Keepalived ist in den Standard-Paket-Repositories verfügbar und kann einfach mit yum installiert werden :

[root@server1 ~]# yum install -y keepalived

[root@server1 ~]# keepalived --version
Keepalived v2.0.10 (11/12,2018)

[root@server1 ~]# systemctl status keepalived
keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disab
Active: inactive (dead)

Sie sollten auch wissen, wie man Keepalived kompiliert aus Quellcode. Keepalived ist ein aktiv gepflegtes Projekt und erhält regelmäßig neue Funktionen und Fehlerbehebungen, die möglicherweise nicht in der Paketmanager-Version enthalten sind, wenn Sie sie benötigen. Ich bin beim Schreiben dieser Serie sogar auf Fehler in der aktuellen Version in den Paket-Repositories gestoßen, und ich musste genau dieses Verfahren befolgen, um die neueste Version von Keepalived zu verwenden .

# Install prerequisites
yum install -y gcc openssl-devel

# Download the latest version of the code. Be sure to check the downloads page for the most recent version:https://www.keepalived.org/download.html
[root@localhost ~]# wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz

# Extract the code
[root@localhost ~]# tar -xf keepalived-2.0.20.tar.gz

# Run the configure scripts
[root@localhost ~]# cd keepalived-2.0.20
[root@localhost keepalived-2.0.20]# ./configure

# Build and install keepalived
[root@localhost keepalived-2.0.20]# make
[root@localhost keepalived-2.0.20]# make install

# Test your installation
[root@localhost keepalived-2.0.20]# keepalived --version
Keepalived v2.0.20 (01/22,2020)

Basiskonfiguration

Netzwerksymbole in den Diagrammen verfügbar über VRT Network Equipment Extension, CC BY-SA 3.0.

Die Konfigurationsdatei für Keepalived befindet sich unter /etc/keepalived/keepalived.conf . Wie im vorherigen Artikel besprochen, Keepalived kann mehr als nur einfaches VRRP implementieren . Dies führt zu einer Konfigurationsdatei, die abschreckend wirken könnte, wenn Sie sich die Keepalived-Manpage ansehen. Eine einfache Topologie wie die obige kann jedoch mit minimaler Konfiguration erreicht werden.

Das grundlegendste Keepalived Konfiguration ermöglicht eine gemeinsam genutzte IP-Adresse zwischen zwei Servern. In der obigen Topologie ist Server1 der Master und Server2 das Backup. Die Konfiguration für beide Server ist einfach.

Server 1-Konfiguration:

server1# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 255
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Server 2-Konfiguration:

server2# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {

        state BACKUP
        interface eth0
        virtual_router_id 51
        priority 254
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Die Konfigurationsdirektiven sollten aus ihren Namenskonventionen ersichtlich sein, aber ich werde sie alle durchgehen:

  • vrrp_instance definiert eine einzelne Instanz des VRRP Protokoll, das auf einer Schnittstelle ausgeführt wird. Ich habe diese Instanz willkürlich VI_1 genannt.
  • state definiert den Anfangszustand, in dem die Instanz starten soll.
  • interface definiert die Schnittstelle, die VRRP läuft weiter.
  • virtual_router_id ist die eindeutige Kennung, die Sie im ersten Artikel dieser Serie kennengelernt haben.
  • priority ist die beworbene Priorität, von der Sie im ersten Artikel dieser Serie erfahren haben. Wie Sie im nächsten Artikel erfahren werden, können Prioritäten zur Laufzeit angepasst werden.
  • advert_int gibt die Häufigkeit an, mit der Werbung gesendet wird (in diesem Fall 1 Sekunde).
  • authentication gibt die Informationen an, die für Server erforderlich sind, die an VRRP teilnehmen miteinander zu authentifizieren. In diesem Fall wird ein einfaches Passwort definiert.
  • virtual_ipaddress definiert die IP-Adressen (es können mehrere sein), die VRRP ist verantwortlich für.

Wenn Sie eine hostbasierte Firewall wie firewalld verwenden oder iptables , dann müssen Sie die erforderlichen Regeln hinzufügen, um Datenverkehr des IP-Protokolls 112 zuzulassen. Andernfalls Keepalived Die Werbemethode von funktioniert nicht. Das Konfigurieren einer hostbasierten Firewall ist in diesem Artikel nicht enthalten, aber lesen Sie unbedingt einige der anderen Artikel von Enable Sysadmin über iptables und firewalld, um weitere Informationen zu erhalten.

Mit der obigen Konfiguration können Sie Keepalived starten auf beiden Servern mit systemctl start keepalived und beobachten Sie die IP-Adressen auf jedem Computer. Beachten Sie, dass server1 als VRRP gestartet wurde master und besitzt die gemeinsame IP-Adresse (192.168.122.200), während die IP-Adressen von server2 unverändert bleiben:

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 192.168.122.200/24 fe80::5054:ff:fe82:d66e/64
server2# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 fe80::5054:ff:fe04:2c5d/64

Sobald Sie dies bestätigt haben, Keepalived auf beiden Servern gestartet wurde und server1 der aktive Master ist, können Sie die Failover-Funktionalität testen, indem Sie die VIP auf den anderen Server „umdrehen“. Indem Sie Keepalived stoppen Auf Server1 hört der aktive Master auf, Werbung zu versenden, und Server2 übernimmt die VIP:

server1# systemctl stop keepalived

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 fe80::5054:ff:fe82:d66e/64
server2# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 192.168.122.200/24 fe80::5054:ff:fe04:2c5d/64

Und das ist es! Sie haben jetzt ein einfaches Paar redundanter Server.

Überwachung des VRRP-Verkehrs

Wie im ersten Artikel der Serie besprochen, verstehen Sie das Verhalten von VRRP auf Protokollebene ist wichtig, damit Sie es richtig konfigurieren und Fehler beheben können. Wenn Sie die vorherigen Artikel von Enable Sysadmin über die Analyse des Netzwerkverkehrs gelesen haben, sind Sie wahrscheinlich mit der Verwendung von tcpdump vertraut . Befehlszeilenpaketerfassung mit tcpdump kann alles enthüllen, was Sie über Ihren VRRP wissen müssen Konfiguration, einschließlich VRID und Priorität des aktiven Masters:

server1# tcpdump proto 112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

16:51:01.353224 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:02.353673 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:03.353753 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

^C

3 packets captured
3 packets received by filter
0 packets dropped by kernel

Probieren Sie es selbst aus, indem Sie tcpdump ausführen während Sie den VIP zwischen den beiden Servern hin und her schalten.

Abschluss

Dieser Artikel führte Sie durch die Grundlagen von Keepalived Installation und Konfiguration. Sie haben gelernt, wie man Keepalived installiert über den Paketmanager und durch Kompilieren aus dem Quellcode, und Sie haben ein grundlegendes Keepalived erstellt Konfiguration zum Aktivieren von VIP-Failover zwischen zwei Hosts. Schließlich haben Sie diese Konfiguration getestet und tcpdump verwendet um VRRP einzuhalten Verkehr. Im nächsten Artikel dieser Serie werde ich Sie durch einige fortgeschrittene Keepalived führen Konfigurationen.

[ Möchten Sie mehr über die Linux-Systemadministration erfahren? Erwägen Sie die Teilnahme an einem Red Hat Systemadministrationskurs. ]


Linux
  1. Grundlegende PHP 7- und Nginx-Konfiguration unter Ubuntu 16.04 Linux

  2. Linux-Fehlerbehebung:Einrichten eines TCP-Listeners mit ncat

  3. Portumleitungen unter Linux mit ncat einrichten

  4. JQ-Befehl in Linux mit Beispielen

  5. Linux-Betriebssystemdienst „o2cb“

15 Linux-PS-Befehl mit Beispielen

14 grundlegende Tar-Befehle in Linux mit Beispielen für Neulinge

Lastenausgleich mit HAProxy, Nginx und Keepalived unter Linux

Einführung in Puppet-Konfigurationsdateien mit Beispielen unter Linux

Einrichten eines NFS-Servers mit Turnkey Linux

Zeitzoneneinstellung in Linux