Cluster/Failover/RR-DNS (und der ganze M*st)

somnium

Member
Hallo zusammen,
ich habe jetzt jede Menge zum Thema HA-Cluster gelesen. Eigentlich hatte ich vor, zwei Server bei Hetzner oder OVH zu betreiben. Da das Failover-IP-Thema total unbefriedigend ist (fehleranfällige API-Scripte, keine echte Automatisierung etc), spiele ich mit dem Gedanken einer RoundRobin-Lösung. Der kritischste Dienst ist in meinem Fall Email. Webseiten etc sind relativ statisch oder bedienen sich aus einer replizierten Datenbank. Bei den Emails habe ich jedoch Bauchschmerzen: Ich würde die Server im Mirror-Mode laufen lassen (alle Dienste), die MX-Records mit 10 und 20 priorisieren und Websites per RR-DNS promoten. Dank Dovecot muss ich mir um die Replizierung der Emails keine Gedanken machen. Etwas mulmig ist mir aber schon, zumal ich das Verhalten im Fehlerfall nicht ganz abschätzen kann. Auch das Verhalten der Email-Clients ist noch eine offene Frage. Wenn ich die imap/smtp-Adressen auch per RR-DNS verteile, versuchen dann alle Email-Clients nach einem Timeout die zweite IP zu erreichen, ähnlich wie es heute jeder Browser für Websites macht?

Ich würde mal gern Eure Setups und/oder Gedanken zu dem Thema hören/lesen. Wie gesagt, Prio hat bei mir definitiv die Verfügbarkeit von Email.


Bin gespannt...

Marc
 

florian030

Well-Known Member
Wenn Du IMAP per RR machst, dann landet der Client mal auf dem einen und mal auf dem anderen Server. Das funktioniert, kann aber blöd werden, wenn ein User meinetwegen 5 Geräte nutzt und dadurch zum Teil auf Server 1 und zum Teil auf Server 2. Dovecot ist das aber völlig egal und man merkt das auch nicht.
Wichtig sind nur die PTR für die beiden Mailserver und der SPF-Record muss ggf. passen.

Wenn Server1 ausfällt, dann musst Du das nur "irgendwie" im DNS berücksichtigen (z.B. einfach die EInträge kommentieren und bind neu starten). Das setzt natürlich eine möglichst niedrige TTL voraus.
Ist Server1 wieder da, tauscht er mit Server2 einfach nur die Mails aus. Wie lange das dauer, kommt dann auch darauf an, wie lange der Server weg war zd wie schnell die Verbindung zwischen den Servern ist.

Ich fahre seit Jahren aktive/aktive und habe damit keine Probleme. Manche Domains zeigen für imap auf einen, manche auf beide Server. MX-Records zeigen immer auf beide Server. Ob man das dann per DNS-RR oder einen Loadbalancer macht, muss jeder selber wissen. Beides funktioniert.
 

somnium

Member
Ich fahre seit Jahren aktive/aktive und habe damit keine Probleme. Manche Domains zeigen für imap auf einen, manche auf beide Server. MX-Records zeigen immer auf beide Server. Ob man das dann per DNS-RR oder einen Loadbalancer macht, muss jeder selber wissen. Beides funktioniert.
Hallo Florian,
vielen Dank für deinen Input. Ich würde die Server im aktiv/aktiv-Modus betreiben. Bei IMAP bin ich mir nicht ganz sicher, ggf. würde ich dafür eine Krücke bauen: DNS auf Server1 verteilt nur die IP von Server1, DNS auf Server2 und die von Server2. Fällt Server1 aus wird nur noch die IP von Server2 verteilt - quasi automatisch. So ein Setup hatten wir mal in einem kleinen RZ, bevor die Internetleitungen zu einem Autonomen System zusammen geführt wurden. Die TTLs würde ich auf 60 Sekunden setzen, habe ich seit Jahren bei kritischen Diensten so. Und natürlich gebe ich beide Server als MXer bekannt, ggf. aber Server1 höher priorisiert, oder?

VG
Marc
 

florian030

Well-Known Member
Dann wären Deine DNS aber nicht konsistent. Es passiert ausgesprochen selten, dass sich ein Mailserver unabsichtlich verabschiedet. Du kannst IMAP/POP3 immer auf beiden Server über den DNS zuweisen. Bei einer geplanten Downtime nimmst Du vorher einen Server aus dem DNS. Irgendwo ist immer eine Fehlerquelle, wenn Du mehrere Server hast. Auch ein LoadBalancer oder Proxy könnte mal ausfallen...
Die Priorität ist völlig egal, da beide Mailserver eh die gleichen Daten haben und keiner davon ein Backup-MX ist.
 

Werbung

Top