ich hab schon einiges hier im Forum herumgesucht, aber noch nicht so recht das gefunden was ich suche, daher bin ich für jegliche Tips/Forum-Links, Artikel/Howtos etc. dankbar.
Ich möchte folgendes erreichen: Ein primärer Rootserver A bei Provide A, ein Backup Rootserver B bei Provider B.
Rootserver B soll nun ein möglichst aktuelles Live-Backup von Rootserver A bereithalten, damit im Falle einer längeren Downtime oder eines Ausfalls von Server A ein Failover aller Dienste auf Server B durchgeführt werden kann (z.B. via DNS). Helfen mir hier eventuell Tricks wie Hidden Master oder Stealth Secondary?
Die Replikation muss für folgende Dienste erfolgen:
DNS, POP3/IMAP, SMTP, HTTP, FTP, MySQL.
Nun habe ich mir dazu schon einige Gedanken gemacht:
- - DNS -> noch keine klare Lösung, vl. zweiter Primary DNS in dem bei Replikation alle A-Records von Server A in der IP auf Server B umgeschrieben werden.
- POP3/IMAP bei Courier IMAP sollte dank Maildir die Synchronisation via RSYNC klappen
- SMTP: möglich über mehrere MX-Records, aber sinnvoll? Eventuell eher MX-Records bei Replikation umschreiben (es sollen ja vor dem Failover keine mails auf dem Backup-Server landen)
- FTP (rsync)
- MySQL Master/Slave Replikation mit Reconfiguration bei Failover
Mein Hauptproblem ist wie ich beim Failover das Update der DNS-Einträge vornehme, den dabei muss sich ja schlagartig der A-Record aller gehosteten Domains von Server A auf Server B ändern, in diesem moment muss dann ja quasi der Server B vom DNS-Slave zum DNS-Primary mutieren und er muss gleichzeitg berechtigt sein die Schlund Secondaries über das Update zu benachrichtigen.
Ich könnte z.B. den DNS auf Server B als Primary laufen lassen, die Zonen-Daten via RSYNC synchronisieren und via sed umschreiben. Dann ns.mydomain.com als CNAME auf ns1.mydomain.com zeigen lassen und beim failover auf ns2.mydomain.com zeigen lassen. Die Domain mydomain.com würde ich dann Primär im Schlund NS speichern, damit ich diese Server-Unabhängig updaten kann und um die Updates etwas zu beschleunigen.
In allen Kunden-Domains könnte ich dann als NS ns.mydomain.com angeben und diese Anfragen würden automatisch auf dem jeweils aktiven NS landen.
Da sich mit diesem Thema sicher schon Ã?onen Admins vor mir beschäftigt habe, bin ich mal auf den Feedback gespannt, bevor ich mir hier zu sehr das Gehirn zermartere.
Edit:
Mir fällt grad nochwas ein, bietet sich eventuell der einsatz von CODA statt RSYNC an? Zu bedenken gilt, das Server A massig Traffic-Contingent hat, Server B jedoch deutlich weniger Contingent besitzt (welches dann ja üblicherweise nur für Replikation verwendet würde, oder im Failover-Fall um die Zeit bis zum Failback (B->A) zu überbrücken).