Redundante Webserver (Mirror)

sd12

Legendäres Mitglied
Wie kann ich meine Homepage (PHP mit MySQL) redundat hosten (bei zwei verschiedenen Hostern)

Wer hat da eine Idee?
 
Bei beiden Hostern die Domain konfigurieren und über den Nameserver-Eintrag steuern, welcher Server am Zug ist.
 
Nun, du brächtest zwei Server mit uneingeschränkten Zugriff. Dann kannst Du MySQL replizieren lassen, welche Konfiguration Du verwendest hängt von Deinen Anforderung ab, hierbei wäre aber wohl ein Master - Master System interessant (ich würde aber trotzdem wohl eher ein Master - Slave System nehmen, auch enn man dies händisch umstellen müsste, wenn eines ausfällt). Dabei sind beide Master vom reinen MySQL-Server her genau gleich schnell wie ein einzelnes System (gemassen halt am langsameren Server), sprich Du kannst nicht (dauerhaft) die doppelte Menge an Zugriffen erfüllen, da beide Master sich zumindestens schreibend Abgleichen müssen. Dafür musst Du natürlich MySQL für das Netzwerk öffnen und nicht nur am Socket gebunden betreiben.

Dann müsstest Du dein DNS System so einrichten, dass Du nur auf Deinen Hauptserver die Dateien hochlädst (sprich ftp.domain.de verweißt nur auf eine IP-Adresse, während www.domain.de auf beide IP-Adressen verweist, mysql.domain.de muss entsprechend Deiner Anforderungen eingestellt werden).

Und dann musst du natürlich noch das Dateisystem in regelmäßigen Intervallen synchronisieren (z. B. mit Hilfe des Befehls rsync).


Bei dem Mail-System reich eigentlich ein Backup aus, könntest Du zur Not auch einrichten und im DNS als Backup-Server ausgeben. Solange Du es nicht benötigst, synchronisierst Du nur die Datenbestände auf den Backup-Server und konfigurierst den Server vorläufig als Teergrube (also als eine Falle für Spammer, damit Du diese an den zweiten Server bindest und somit weniger Last auf Deinen Hauptserver kommt). Wenn Du ihn brauchst, ersetzt Du die Konfiguration mit den Einstellungen des Hauptservers.



MfG Sascha Ahlers
 
QUOTE (Ansgar Berhorn @ Di 17.1.2006, 17:18) Bei beiden Hostern die Domain konfigurieren und über den Nameserver-Eintrag steuern, welcher Server am Zug ist.

Das funktioniert aber nur, wenn der DNS auf dem selben Server wie das Hosting ist...

@sascha
ich möchte das ganze mit "normalen" Hosting angeboten realisieren.
 
QUOTE (Benedikt @ Di 17.1.2006, 18:54)@sascha
ich möchte das ganze mit "normalen" Hosting angeboten realisieren.

Na ja, ich würde es halt so realisieren. Denn wenn Du nicht ans DNS kommst, biste halt aufgeschmissen.

Das könntest Du auch, nur müsstest Du wohl die beiden Webhoster dazu bringen einen entsprechenden DNS Eintrag zu machen. Denn wenn Hoster 1 dies nur macht und der ausfällt (,wie man es schön bei dynamic-net gesehen hat), bringt Dir das nicht unbedingt all zu viel, da ja auch die DNS-Server vermutlich weg sind.

Problem dabei sind nur, dass dann Deine Anwendung bei MySQL-Server synchron halten muss. Was natürlich sehr Fehler anfällig sein könnte, es sei denn Du arbeitest mit Transaktionen (das geht aber wieder nicht mit MyISAM Tabellen).
Und wenn Du nur einen MySQL-Server am Laufen hast, hast Du wieder das Problem, wenn dieser ausfällt, gehen alle Datenbankbasierten Anwendungen überhaupt nicht mehr.
Auch müsstest Du genau darauf achten, dass beide Datenbestände auf dem Speicher gleich sind.


Das DNS muss aber nicht unbedingt zwingend auf dem selben Server sein. Du kannst auch bei Firma A und B Deinen Webspeicher haben und bei Firma C die DNS-Einträge. Nur sind die DNS-Server von Firma C nicht mehr zu erreichen, haste ein Problem. ;-)



MfG Sascha Ahlers
 
QUOTE (Benedikt @ Di 17.1.2006, 18:54) Das funktioniert aber nur, wenn der DNS auf dem selben Server wie das Hosting ist...



Nein, das klappt auch, wenn der DNS woanders ist.

Problematisch wird es, zwei Provider dazu zu bringen, im Webserver eine Domain zu konfigurieren, die sie nicht im eigenen DNS verwalten.
 
Ich hab Zugriff auf das DNS, die Provider könnt ich schon dazu bringen, nur die Domain auf dem Server laufen zu lassen...

Ich stell mit das ganze in etwa so vor:
ns.hoster1.com
ns.hoster2.com

