Falk Dübbert macht Sachen

Artikel sind mit folgenden Tags versehentemplate

Auto-Cappuccino

11. Januar 2020

Falk Dübbert

,

Kommentare

Braucht man nicht: Storageausfall am Montag

8. Januar 2020

Am Montag erreichten mich diverse Bitmails meiner Seafile-User, dass der Server super langsam sei und statt der gewohnten 20 MB/s bis 40 MB/s nur noch im kb-Bereich liefern würde.

Der Seafile Server besteht aus drei Petasan – Nodes die eine ISCSI-logical unit an einen vierten Server übergeben, der darin ein crypto-Laufwerk unterhält.

Die logs zeigten, dass die Seafile-Instanz ein paar Commits nicht übertragen konnte. So etwa 11 Millionen…
Ich konnte live verfolgen wie MariaDB/MySQL und NGINX abstürzten.

Ein paar Minuten später konnte ich erkennen, dass in einem der Storage-Nodes eine Platte hops und das ganze Cluster nur noch als Flötenschlumpf zu gebrauchen war. Es wurde besser, als ich den Node komplett aus dem Rennen nahm. Jetzt konnte ich den Schaden betrachten.

MySQLD wollte nicht wieder hochkommen. Entsprechend sind auch alle von MySQL abhängigen Serverdienste im Limbus.
Nachdem ich die Logs von MySQLd gefunden und lesbar gemacht habe, war klar, dass der Dienst eine Crash-Recovery versuchte, diese aber an einer defekten tc.log scheiterte.
Ich beschloss erst, mysql lokal neu zu installieren und die Datenbank aus der Urne zu holen, aber dann wurde mir klar, dass das Backup ein paar Stunden her ist und das SAN-Cluster zwar wieder antwortete, aber Block-Device-IO aktuell nicht wirklich unter fix fiel. Also benannte ich die TC.log um und MySQL startete wieder.
Damit mir keine Inkosistenten Tabellen auf die Füße fallen, habe ich mit
meinuser@mcp:/var/lib/seafile/haiwen/seafile-server-latest# mysqlcheck -u root —password=Test123!BlaBla —auto-repair -ao —all-databases
die Datenbanken überprüft. Die logs laufen jetzt auf die lokalen Patten.

Heute Morgen wurde die defekte Platte getauscht und das Petasan hatte sich sehr schnell erholt. Der Seafile Garbage-Collector läuft nun seit 14 Stunden und ich hoffe, dass ich die Dienste im Laufe des Abends wieder anheizen kann.

Falk Dübbert

,

Kommentare

State of the Webserver

19. Dezember 2019

Ok. Machen wir es kurz: Die Umstellung von PHP5 auf PHP7 war nur halbfreiwillig. Ich werde hier in diesem Blog ein paar Themen zurücknehmen, die ich dafür an deren Stellen veröffentlichen werde.

Textpattern steht ein wenig auf der Abschussliste, weil die Offenheit gegenüber Mobilgeräten und die Art der Templateverwaltung für einen Programmierer / Webdesigner mit Codingskills sicher toll ist, ich aber zum einem nach meiner Arbeit mit tausenden Cmdlets nicht auch noch privat in einer komplett neuen Sprache, die aber eigentlich entweder absolute Nische oder schon tot ist, coden lernen möchte. Da waren die Smarty-basierten CMS und Blogtools wie Lifetype und Joomla noch sehr angenehm. Zum anderen glaube ich nicht mehr an die Zukunft des PHP/MysQL-Stacks.

Ein bisschen neigen alle dazu, den Mangel zum neuen Standard zu erklären:
Keiner hat mehr Geld um sich etwas zu kaufen -> Software und Server werden nun gemietet und Musik kommt aus der Streaming APP
Webgestalter können nicht mal mehr unfallfreies HTML -> Markdown ist der neue Standard!
Der Betriebssystemhersteller verkackt die Oberfläche -> Wir verwalten alles per Powershell.
Container legen die Einstiegsschwelle höher -> Flatfile CMS!

Aktuell macht Grav als Flatfile-CMS für den statischen Inhalt den besten Eindruck und Ghost sieht als neues Blogtool ganz gut aus.

Falk Dübbert

,

Kommentare

Am Ende doch erstmal "einfach" aktualisiert.

31. Oktober 2019

