Wie leite ich beim Trennen des A-Webservers automatisch alle Benutzer auf meinen B-Webserver in einer anderen Stadt um und umgekehrt?

15

Wie leite ich beim Trennen des A-Webservers automatisch alle Benutzer auf meinen B-Webserver in einer anderen Stadt um und umgekehrt?

Ein Switch für den Lastenausgleich macht das, was ich will, außer ich kann nicht herausfinden, wie er funktioniert, wenn sich nicht beide Webserver im selben Gebäude befinden.

Die Hochverfügbarkeits-Clustersysteme machen das, was ich will, außer ich kann nicht herausfinden, wie ich es zum Laufen bringen kann, wenn sich nicht beide Webserver im selben Gebäude befinden.

Die akzeptierte Antwort auf " Weiterleiten zu einer statischen Seite auf einem anderen Webserver, wenn der Hauptwebserver ausfällt " scheint Webserver in 2 verschiedenen Städten zu unterstützen. Aber wie hilft mir die Installation einer Software auf einer Box, nachdem die Box ausgesteckt wurde?

Wie funktionieren Round-Robin-DNS- und Content-Delivery-Netzwerke (CDNs)?

Ich nehme an, ein Ansatz beginnt in etwa wie folgt:

  1. Ich erhalte die IP-Adresse jedes einzelnen meiner physischen Webserver.
  2. Ich füge die IP-Adresse jedes einzelnen meiner physischen Webserver in den DNS-Eintrag für den einzelnen Domainnamen der Website ein (mehrere A-Einträge oder AAAA-Einträge oder beides).
  3. ... was muss ich dann tun?

Ich nehme an, ein anderer Ansatz fängt so etwas an

  1. Ich verwende einen dynamischen DNS-Anbieter für den einzelnen Domänennamen, den Benutzer voraussichtlich in den Webbrowser eingeben
  2. Ich habe auf jedem Webserver einen Cron-Job eingerichtet, der dem DNS-Anbieter regelmäßig seine eigene IP-Adresse (Aktualisierung des A-Eintrags oder AAAA-Eintrags) oder seinen eigenen Domänennamen (Aktualisierung des CNAME-Eintrags oder DNAME-Eintrags) mitteilt.
  3. ... was muss ich dann tun?

(Fürs Erste würde ich mich freuen, wenn meine Benutzer eine statische Webseite mit meinen Kontaktinformationen und einer Fußnote erhalten würden, die besagt, dass "der Hauptserver A heruntergefahren zu sein scheint", wenn Webserver A nicht angeschlossen ist. Das ist schon viel besser als der Derzeitiges System, das lediglich den Fehler "Server nicht gefunden" ausgibt. Idealerweise möchten Sie, dass A und B vollständig synchronisiert und anscheinend identisch sind - aber das ist etwas für eine andere Frage: Entspricht CDN, aber für dynamischen Inhalt? ).

David Cary
quelle
verwandt: "Einfaches" Failover auf einen geografisch getrennten Server? (möglicherweise ein Duplikat?)
David Cary

Antworten:

6

Klingt so, als ob Sie nach einer Lösung für den globalen Server-Lastausgleich (Global Server Load Balancing, GSLB) suchen. GSLB verwendet normalerweise "intelligentes" DNS, um Benutzer auf der Grundlage einer Reihe von Parametern (dh Server nicht verfügbar, hohe Auslastung, IP-Geolocation usw.) zu verschiedenen Servern zu leiten.

Angenommen, Sie haben zwei Webserver, einen aus dem Westen (10.10.10.1/24) und einen aus dem Osten (10.20.20.1/24). Angenommen, Ihr Webhostname lautet www.connect.com.

GSLB kann als DNS oder als CNAME konfiguriert werden. In beiden Fällen gibt ein Benutzer www.connect.com ein, die DNS-Abfrage wird an die GSLB-Lösung weitergeleitet und antwortet je nach Parametern mit 10.10.10.1 oder 10.20.20.1. Die GSLB legt normalerweise eine niedrige TTL fest, damit der Client-Host / Browser die Antwort für so wenig Zeit wie möglich zwischenspeichert. Es gibt verschiedene Möglichkeiten, um die Persistenz zu beheben, die jedoch den Rahmen dieses Szenarios sprengen.

Nehmen wir an, der Webserver von east (10.20.20.1) fällt aus. GSLB führt normalerweise Integritätsprüfungen durch, um die Integrität der Back-End-Knoten zu überprüfen. Die GSLB bemerkt, dass east nicht erreichbar ist und alle nachfolgenden DNS-Datensätze für www.connect.com auf 10.10.10.1 aufgelöst werden.