Wenn Hoster 1 down ist kommt automatisch der DNS von Hoster 2 zum Zug. Nun meine Probleme; gehe ich richtig in der Annahme, dass dann Hoster 1 seinen Webserver und DNS Server auf demselben Gerät haben muss?
Was passiert bei Providern die Ihre eigenen DNS unterhalten (z.B. bluewin) greifft dann diese angelegenheit erst nach einigen Tagen?
Was ist, wenn ein User auf der Seite von Hoster 1, der Server von Hoster 1 schmiert ab. Wird dann die Seite automatisch von Hoster 2 geladen?

oder ist das der völlig falsche Weg?

Wie machen das grosse Firmen?
 
QUOTE Ich stell mit das ganze in etwa so vor:
ns.hoster1.com
ns.hoster2.com

Wenn Hoster 1 down ist kommt automatisch der DNS von Hoster 2 zum Zug. Nun meine Probleme; gehe ich richtig in der Annahme, dass dann Hoster 1 seinen Webserver und DNS Server auf demselben Gerät haben muss?

Nein.
Die beiden Hoster oben sind nicht herachisiert zu verstehen. "ns.hoster1.com" und "ns.hoster2.com" wissen beide, wo der eine Domain zu finden ist.

Die konkrete Zuordnung nimmt letztendlich dann der Webserver vor. Der DNS weist nur den Weg. Wenn also jemand auf meinem Webserver nach ayom.com anfragen würde und ich hätte ayom.com konfiguriert, dann würde ich ihm "mein" ayom.com liefern. Da aber kaum jemand fragt, weil die DNS-Einträge woanders hinweisen, hab ich es auch nicht konfiguriert... ;-)


QUOTE Was ist, wenn ein User auf der Seite von Hoster 1, der Server von Hoster 1 schmiert ab. Wird dann die Seite automatisch von Hoster 2 geladen?

Wenn der DNS-Eintrag sofort auf Hoster2 zeigt und der User seine DNS-Infos aktualisiert, ja.


QUOTE
Wie machen das grosse Firmen?

Über Load-Balancer.
Der ist selber per Definition ausfallsicher und weiß, welcher Server gerade aktiv ist und antworten kann. Fällt einer aus, leitet er den Verkehr auf den Verfügbaren um.
 
QUOTE (Ansgar Berhorn @ Di 17.1.2006, 22:49) Über Load-Balancer.
Der ist selber per Definition ausfallsicher und weiß, welcher Server gerade aktiv ist und antworten kann. Fällt einer aus, leitet er den Verkehr auf den Verfügbaren um.

Hmmm...

Ich hab zuhause einen Router mit Load Balancing von Xincom im Einsatz...

Könnte mir das Ding weiterhelfen?
 
QUOTE (Benedikt @ Di 17.1.2006, 22:57)[...] Könnte mir das Ding weiterhelfen? [...]

Das hängt von der Qualität des Gerätes und dem Einsatzgebiet ab.

Um zwischen zwei Webserver im gleichen Netzwerk einfach weiterzuleiten, wird es wohl so gut wie jedes Gerät seinen Dienst erfüllen.



MfG Sascha Ahlers
 
QUOTE Ich hab zuhause einen Router mit Load Balancing von Xincom im Einsatz...

Könnte mir das Ding weiterhelfen?

Für zwei lokal betriebene Webserver vermutlich ja.

Ein Loadbalancer (zumindest die Version, die ich beschreib) dient als Interface zu den dahinterliegenden Servern. Die eingehenden Verbindungen werden nach der Entscheidung, wer gerade Zeit hat, transparent durchgereicht. Der anfragende Client sieht da weiterhin nur die IP des Balancers.
Das heisst, du musst zwischen Balancer und Server mindestens die gleiche Netzwerkgüte haben wie zwischen Client und Balancer, um das Kontrukt nicht zum Flaschenhals zu machen.
Im Falle einer DSL-Leitung müsste alles über eine Leitung mit sehr großen Latenzzeiten und limitierter Bandbreite.

Ingesamt ist eine simple Steuerung über die Nameserver-Einträge vermutlich eher das, was du brauchst.
 
QUOTE (Ansgar Berhorn @ Mi 18.1.2006, 8:44) Ingesamt ist eine simple Steuerung über die Nameserver-Einträge vermutlich eher das, was du brauchst.

Was für NS Records sollen das denn sein?
 
wäre evtl http://www.zoneedit.com/ für dich.

du trägst bei switch zoneedit als nameserver ein, und bei zoneedit kannst du die ip angeben wohin die domain zeigen soll.

die ersten (glaub) 5 domains sind gratis, nachher kostet es.

lass dich vom 80er jahre "design" der seite nicht abschrecken. ich habs 2 jahre in betrieb gehabt und es funktioniert!

gruss

urs
 
Aber kann ich bei diesen Diensten mehrere IP's mit den verschiedenen Host-Servern eingeben?
 
nein, geht bei everydns nicht. Dieses Konstrukt geht glaub ich auch gar nicht, habe zumindest noch nie was davon gelesen/gehört.
 
Zurück
Oben