Dieser Webserver ist schlecht. Ich meine damit weder die Leistung noch den Inhalt sondern die Art wie er aufgebaut ist.
Es ist stur gerade aus Debian, NGINX, MySQL und PHP-FPM. Kein Docker, kein Ansible, kein Kubernetes. Wenn ich was ändern muss, gehe ich direkt per SSH auf die Konsole und sudoe mich nach root oder webadmin.

Bis vorletzte Woche stand der Webserver noch – ich traue mich kaum es zu gestehen – auf Debian 7. Die Sicherheitslücken habe ich in zum Teil durch BackPorting stopfen können, aber irgendwo musste ich irgendwann den Punkt überwinden, an dem ich die gewurschtelte Kiste grundsätzlich aktualisiere.

Zunächst habe ich meine 3rd-Party-Pakete mit Ausnahme von NGINX alle durch Debian-eigene Pakete ersetzt.

Anschließend habe ich alle quick-fixes entfernt und Baum-Diagramme der diversen conf.d-Dateien gemacht.

Dann habe ich die Upgrades mit je zwei Tagen Abstand immer morgens um 6 durchgezogen.

Der Vorgang war immer gleich:
  • Backup-Skripte laufen lassen
  • Backups auf Dev-Notebook ziehen und auf NAS spiegeln
  • Updaten: apt-get update && apt-get -V upgrade
  • sources.list auf nächstes Release vorspulen. sed -i ’s/altesrelease/neuesrelease/g’ /etc/apt/sources.list
  • Nochmal updaten apt-get update && apt-get -V upgrade
  • Das alte Pferd von seinen Qualen erlösen: apt-get dist-upgrade
  • Nochmal updaten apt-get update && apt-get -V upgrade
  • Nginx-Sources.list auch vorspulen
  • Nochmal updaten apt-get update && apt-get -V upgrade
  • Funktionstest
  • Backup-Skripte laufen lassen
  • Backups auf Dev-Notebook ziehen und auf NAS spiegeln
  • Reboot
  • Funktionstest

Probleme:

Von 7 auf 8: keine Von 8 auf 9:
  • Openssh, DoveCot und MariaDB waren nach dem Update „kaputt“ und warfen mit komischen Fehlern um sich, die sich als Kernel-Inkompatibilität entpuppten.
  • NGINX kommt nicht mehr von alleine hoch, was ich auf die Lennartware (KOTZ) im Hintergrund zurückführe.

Nachtrag
Ich musste DNS komplett neu einrichten. (Und ich war faul 8.8.8.8.)

Der Webserver soll in 10 Wochen ganz anders aufgesetzt (Containerisierung und Automatisierung) werden. Daher spare ich mir das Upgrade auf Buster vorerst.

Falk Dübbert

,

Kommentare

Minore Updates am Blog

12. Juni 2019

Ein Blogger schreibt mit einem Blogtool über das Bloggen mit einem Blogtool. Das ist so 2003, dass es wieder schön ist. Ich glaube ich installiere gleich XP auf einem Notebook und Debian Sarge auf dem Server. 

Im Zuge der Vorbereitung eines größeren Aufwaschs, ziehe ich gerade ein paar Vernachlässigungen gerade. Eigentlich wollte ich so schnell wie möglich in Richtung neues Template weiterziehen. Der Code, den mein aktuelles Template „Yoko“ von Elmastudio erzeugt, ist deutlich angejahrt. 

Textpattern, das darunterliegende CMS, kann mittlerweile aus jeder HTML Seite ein Template oder Theme machen; oder besser gesagt, man kann mit wenig Code-Kenntnissen aus fast allem ein Template oder Theme erzeugen. 

Yoko war schön. Als ich auf Textpattern umstellte, war es auch modern. Zum Herbst hin will ich aber meinen Blog-Stil neu erfinden und Yoko hat mit 4k und Medieneinbindung große Probleme. Da die Zeit der Textwüsten vorbei sein soll und ich die meisten Inhalte von anderen Seiten einbetten möchte, wird das zum Showstopper. 

Aktuell läuft ein Log-basierter Kuratierungs-Prozess: Alle Artikel, die im letzten Jahr keinen Zugriff erhielten, werden gelöscht. Die anderen, die nicht zu den neuen Themen passen, kommen ins „Archiv“ und der Rest bleibt, wo er ist.

Falk Dübbert

,

Kommentare

Diese Seite verwendet Cookies, Tracking-Technologien, Logs, APIs und Codeschnipsel von dritten. Hier erfahrt ihr alles zum Datenschutz

✖ Ok! Einverstanden.