Falk Dübbert macht Sachen

Artikel sind mit folgenden Tags versehenwebserver

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

Über Weihnachten...

19. Dezember 2019

3D Drucker:
  • Atmel tauschen
  • Sailfish laden
  • Extruder umbauen
    • neue Motoren
    • Metallextruder
  • Drucker insgesamt justieren und kalibrieren
Icom-Funkgeräte:
  • Digitalkabel herstellen
  • Antenne ausprobieren
MTB:
  • Laufradsatz 1 wieder geradeprügeln
  • Laufradsatz 2 mit Spikes versehen
  • Federgabel warten (Ölwechsel)
  • auf Endmaß putzen
Rennrad:
  • Winter-LRS klarmachen
  • auf Endmaß putzen
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

PHP 5.3 -> PHP 7.2 geringe Flurschäden

18. Dezember 2019

Im Zuge der Vorbereitungen auf 2020 habe ich den NGINX/MySQL/PHP-Stack aktualisiert.

Zerbrochen sind:
  • die Tracmor-Lagerverwaltung
  • meine selbstgebastelte Webcam-Oberfläche für die Überwachungskameras
  • meine Wetterstationsapp
  • die alte Lifetype-Version meines Blogs, die 2003 auf einem WAMP (Windows, Apache, MySQL, PHP) in meinem Kleiderschrank startete. Diesmal wohl endgültig.

Ich werde nichts davon reparieren.

Das Blog, meine Service-Apps, die Oberfläche der BTC/LTC-Tradingbots und ein paar andere Dinge haben es überlebt.

Falk Dübbert

,

Kommentare

Neue Kategorie: TLDR

4. November 2019


Mir fehlt ein wenig der Platz für einen langen Mindflush. Deswegen habe ich diese Kategorie wieder eingerichtet, was eigentlich gegen jeden Rat geht, wie man „erfolgreich“ blogt.
Sie bleibt aber semi-öffentlich. Sprich: die Artikel sind vielleicht ein paar Stunden, maximal 48, normal online. Danach verschwinden sie aus den Übersichten und man muss den Link haben. Eine Art von Shadow-Banning, wenn man es so nennen will. Ich bin mir sicher, dass Google, Bing und die chinesischen Crawler, die ich noch nicht ausgesperrt habe diese toxischen Inhalte finden und wie ich mein Glück kenne, auch immer schön vorne präsentieren werden, so wie die übergewichtigen Bilder aus der Pi-Raten-Partei…

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

Den Alltag wuppen.

18. September 2019


Der Umzug ist nun schon fünf, fast sechs, Monate her und erst jetzt bin ich so weit, wie ich im Mai sein wollte.
Immerhin habe ich die Algen auf dem Balkon kleinbekommen. Sollte es am Wochenende noch mal richtig schön sein, werde ich die Bretter noch mal gut ölen, damit sie gut über den Winter kommen. Dann kommen ein paar Dinge vom Balkon in den Keller und ich werde dort eine „Spalte“ Kartons auflösen, damit die nächste Regalsektion ihren Platz findet.


Der Maxime „Nichts in public clouds, wo Du die Verschlüsselung und das Patchregime nicht im Griff hast“ folgend habe ich meine Cloud-losen Fitness-Tracker und Sportuhren reaktiviert.
Die Software des China-Gadgets ist zwar so chinesisch, wie so was sein könnte, aber ich kenne außer mechanischen Schrittzähler einfach keine ohne Cloud-Zwang. Die Erfahrungen mit dem Microsoft-Band und Bayer Blutzucker-Messgerät haben das Ende der Cloud-Akzeptanz in Gesundheitsdingen bei mir besiegelt.
Um wieder positiv zu werden: Bis Oktober möchte ich nach und nach meine Ziele angehen. Da mir die tiefhängenden Früchte ausgehen, kommen nun die Ziele dran, die eine Verhaltensmodifikation und eine Lebensstilumstellung erfordern.

Falk Dübbert

,

Kommentare

Netzwerkplanung im Kleinen

14. September 2019

