Wenn Sie den Begriff „Hochverfügbarkeit“ hören, denken Sie vielleicht an große, komplexe Umgebungen mit geheimnisvollen Technologien, die für den durchschnittlichen Systemadministrator unerreichbar sind. Aber grundlegende Hochverfügbarkeit muss nicht kompliziert sein:In dieser Serie erfahren Sie, wie Sie grundlegende, hochverfügbare Dienste mit Keepalived
implementieren . Ich werde Sie durch einfache Failover-Situationen sowie eine komplexere Konfiguration führen, die verwendet wird, um auf externe Ereignisse zu reagieren und Failover auszulösen. Zuerst beginnen wir mit den Grundlagen von Keepalived
und das Virtual Router Redundancy Protocol
(VRRP).
Dieser Artikel ist der erste einer Reihe von drei Artikeln, die alles von der grundlegenden Einrichtung bis hin zu fortgeschrittenen Linux-HA-Konzepten abdecken.
Keepalived und VRRP-Grundlagen
Netzwerksymbole in den Diagrammen verfügbar über VRT Network Equipment Extension, CC BY-SA 3.0.
Wenn Sie einige der Artikel zum Aktivieren von Sysadmin-Netzwerken gelesen haben, wissen Sie, dass alle Systemadministratoren von einem soliden Verständnis der Netzwerkgrundlagen profitieren können. Kenntnis von Keepalived
ist nicht anders. Das Protokoll, das dem HA-Failover zugrunde liegt, ist das Virtual Router Redundancy Protocol
(VRRP) und Keepalived
bietet sowohl eine Version 2 als auch eine Version 3 Implementierung dieses Protokolls.
Es mag seltsam klingen, dass wir ein Protokoll verwenden, das für Router auf unseren Servern entwickelt wurde. Es stellt sich heraus, dass die gleiche Netzwerktechnologie, die zum Bereitstellen von Redundanz für Netzwerkgeräte verwendet wird, auch für Redundanz in Serverumgebungen sorgen kann. Router werden häufig paarweise bereitgestellt, wobei ein Router aktiv und ein anderer im Standby-Modus ist und einsatzbereit ist, falls der aktive Router ausfällt. Dieselben Konzepte können auf Server angewendet werden.
VRRP
verwendet das Konzept einer virtuellen IP-Adresse (VIP). Ein oder mehrere Hosts (Router, Server usw.) nehmen an einer Wahl teil, um den Host zu bestimmen, der diese VIP steuert. Nur ein Host (der Master) steuert das VIP gleichzeitig. Wenn der Master ausfällt, VRRP
bietet Mechanismen zum Erkennen dieses Fehlers und zum schnellen Failover auf einen Standby-Host. In der obigen Topologie ist server1 der Master und für die IP-Adresse 192.168.122.200 verantwortlich. Fällt Server1 aus, übernimmt Server2 diese IP.
Beachten Sie auch, dass Keepalived
bietet mehr als nur ein VRRP
Implementierung. Keepalived
hat auch die Möglichkeit, virtuelle Linux-IP-Server für den Lastausgleich zu konfigurieren. Das Konfigurieren von IPVS würde den Rahmen dieser Serie sprengen, aber es ist gut zu wissen, dass Sie Keepalived
verwenden können um einen redundanten All-in-One-Load-Balancer für Ihre Umgebung zu konfigurieren.
VRRP-Protokollbetrieb
VRRP
Das Verhalten von wird durch RFC 3768 (Version 2) und RFC 5798 (Version 3) spezifiziert. Ich werde Version 2 in dieser Artikelserie verwenden. Obwohl die Überprüfung des RFC der beste Weg ist, um das Verhalten des Protokolls vollständig zu verstehen, müssen Sie kein Experte sein, um mit der Verwendung von Keepalived
zu beginnen 's-Implementierung in Ihrer Umgebung. Allerdings Grundkenntnisse von VRRP
Das Verhalten von wird Sie besser in die Lage versetzen, es in Ihrer Umgebung zu betreiben und Fehler zu beheben.
Der erste Schritt in VRRP
Die Operation von ist die Wahl eines Masters, um zu bestimmen, welcher Server (oder Router in der Protokollspezifikation) die gemeinsam genutzte IP-Adresse halten wird. VRRP
Server werden mit einem Prioritätswert konfiguriert, den man sich wie eine Gewichtung vorstellen kann. Der Server mit der höchsten Priorität wird der Besitzer eines VRRP
sein die Anschrift. Die Spezifikation gibt an, dass die Priorität des Masters 255
sein sollte , wobei alle Sicherungsserver einen Wert kleiner als 255
haben . In der Praxis eine Priorität von 255
ist nicht unbedingt erforderlich, da das Protokoll den Server mit der höchsten Priorität auswählt, auch wenn es nicht 255.
ist
Sobald ein Master eingerichtet ist, warten alle anderen Server auf periodische Nachrichten, die vom Master gesendet werden, um anzuzeigen, dass er noch am Leben ist. Der Master versendet diese Advertisements in regelmäßigen Abständen. Solange der Master am Leben ist, bedient er den Verkehr für den VIP und sendet Werbung. Wenn der Master aus irgendeinem Grund offline geht, übernimmt der Backup-Server mit der höchsten Priorität. In ähnlicher Weise kann eine Funktion namens Preemption jedem Server mit höherer Priorität ermöglichen, automatisch Master zu werden, wenn er online geht.
Wenn ein Master zum ersten Mal online geht und eine IP-Adresse übernimmt, sendet er ein Gratuitous ARP. Diese Nachricht informiert andere Server im Netzwerk über die mit dem VIP verknüpfte MAC-Adresse, sodass sie ihren Datenverkehr korrekt auf Schicht 2 adressieren können. Außerdem beschleunigt sie das VIP-Failover:Hosts müssen nicht warten, bis ihre ARP-Timer abgelaufen sind, und können dies tun aktualisieren Sie einfach ihre ARP-Tabellen mit der korrekten MAC-Adresse für den Host, dem die VIP gehört.
Paketformat
Sich mit den theoretischen Aspekten des Betriebs eines Protokolls zu befassen, kann ein bisschen langweilig sein, aber es ist entscheidend, um zu verstehen, wie eine Technologie funktioniert (und um sie zu beheben, wenn sie kaputt geht). Schaut man sich die Paketstruktur eines VRRP
an Werbung mit Wireshark werden einige Dinge klarer.
Zunächst werden Sie feststellen, dass sowohl die Ethernet- als auch die IP-Zieladressen multicast
sind Adressen. Multicast-Datenverkehr wird, wie der Name schon sagt, an mehrere Hosts in einem Netzwerk gesendet, die auf diese Multicast-Adresse „lauschen“. Die meisten Netzwerke vermeiden eine komplexe Multicast-Konfiguration, also den Multicast-Verkehr für VRRP
wird zu Broadcast-Traffic im lokalen Netzwerksegment und geht an alle Hosts.
Sie können auch diesen VRRP
sehen ist weder TCP noch UDP. VRRP
verwendet für seinen Betrieb die IP-Protokollnummer 112. Die Kenntnis dieser Protokollnummer kann wichtig sein, da Sie möglicherweise Ihre Host-Firewall so konfigurieren müssen, dass dieser Datenverkehr von VRRP
zugelassen wird Server in Ihrer Umgebung.
Sobald Sie anfangen, sich den VRRP
anzusehen Abschnitt des Pakets, werden Sie feststellen, dass es alle Informationen enthält, die benötigt werden, um einen Master zu wählen und andere Server über den aktuellen Master zu informieren:
- Virtual Router ID (VRID) ist eine eindeutige Kennung für ein
VRRP
Instanz und ihre IP-Adressen (es kann mehr als eine geben) in einem Netzwerk. Sie sollten vermeiden, VRIDs im selben LAN wiederzuverwenden, aber sie können sicher in verschiedenen Layer-2-Netzwerken wiederverwendet werden. - Priorität ist die Priorität für den Host, der die Ankündigung sendet. Sobald ein Master gewählt ist, ist dies die definierte Priorität des Masters. Zur strikten Einhaltung der Spezifikation sollte
255
verwendet werden für die Priorität des Masters, aber viele Konfigurationen wählen einen anderen Wert. - Auth Type und Authentication String enthalten ein einfaches Textpasswort, um Mitglieder des
VRRP
zu authentifizieren Gruppe miteinander. - Advertisement Interval gibt an, wie oft Werbung vom Master versendet wird. In diesem Fall sendet der Master jede Sekunde eine Anzeige.
- IP-Adresse enthält eine oder mehrere IP-Adressen, für die der Master verantwortlich ist. Während diese Serie nur das Failover einer einzelnen IP-Adresse abdeckt, ist es möglich,
VRRP
zu haben mehrere IPs verwalten.
Schlussfolgerung
Dieser Artikel führte Sie durch das grundlegende Protokoll, das Keepalived
zugrunde liegt , eine Softwareimplementierung von VRRP
auf Linux. Während die Überprüfung der Protokollspezifikationen langweilig erscheinen mag, ist es wichtig, die in Ihrer Umgebung arbeitenden Netzwerkprotokolle zu verstehen, damit Sie sie effektiv konfigurieren und Fehler beheben können. Im nächsten Artikel erfahren Sie, wie Sie Keepalived
installieren und konfigurieren .
[ Möchten Sie mehr über die Linux-Systemadministration erfahren? Erwägen Sie die Teilnahme an einem Red Hat Systemadministrationskurs. ]