Wenn Sie eine lokale Server Load Balancing-Lösung (SLB) haben, können Sie diese so einrichten, dass www.connect.com ein VIP / VS (z. B. 192.168.1.1/24) mit zwei Backend-Knoten (10.10.10.1/24 und 10.10.10.1/24) ist 10.20.20.1/24). Technisch gesehen könnten sich die Knoten in verschiedenen Netzwerksegmenten befinden, solange der lokale SLB den anderen Server erreichen kann. Die SLB-Lösung ist möglicherweise intelligent genug, um Benutzer auf einen verfügbaren Server umzuleiten, wenn ein Back-End-Knoten ausfällt. Wenn Sie F5 LTM verwenden, können Sie problemlos eine iRule für ein solches Ereignis erstellen. Citrix NetScaler und andere SLB-Lösungen sollten über ähnliche Funktionen verfügen.

RR DNS funktioniert in diesem Fall nicht. In RR-DNS ist keine Intelligenz integriert. Der einzige Weg, den Anwendungsfall mit DNS zu erreichen, ist die Verwendung einer Art "intelligenter" DNS über eine GSLB-Lösung (oder eine ähnliche Lösung).

CDN implementiert normalerweise GSLB / SLB-Lösungen, um HA für ihre Kunden sicherzustellen.

Bangdang
quelle
David: Abgesehen von F5 und Cisco, die Geräte sind , können Sie es als Service haben , wie Tzoha, Edgedirector und Dnshat
Sandman4
Tatsächlich bieten sowohl F5 als auch Citrix / NetScaler virtuelle Appliances für GSLB an. A10, Radware, Zeus, Brocade, Alteon und andere bieten möglicherweise auch virtuelle Geräte an. Aber Sie haben absolut Recht, dass es GLSB SaaS-Dienstleister gibt. Wahrscheinlich einfacher im Taschenbuch, wenn die Infrastruktur mithilfe von Opex anstelle von Capex erstellt wird, aber SaaS-Modelle sind nicht ohne Risiken (z. B. SLA, Betrieb, Support). Ich habe noch nie von edgedirector oder dnshat gehört, aber beide haben einen wettbewerbsfähigen Preis!
Bangdang
1
Mir wurde gesagt, dass " globaler Server-Lastausgleich die Hochverfügbarkeit verringert " im Vergleich zu mehreren A-Datensätzen. Mir wurde gesagt, dass "10.10.10.1" oder "192.168.1.1" oder andere private Netzwerkadressen nicht über das öffentliche Internet funktionieren. Mir wurde gesagt, dass alle lokalen Serverausgleichssysteme entweder (a) erfordern, dass sich alle Webserver im selben Gebäude befinden; oder (b) eine einzige Fehlerquelle haben; Beides sollte ich in einem HA-System vermeiden. Gibt es eine Möglichkeit, diese Probleme zu vermeiden?
David Cary
2

Sie möchten einen Blick auf globale Load-Balancer wie F5 und Cisco werfen. Grundsätzlich machen sie einige Tricks mit DNS, wenn der Partner inaktiv ist und wenn der Partner aktiv ist, leiten sie die Daten über den Load Balancer an die andere Seite weiter.

mrdenny
quelle
0

Sagen Sie mir, ob Sie in Ihrer Umgebung einen Reverse-Proxy verwenden, wenn Sie ihn möglicherweise auf den Sicherungsserver umleiten können.

Wenn nicht, ist F5 eine gute Idee.

Auch wenn Sie die Domain bei einer Domain-Registrierungsstelle eines Drittanbieters registriert haben, können Sie die DNS-Serverkonfiguration so konfigurieren, dass sie auf einen neuen Server oder einen Sicherungsserver umleitet.

Sandeep Shrivastava
quelle
0

Sie können dies tun, ohne eine Netzwerk-Appliance mit mindestens den folgenden beiden Methoden zu verwenden, die jedoch eine Änderungskontrolle erfordern:

  • Reverse Proxy, Sie müssen den Server, den Sie entfernen möchten, von den Kandidaten des Proxys entfernen

  • DNS, Sie müssen im Voraus planen, DNS ändern und warten, bis die TTL übergeben wird

Sie können auch einen automatischen Lastenausgleich und ein Aktiv-Aktiv-Failover durchführen, insbesondere für einen Webserver, der statische Seiten mithilfe von Routing-Protokollen bereitstellt. Kasse EGP und IGRP. Es sollte Online-Hilfematerial geben (insbesondere in Bezug auf Cisco), das ausführlich beschreibt, wie dies mit zwei oder mehr Hosts über einen Router durchgeführt wird.

Nearora
quelle