Angestoßen durch ein Kundenprojekt habe ich mir meine WLAN- und LAN-Situation hier etwas durch den Kopf gehen lassen und jetzt endlich den Aufbau festgelegt. Da ich viel mit sehr großen Dateien arbeite, reicht mir WLAN pur nicht aus. Außerdem möchte ich die Leistung so absenken können, dass das WLAN in meiner Wohnung bleibt. Herausgekommen ist das:

Ein typischer in Europa gern gemachter Fehler ist das 1-6-11-Kanalmuster auf 2,4 GHz. 1-6-11 ist das einzige Überlappungsfreie Muster bei 11 je 22Mhz breiten Kanälen, also mit 802.11b-Kompatibilität und FCC-Konformität.
In Europa und bei N-WLAN als geringste Anforderung sind es aber 13 Kanäle mit je 20 MHz-Breite. Deswegen ist 1-5-9-13 auch Überlappungsfrei. Kanal 9 (der „MIKROWELLENKANAHL!!!!11elf!“) wird gemieden wie das geweihte Wasser, dabei laufen Mikrowellen abgesehen von Bestrahlungsgeräten in Kliniken selten und strahlen sehr selten nennenswert aus dem Gehäuse heraus (eigentlich nie). Mit vier Kanälen kann man seine APs zweidimensional so verteilen, dass keine überlappenden Sender nebeneinander liegen.

In der IT kommen viele Varianten des Vier-Farben-Theorems vor. So versucht man bei ganz paranoiden Ansätzen die Firewalls unterschiedlicher Hersteller der Sicherheitskomponenten so zu platzieren, dass ein Exploit nur in einer Zone, aber nicht in den benachbarten angewendet werden kann. Der BWLer, der den Finger auf den Mitteln hat bekommt bei solchen Gedankenspielen genauso Herzrasen wie der agile Full-Stack-Container-Automatisierer, weil damit alle Skaleneffekte zum Teufel sind.

Bei mir ist die Situation wie überall in urbanen Gebieten:
An Vorder- und Rückseite des Hauses sind 2,4GHz-Kanal 1 und 6 hoffnungslos überlastet. Wenn ich den AirCheck eine Stunde laufen lasse, hat er auf Kanal 6 über 30 Stationen empfangen, da es immer noch der voreingestellte Kanal von vielen Provider-seitig gestellten Routern ist.
Entsprechend fallen diese beiden Kanäle fast aus. Auf 5 GHz ist die Dämpfung der Wände ausreichend, dass freie Auswahl besteht mit einer kleiner Ausnahme von Kanal 36. Der am Fenster von 11 Stationen belegt ist, die aber alle an der Rauschgrenze liegen und somit kaum CDMA-Einschränkungen auslösen dürften.
Die Accesspoints beherrschen alle das automatische Umschalten der Clients auf 5 GHz. Somit sollte bei maximal 5m Abstand zu einem Accesspoint in der Wohnung 2,4 GHz kaum genutzt werden. Die Antennenstandorte habe ich durch Inversion ermittelt, also indem ich zwei Accesspoints mit omnidirektionalen Antennen an die Stellen stellte, wo ich typischerweise WLAN-Geräte verwende, und dann mit dem AirCheck die Stelle mit dem stärksten geometrischen Mittel der beiden Signale suchte. Eine Stelle, wo der eine Sender mit 90% und andere mit 10% anliegt, ergibt so 0,9*0,1=0,09; hingegen ergibt eine Stelle mit 45% und 45% 0,2025 und in Realität sind es eher 66% und 60%.
Die gleiche Methode klappt übrigens auch bei der Suche nach dem Aufstellungsort von Subwoofern.

Die Sicherheitsthematik ist dagegen etwas komplizierter.

Gäste wollen oft auch mal WLAN und ein Aufkleber an der Wohnungstür verrät per QR-Code das Passwort für das Gäste-WLAN, in dem der Router ein Captive-Portal mit Nutzungsbedingungen bereithält, die als Schutzzauber vor Anwaltspost aus München oder vom Westufer der Alster schützen sollen. Die Gäste können untereinander nicht sehen und die IP-Ports laufen über eine Positiv-Liste, während gesperrte Seiten mit einer Sperrliste gehandhabt werden.

