Nachdem der Artikel über einen Wechsel des CMS so gut ankam, dachten wir uns, dass es für den ein oder anderen interessant sein könnte, was genau wegen Debian 12 bei uns im Busch ist. Danke auch an Christian, er hat eine neue Artikelserie geboren 😊
Paketauswahl
Der Freeze ist nun weit fortgeschritten und alle Pakete tragen ihre finalen Versionsnummern. Warum das wichtig ist, möchte ich am Beispiel NGINX erklären:
NGINX wird in Version 1.22.1 ausgeliefert, das bringt natürlich neue Features. Die aktuelle Konfiguration wird 1:1 getestet ob sie auch weiterhin funktioniert. Sobald dieser Test abgeschlossen war ging es an die Changelogs: Was ist neu? Was hat sich verändert? Was ist deprecated wird aber noch genutzt? Fragen über Fragen auf die es eine Antwort zu finden gilt.
Es gibt wohl Neues bei den SSL Session Tickets und den AiO Threads. Diese neuen Funktionen möchten natürlich ausgiebig getestet werden, bevor sie Live gehen. Testing und Fixing bis es, wie gewünscht, funktioniert. Es ergibt natürlich nicht immer Sinn, jedes neue Feature zu implementieren, hier wird jedes Mal der Nutzen abgewogen.
So wird bei jedem der größeren Pakete vorgegangen, die kleine Abhängigkeiten eines Paketes werden nicht geprüft. Aktuell wären das NGINX, PHP, MariaDB, PostgreSQL, Podman und fail2ban.
Ebenfalls zur Paketauswahl gehört das Abschneiden von alten Zöpfen. Bei uns ist das aktuell apt gegen nala zu tauschen. Ein weiteres Beispiel wäre iptables
über Bord zu werfen und durch nftables
zu ersetzen, diesen Schritt haben wir allerdings schon mit Debian 11 hinter uns gebracht.
Installation
Wer diesen Artikel bereits gelesen hat wird gemerkt haben, dass eine Standardinstallation bei mir nicht in Frage kommt. Hier liegt auch, gerade in diesem Moment, der Fokus. Es wird eine Neuinstallation und kein full-upgrade
mit verschlüsselter /boot
Partition. Das Thema ist nicht sehr gut dokumenitert und viel mit trial and error verbunden. Solche Dinge ziehen einem wirklich das Nervenwasser. Aber gut, da muss man eben durch wenn man den Standard nicht möchte. Ohne das neue partitions/LVM Layout wäre es ein normales Upgrade geworden.
Konfigurationen der Programme
Ich habe schon Admins erlebt, die einen Server neu installieren und von einem anderen das /etc
rüber-rsync-en. Schrecklich, alleine der Gedanke das hier alte Konfiguration mitkommt lässt es mir eiskalt den Rücken runterlaufen, für so etwas bin ich zu pedantisch.
Ich gehöre zu den Neuschreibern. Das hat primär den Grund, dass man so gezwungen ist sich mit der neuen Version zu beschäftigen und neue Schalter kennenzulernen. Natürlich wird bei der “alten” auch mal gespickt.
Ein zweiter Grund wäre NGINX. Dieser Server nutzt eine kopierte Config in /etc/nginx
. Aus irgendeinem Grund benötigt ein systemctl restart nginx.service
mehrere Sekunden. Auf einem baugleichen Server – auch mit Debian 11- ist das nicht so, hier ist die Config neu geschrieben, aber die gleiche wie hier. Ich habe bisher keine schlüssige Erklärung dafür gefunden warum das so ist. Kein wirkliches Problem, trotzdem treiben mich solche Kleinigkeiten in den Wahnsinn!
Durchführung der Migration(en)
Der Tag ist gekommen, führt die Order 66 aus. Debian 12 ist da und der Server wird in seiner finalen Form installiert und konfiguriert. Es werden die NGINX Seitenkonfigurationen bereitgelegt, Datenbanken angelegt und Daten kopiert. Anschließend können die neuen Zertifikate generiert werden. Wer sich jetzt fragt “Da fehlt doch DNS!”, den kann ich beruhigen. LinuxNews nutzt eine Floating IP, die kann beliebigen Servern zugwiesen werden, so erspare ich uns allen Downtime und mir den Ärger mit der DNS Propagation.
Geheimes Doppelleben
Ein Test wäre nichts ohne einen Test unter echter Last. Ohne dass jemand etwas gemerkt hat, lief dieser Blog ganze drei Tage auf Debian 12. Nicht einmal Ferdinand wusste davon. Hier wurden in den Logs verschiedenste Fehler gesammelt, ausgewertet und behoben, sofern es möglich war.
Dieser Test war noch ein zweiter Test: Der Server war auf ARM Basis, was erstaunlich gut funktioniert hat.
Sonderlocken
Diese Seite hat doch etwas Frequenz, hier ist ein Kopieren nicht so einfach. Ihr könntet ja genau in diesem Moment einen Kommentar schreiben oder eine Passwort-Zurücksetzen Mail anfordern. Vor dem Umzug wird die Mail- als auch die Kommentarfunktionalität für einen kurzen Moment abgeschaltet. Sicherlich gäbe es dafür auch elegantere Lösungen, wir sind aber nicht die Deutsche Bank – eine kleine Auszeit lässt nichts zusammenbrechen. Fünf Minuten nicht kommentieren, wird hoffentlich niemanden umbringen 😉
Server-TÜV
Nachdem das alles abgeschlossen und live ist, könnt ihr die Seite wieder aufrufen. Ihr Leser sendet dem Server unzählige Anfragen, hier zeigt sich dann ob wirklich alles passt. Meist wurde doch eine Kleinigkeit übersehen, das letzte mal war es das memory_limit von php. Das würde im Livebetrieb angepasst werden. Ist der Umzugsstress erst vorbei, dann geht an andere Projekte, wie z.B. diesem hier: