Server Update mit Ausfallzeit

Beim letzten großen Update habe ich ja versucht, die Ausfallzeit so gering wie möglich zu halten. Bei diesem Update dachte ich mir – Hey, das 1. Mai Wochenende ist doch perfekt – Datensicherung, Neuinstallation, Grundkonfig (SSH, Mail, Webserver) und dann noch der Feinschliff.

Die Vorbereitung

Soweit so gut. Das Backup ging recht flott – bei Strato gibt es auf den V-Servern einen Ordner, der bei der Neuinstallation nicht gelöscht wird. Also alles per rsync da rein. Dazu habe ich mir ein kleinen Script gemacht, der das alles schon täglich einmal durchläuft, damit beim Bigbang dann alles etwas schneller geht. Das Script erzeugt eine Liste der installierten Pakete, macht ein Dump der sql-Datenbanken inklusive dessen Strukturen und Userrechten (wie auch im anderen Beitrag schon beschrieben), und sichert mit rsync wichtige Ordner (etc, home, root, usr, var) in den nicht zu löschenden Ordner. Dabei muss man natürlich darauf achten, dass die Platte groß genug ist.

Am Stichtag also alle Dienste gestoppt und nochmal ein Sync durchgeführt, um dann auch einen Stand zu haben, der sich nicht mehr ändert. Ich wollte dann auch noch ein Snapshot über das Strato-Backup ziehen, aber das hat mir nach 2h dann doch zu lange gedauert. Also habe ich mich auf mein rsync-Backup verlassen.

Die Neuinstallation

Auf der Seite im Admin-Bereich des Servers bei Strato stand: „Der Start der Installation kann bis zu 2h dauern“. Ok, also habe ich mich schon einmal auf eine kleine Wartezeit eingerichtet. Doch nach dem Drücken auf den Knopf zur Installation war der Server fast sofort offline. Da war die Freude zuerst groß, geht also doch schneller. Und dann kam und kam der Server nicht wieder. Ich konnte mich noch daran erinnern, dass die Erstinstallation damals so ca, 30 Minuten dauerte. Aber nach 3h wurde ich langsam etwas ungeduldig. Ein Anruf beim Support hat mir aber auch keine neuen Erkenntnisse gebracht. Da hieß es: „Ja, das kann auch schon mal 5h dauern.“. Was soll ich sagen – nach 9h war er dann wieder erreichbar und ich konnte meine eigentliche Arbeit beginnen. So war ich mit der groben „Härtung“ des Systems und der Wiederherstellung von Mail und Mailingliste bis 5h Morgens beschäftigt. Aber das wollte ich über die Bühne bekommen – erst mal SSH kein root-Login und Anmeldung nur via SSH-Key. Dann den Mail-Server, damit keine Mails durch zu langes Ablehnen auf der Strecke bleiben. Den Einrichtung der Webseiten habe ich dann etwas auf nach einer Mütze Schlaf geschoben. :-)

Und dann ging der Ärger los. einige meiner alten PHP-Scripte waren doch tatsächlich nicht mit PHP7 glücklich. ;-) So habe ich festgestellt, dass ereg nicht mehr funktioniert und für mysql auch eine neue API vorhanden ist. Zum Glück ließen sich diese Dinge recht einfach beheben. Aber geschockt war ich am Anfang schon, dass augenscheinlich alles kaputt war. ;-)

Lustiger Weise hat sich in die sql-Tabellen von Yourls über die Jahre wohl eine kleine Encoding Problematik eingeschlichen. Diese konnte ich nach langer Suche und mit Hilfe des hier gefundenen lösen. Für meinen Fall war die Lösung:

update yourls_url set title = CONVERT(CAST(CONVERT(title USING latin1) AS BINARY) USING utf8);

Leider musste ich meine 3 Zeilen, die ich schon manuell versucht hatte zu heilen, per Hand erneut heilen. :-)

Fazit

Ich weiß nicht so genau was ich jetzt besser fand. Der schleichenden Umzug oder den Bigbang. Beides hatte seine Vor-/Nachteile. Ich denke, wenn die Neuinstallation nicht so lange gelaufen wäre, und/oder ich mir noch einen Mail-Backup-Server eingerichtet hätte für die Zeit der Neuinstallation und Konfiguration, ist der dieser Weg gar nicht mal so schlecht. Man muss ich nur gut darauf vorbereiten, Backup und einen Plan anlegen was man in welcher Reihenfolge machen will, dann geht es eigentlich ganz gut. Laut Strato war die lange Installationszeit wohl auch der Menge der Daten in dem „Backup-Ordner“ geschuldet. Wobei ich jetzt auch nicht finde, dass das Kopieren/Sichern von knapp 50GB in der heutigen Zeit 9h dauern müsste.

Für das nächste große Update werde ich mir wohl aber mal eine kleinen Mail-Backup-Server einrichten, der dann einfach nur die Mail annimmt und wieder an den Hauptserver weiterleitet, wenn ich mit der Einrichtung durch bin. Ich denke, dass würde die ganze Geschichte etwas entzerren. Leider habe ich auf die Schnelle, als mir diese Idee kam, nicht mehr so schnell eine Lösung gefunden, der ich vertraue. Dazu muss man erst mal ein wenig mit „rumspielen“ um zu sehen wie das läuft. Aber ich denke, so ein Backup-MX wäre sicher generell keine schlechte Sache.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.