Bei mir wird Technik auch mal älter. Solange der Drucker noch tut und der Toner oder die Tinte nicht exorbitant teurer geworden ist, bleibt er und beim NAS, Scanner oder Telefon gilt das gleiche. Das heißt, dass ich einiges an Hardware habe, die seit Jahren kein Sicherheitsupdate empfangen hat. Diese Geräte landen im blauen Netz, das intern alles erreichen kann, aber nicht oder nur eingeschränkt „raus“ darf und vor allem dürfen von außen nur äußerst eingeschränkt Geräte „rein“.

Dazu kommen die „Gast-Rechner“. Meine (streng genommen die meiner Arbeitgeberin) Kunden lassen typischerweise keine fremden Rechner in ihre Netze. Stattdessen bekommt man ein Notebook oder neuerdings einen Compute-Stick oder eine VM, der die das außer generischen Mäusen und Tastaturen keine USB-Verbindung akzeptiert. Die Verbindung zum Kunden geschieht über VPN. Damit braucht dieses Gerät Internet.

Mein Firmennotebook braucht Zugang zu einer Cloud und ich gönne mir den Luxus, selbst vor Ort drucken zu können. Diese Geräte landen im grauen Netz, wo im Grunde die gleichen Regeln, gelten wie im Gäste-WLAN, außer dass keine Anmeldung erforderlich ist und man den Drucker erreichen darf.

Meine eigenen WLAN-fähigen Geräte (Bluray-Player, Fernseher, Streamplayer, Spielekonsolen, Smartphone, Tablets, Webcams, Waschmaschinen…) brauchen auch Internetzugang, aber keinen Kontakt zu Drucker oder NAS.

Technisch setze ich das ganze so um, dass im Abstellraum eine kleine USV den Router, das NAS und einen 2-Port-POE-Injektor versorgt. Der Injektor wiederum versorgt zwei POE-PD-Switche, an denen die Accesspoints und alle Clients hängen. Aus dem Router kommen Trunks zu den Switchen und zu den Accesspoints gehen ebenfalls Trunks, aber mit weniger VLANs. Die Administrationsoberfläche ist nur per Kabel im Abstellraum erreichbar und die der Accesspoints ist komplett abgestellt.

(Update 1, 14.9.2019: Die Linie vom Switch zum Medienarbeitsplatz muss natürlich schwarz sein.
Update 2+3, 15.9.2019: Einige Besucher fragen, wo das VLAN1 ist. Das native LAN1 ist nur an Port1 des Routers konfiguriert.)

Falk Dübbert

,

Kommentare

Konzentration, Code-Qualität oder: Menü geht wieder.

11. Juni 2019

Eigentlich habe ich es geschafft, viele Variablen aus meinem Leben zu streichen. Ich bin ja schon seit Juli 2018 an dem Thema. Ich habe toxische „Freundschaften“ beendet, Mitgliedschaften gekündigt und vieles andere getan, damit ich nur nach vorne schauen muss. 

Aber dennoch bin ich noch nicht auf dem Niveau der Fokussierung, den ich vor 22 Jahren mal hatte. Damals konnte ich alle Gedanken außer den an eine Bewegung aus dem Kopf drängen. 

Vor ein paar Tagen stellte ich fest, dass das Top-Menü meines Blogs verschwunden war. Ich war im ersten Anlauf auch auf dem richtigen Weg und hatte ein Cache-Problem vermutet.

Ich hatte im Zuge eines Updates das Plugin aks_cache aus dem Textpattern entfernt. Mein Template „Yoko“ macht aber extensiv Gebrauch davon. Ich hätte den Code halt durchsehen und alle mit aks_cache geklammerten Objekte auf den neuen Cache-Mechanismus umstellen sollen. Das Problem ist, dass mir dieser Umstand mit aks_cache eigentlich mal präsent war, also sein müsste…

Falk Dübbert

,

Kommentare [1]

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

✖ Ok! Einverstanden.