Philipp Hasenfratz: Nameserver, Redundanz und Caching

Beitrag lesen

Halihallo Sven

Danke für den Hinweis. Eventuell mache ich nichteinmal eine
Weiterleitung an den Hauptserver, sondern rufe die Mails einfach von
jedem Mailserver ab (bzw. einfach dann, wenn mal ein Ausfall wäre).

Dann wären die MXe alle mit derselben Priorität anzugeben - hätte auch den Vorteil, dass sich dann der Traffic verteilen würde - aber ich glaube nicht, dass das bei dir SO arg ist, oder?

Nein, der Mailtraffic ist gering. Es geht wirklich nur um eine
Lösung, falls der Hauptserver einmal offline wäre.
Es geht mir primär um Verfügbarkeit, nicht um Performance.

Es ist von der Einfachheit her wirklich schöner, die sekundären Mailserver so zu konfigurieren, dass sie die Mails an den primären Server weiterleiten. Dann mußt du dort nämlich keinen POP3 oder IMAP Server installieren und brauchst auch nicht zwei oder drei Logins zu definieren.

Stimmt.

Du meinst, dass sich diese nicht
nach den SOA der eigenen Nameserver richten, sondern einfach
staatisch eine konstante Refreshzeit festlegen?

Nein, umgekehrt. Solche Server sollen sich ja gerade nach der SOA-TTL richten. Was du zuhause mit einem ansonsten für niemanden erreichbaren Nameserver machst, ist dir überlassen - aber üblicherweise würdest du dort auch nur ein klassisches DNS-Serverpaket installieren (also BIND, djbdns,...), und die verhalten sich eben auch zuhause "normal", beachten also die Cachingzeiten. Schließlich werden die nicht gewürfelt, sondern haben schon manchmal ihren Sinn. dyndns-Adressen beispielsweise sind absichtlich nur 10 Minuten gültig. Wäre blöd, wenn man die durch Eigeninitiative plötzlich vier Stunden gültig machen würde.

OK, danke.

Definiere "zum Zuge kommen"? Wie hast du das festgestellt?

Ganz einfach, die alten zwei Nameserver zeigten auf einen Webspace
mit Inhalt X, die neuen Nameserver zeigen auf einen anderen Webspace
mit Inhalt Y. Selbst nach eintragen der Reihenfolge NS_neu1; NS_neu2;
NS_alt1;NS_alt2 bei switch.ch wurde mir nach mehreren Tagen der
Inhalt X angezeigt (obwohl bereits längst die neuen zwei NS aktiv
geworden sein sollten). Erst nach entfernen der NS_alt1 und NS_alt2
bekam ich nach einiger Zeit den Inhalt Y zu sehen.

Das ist alles andere als ein Beweis. Die Reihenfolge der Nameserver ist irrelevant. Mit Pech haben die deinem Browser zugeordneten Nameserver zwar registriert, dass da zwei neue Nameserver befragbar wären, haben aber trotzdem weiterhin die alten Nameserver gefragt. Wie gesagt: Es gibt für fragende DNS-Server keine primären oder sekundären Nameserver, sondern einfach nur "angegebene Nameserver", die gefälligst zuständig sein sollen.

Welcher Nameserver gefragt wird, ist beim allerersten Zugriff zufällig. Mehrere nachfolgende Zugriffe könnten sich aber (es hängt vom fragenden Nameserver ab) an der Antwortzeit eines Nameservers orientieren. Beim Überschreiten einer gewissen Schranke wird dann einfach mal ein anderer Server gefragt. Auf diese Weise wird tendentiell immer der Server gefragt, der - abhängig von der Netztopologie - die schnellste Antwort liefert. Und das scheint bei dir eben immer der mit den alten Daten zu sein.

Das sind für mich sehr wertfolle Informationen. Vielen Dank.
Somit hat sich mein Problem insofern gelöst, dass ich durch Andreas
und Deine Antworten zur Schlussfolgerung gelangt bin, dass die DNS
Lösung (mindestens) unzureichend bis schlecht ist.

Dein Szenario ist natürlich spezieller: Zwei identische Webserver mit unterschiedlichen IPs sollen gegenseitig füreinander einspringen. Aber wie ich schon sagte: Das kannst du nicht per DNS regeln, mindestens dauert das viel zu lange, bis sich damit was verändert.

Das sehe ich ein. Andreas Lösung wäre hier dann anzuwenden. Reiners
Vorschlag einer softwaretechnischen Lösung wäre zwar sehr schön,
jedoch muss ich hier Andreas recht geben, dass auch der Server der
den LoadBalancer (z.B. PEN) betreibt ein "Single Point of Failure"
ist und genau dies will ich ja verhindern.

Du kannst die beiden IPs, die für den einen Namen gelten sollen, beide im Zonefile verewigen und dann auf alle Nameserver überspielen. Dann die benutzte IP zufällig ausgesucht und dadurch die Last ungefähr 1:1 verteilt. Ist aber auch nicht das, was Ausfallsicherheit bringt, denn wenn der eine Server weg ist, bleibt er das für alle Besucher, die dessen IP mitgeteilt bekamen. Oder es gibt so lustige Effekte wie "mal geht es, mal geht es nicht".

Richtig. Ich wäre nicht so vorgegangen, denn RoundRoubin ist eher
eine performancetechnische Massnahme und dient der Redundanz wirklich
nicht. Es sei denn, man würde ein Programm schreiben (Failover-
Monitor), welches einen abgestürzten Rechner identifiziert und dann
die dynamisch den entsprechenden A-Record entfernt. Aber wie du
richtig sagst, es wird in einem "Blinker-Betrieb" (für eine gewisse
Zeit) enden.

Viele Grüsse und Danke

Philipp