Gerade habe ich Urlaub - und Urlaub bei mir heißt auch immer Maintenance im Heimlabor. Das wiederum heißt Updates und Upgrades für die verschiedenen Server, Dienste und Virtualisierungsplattformen. Und natürlich geht auch immer etwas schief - auch dieses Mal...
Ich habe hier zwei physische Maschinen rumstehen, auf die oben angegebene Beschreibung passt: Beides sind Intel Maschinen mit Linux als Betriebssystem. Die eine ist meine NAS-Platform, die andere trägt mehrere (para-)virtualisierte Maschinen: Darunter sind drei LXC-Container, die als root (ständig) laufen und zwei, die unprivilegiert nur auf Bedarf gestartet werden. Diese zwei sind Mapping-Server auf Basis von Openstreetmap-Daten und Höhenprofil-Informationen. Die drei ständig laufenden sind ein Gitlab-Server (ja, immer noch - ich habe noch nicht umgestellt), ein iRedMail-Mailserver (nur fürs Homelab, da einige der self-hosted Dienste nur mit einer EMail-Adresse funktionieren) und ein Docker-Server.
Nach Abschluss des Upgrades des Docker-Servers (den ich unattended ließ) kam ich am nächsten Morgen in ein sehr molliges Arbeitszimmer, weil das Kistchen die ganze Nacht mit voller Power durchgelaufen war und der Lüfter entsprechend viel heiße Luft aus dem Gehäuse geschaufelt hatte...
Nachdem ich das Geröll und die Splitter des fehlgeschlagenen Updates soweit beiseite geräumt hatte, dass ich den Schaden begutachten konnte (und auch das Betriebssystem des darunterliegenden Bare-Metal-Systems aktualisiert hatte) stellte sich heraus, dass der Docker-Server sämtliche Container immer wieder neu zu starten versuchte - und zwar endlos. Auch der Gitlab-Container fuhr nicht mehr sauber hoch - er blieb immer hängen bevor das Webfrontend verfügbar wurde.
Also schaltete ich die drei Container zunächst erst einmal aus und begab mich auf Fehlersuche. ziemlich schnell stellte sich heraus, dass ich erst einmal ein grundlegendes Problem zu lösen hatte: Der Massendatenträger des Bare-Metal-Systems war voll - und zwar alle 1.4 Tera Byte!
Wie könnte man das nun lösen? Eigentlich würde ich so eine Situation durch ncdu auflösen - allerdings war das auf dem System noch nicht installiert und wegen der zu vollen Festplatte konnte ich keine zusätzlichen Tools installieren. Also machte ich mich mühselig mittels du -h --max-depth=1 auf den Weg durch die Untiefen und fand bereits nach einer Viertelstunde tatsächlich ein json-log in einem der Docker-Container mit beeinfruckenden 667 Giga Byte Größe! Nachdem ich das kompromisslos gelöscht und mit 0 Byte wieder angelegt hatte fuhr Gitlab und der Mail-Server wieder anstandslos hoch - Auch der Docker-Server schien zu funktionieren - allerdings funktionierten nur die Dienste, die kein Web-Frontend aufwiesen - alle anderen meldeten übereinstimmend 404. Da beio mir alle Webanwendungen zentral über Traefik laufen war es naheliegend, hier nach der Ursache zu suchen - und siehe da: Als ich versucht, den Container im Vordergrund zu starten begrüßte mich die Fehlermeldung: Error response from daemon: client version 1.24 is too old. Minimum supported API version is 1.44
Eine Internet-Recherche ergab, dass die Ursache in einem zu großen Abstand der Traefik und der Docker-Version bestand. Ich löste das (short-Term Fix), indem ich docker wieder auf die ältere Version zurücksetzte und weitere Upgrades dieses Pakets auf on hold setzte.
The Things (Network) Stack v3
19.09.2021
Ich berichtete vor einiger Zeit über meine ersten Versuche der Beschäftigung mit LoRaWAN und The Things Netzwork.
WeiterlesenAI und ML Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Flaggen-Emojis aus ISO3166-1 Country CodesIch fand neulich diesen interessanten Link, der beschreibt, wie man die Flaggenicons für alle Länder der Erde mit einem simplen Unicode-Feature erzeugen kann und dachte: "Das will ich auch ausprobieren!". Wieder etwas, das ich noch nicht über Unicode wusste...
WeiterlesenIch habe nochmal versucht, Cryptpad als self-hosted Variante in meinen Docker-Zoo aufzunehmen - dieses Mal war ich erfolgreich...
WeiterlesenTrump hat es sich ja zur Aufgabe gemacht, Chaos zu verbreiten und einfach irgendwelche Lügen rauszuhauen weil er denkt, dass - wenn er es nur schnell genug macht - wir gar nicht hinterherkommen, die Auswirkungen davon wieder zu kitten - und bisher hat er ja leider recht damit...
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.