Serverabsturz, oder: Wie richte ich Web-, Mail-, und Spam-Server in 3 Tagen ein.
Heute wird es ausnahmsweise mal etwas mehr technischer Natur - alle, die einfach nur froh sind, dass alles wieder läuft, können vorspulen.
Dumm gelaufen!
Wie sagt Peter Lustig immer so schön: “Einfach mal abschalten!”
Das dachte sich auch einer unserer Kundenserver.
Ich vermute, dass einige unserer Kunden in den letzten Tagen genauso viel unter dem plötzlichen Serverausfall gelitten haben wie wir. Ich möchte versichern, dass dies keinesfalls geplant war und ausnahmsweise einfach eine große Portion Pech dafür verantwortlich war.
Technischer Hintergrund
Kurze Erklärung zum Hintergrund: Webhosting bieten wir ausschliesslich Bestandskunden an, die bei uns in der Agentur entweder EDV- oder Medien-Kunde sind. Bis auf wenige Ausnahmen bieten wir also Webhosting nicht als Einzelprodukt an. Bisher - das sollte aufgrund der positiven Erfahrungswerte und Feedback in Zukunft allerdings geändert werden. Wir betreiben derzeit insgesamt sechs Server, drei davon noch bei Strato, drei bereits bei Hetzner. Die Strato-Server sollten nun, da Sie bereits seit zwei Jahren laufen und das bekanntlich ein guter Richtwert für die Festplatten-Lebensdauer ist, und wir alle wissen, dass der Support bei Strato nicht gerade der zuverlässigste ist, wenn es um Business-Service geht, ebenfalls in naher Zukunft zu Hetzner umziehen. Praktisch sollte das in zwei Wochen passieren und wir haben einfach insgeheim gebetet, dass die größere Maschine bei Strato, die immerhin etwa 50 Kunden hostet, noch für diesen Zeitraum durchhält. Bei Hetzner wissen wir was die hardwaretechnische Seite angeht mit Sicherheit, dass wir uns auf Profis verlassen können. Ich erwähne hier nur die schnellen Antworten des technischen Supports, der teilweise unter fünf Minuten antwortet - und das immer höchst kompetent. Direkte Durchwahlnummern der Rechenzentren wie flexible Veränderungen an der Hardware passen einfach gut zu unserem Servicekonzept “Das können wir besser!”.
Der Ausfall war dafür allerdings in der Tat kein Paradebeispiel und hätte nicht passieren dürfen - zumindest haben wir das nicht in Erwägung gezogen.
Was ist also passiert?
Kurz und bündig: Während eines Updates der glibc6 unter Debian etch via APT hat die CPU überhitzt und die Kiste einfach ohne jegliche Vorwarnung neugestartet. Mitten im glibc6-Update dürften einige hier wissen, dass dies zu heillosem Chaos im System führt. Da alle unsere Server mit GRSecurity arbeiten und alles ohne executable flag nicht läuft erwartete uns nach dem Serverneustart die traurige Überraschung, dass sich kaum ein Dienst starten lies. Nach einigen Rettungsversuchen und trotz kompetenter Hilfe aus dem Netz war nach einigen Minuten klar: Das wird nichts.
Sicherungen aller Daten waren problemlos und ausreichend vorhanden, doch ein Servertausch sollte bei Strato frühestens Montag machbar sein. Da das Neuaufsetzen der Maschine aber einige Zeit in Anspruch nimmt und wir nicht riskieren konnten, das die Kunden des Servers Montag erst wieder online gehen, habe ich die Umzugspläne aus der Tasche gekramt und bis gestern Abend den größten neuen Hetzner-Server neu eingerichtet mit Debian und Linux-Vserver als Basissystem, LVM mit Snapshot-Funktion für sichere Backups. Alle neuen Maschinen sind mit Hardware-RAID ausgestattet und werden täglich per FTP und RSync zweimal gespiegelt. Ich bin ja lernfähig.
Dass die neuen Server alle auf virtuellen Servern mittels VServer realisiert werden war seit einiger Zeit sicher und die beste Lösung, die genügend Flexibilität garantiert, wenn es um Ausfallsicherheit geht. Die neuen virtualisierten Server können und werden mittels RSync täglich gespiegelt und bieten neben der Absicherung durch gute Hardware und RAID eine für unsere Verhältnisse gute Option, wenn mal doch etwas schief läuft (bspw. CPU-Defekt). Auch wenn wir bei Hetzner eine 4-Stunden-Garantie haben können wir mittels schnellen DNS-Updates übergangsweise auf einen Ausfallserver schalten.
So habe ich also in den letzten 4 Tagen den virtuellen Mailserver, Webserver und Anti-Spamgateway eingerichtet:
Kundenserver:
- Web-, Datenbank-, und POP3/IMAP-Mail-Server, der bald nochmal für die einzelne Dienst auf eigene Server aufgesplittet wird
- Alle Dienste von Hand kompiliert - ein endloses Gefrickel an einigen Stellen.
- PHP4 und 5 als cgi, cli und fcgi nach Kundenwünschen mit LIBXML2, Sablotron, Expat, ImageMagick und Konsorten
- MySQL5
- Confixx 3.3.1 mit Application Pack - denn von Hand anlegen ist nicht wirklich schneller!
- Postfix lauscht auf zwei Ports, liefert die Mails an Maia Mailguard auf dem Antispamgateway, welcher die (hoffentlich) sauberen Mails wieder zurückliefert
- RoundCube-Webmail als Ersatz für das bisher eingesetzte Horde IMP
Anti-Spamgateway:
- Maia Mailguard, eine Antispam-Lösung mit Webinterface basierend auf amavisd-new
- Postfix, MySQL 5, PHP4, Apache2 und diverse kleinere Tools komplett via APT aus den stable-Sources installiert
- Wird mittelns Postfix-Injection mit den Mails vom Kundenserver gefüttert
- SQL-Abfrage der lokalen Domains in amavisd-new direkt aus der externen Confixx-Datenbank
Hierbei haben mir vor allem die folgenden Internetseiten sehr geholfen, denn auf einer AMD64 (lib64) -Maschine war das Kompilieren nicht bei allen Paketen ein Kinderspiel - gerade PHP und OpenSSL scheinen sich hier nicht sonderlich zu mögen, so dass es auch vorerst nicht mit bei der PHP-Kompilierung berücksichtigt wurde. Dafür ist immer noch Zeit.
Mailserver und Spamgateway mal richtig
- Das definitiv beste How-To “out there”: Debian Anti-Spam Anti-Virus Gateway - auch mit einer guten Maia Mailguard-Anleitung
- Bypass amavisd-new scanning - Postfix integration
- freespamfilter.org Forum
- Postfix - Exchange Server Mailrelay
- [Postfixbuch-users] Amavisd-new auf vServer
Postfix allgemein und Probleme mit Postfix, saslauthd / sasl2 und SMTP-AUTH / SMTP-Authentifizierung
- SMTP AUTH doesn’t work
- Postfix mit smtp-auth, Imap, Confixx) howto+ Mbox 2 Maildir
- Postfix SMTP-Auth
- Basic Postfix configuration and preparation for SMTP AUTH
- Virtual Users And Domains With Postfix, Courier And MySQL (+ SMTP-AUTH, Quota, SpamAssassin, ClamAV)
- Getting SMTP AUTH to work with SASL2
- Postfix: smtpd –> SASL LOGIN authentication failed
- SMTP Authentication with Postfix using files or MySQL
Hilfe zu Server im allgemeinen und Confixx
Partitionen mit LVM, resize und wie macht man’s richtig
- RAID5 + LVM2 + recovery + resize HOWTO
- after lvreduce : Either the superblock or the partition table is likely to be corrupt!
- A Beginner’s Guide To LVM
-
VServer Hilfen und Tutorials
- Capabilities and Flags
- util-vserver:Capabilities and Flags
- Installing, configuring and running Vservers on Debian GNU/Linux (Etch)
- Linux Vservers Hilfen und Tutorials bei riseup labs
Stand: 31.07.2007
Ich werde versuchen, die Linksammlung möglichst aktuell zu halten und zu erweitern, wenn ich über weitere wirklich hilfreiche Seiten falle. Derzeit ist auch ein eigenes How-To in Arbeit.
About this entry
You’re currently reading “Serverabsturz, oder: Wie richte ich Web-, Mail-, und Spam-Server in 3 Tagen ein.,” an entry on coffee, the web and me.
- Published:
- 31.07.07 / 10pm
- Category:
- Agenturleben, Linux, Neulich im Serverraum..., Server
1 Comment
Jump to comment form | comments rss [?] | trackback uri [?]