Unterschiedliche Ansätze um aus keepalived den aktuellen State/Clusterstatus zu extrahieren

keepalived kann unter anderem dazu dienen, eine oder mehrere IPs zwischen einem oder mehreren Serversystemen umzuschalten. In der Regel ist das zugrundeliegende Protokoll hierbei VRRP, das Virtual Router Redundancy Protocol.

Möchte man nun im Serververbund herausfinden ob localhost gerade im aktiven (ACTIVE), passiven (BACKUP) oder defunktionalen (FAULT) Zustand ist, gibt es hier mehrere Lösungsansätze die alle ihre eigenen Vor- und Nachteile haben.

Mir war es wichtig, mal eine kleine Übersicht zu schaffen um zumindest einige Verfahren genauer zu beleuchten, um anderen Systemadministratoren, die vor der gleichen Aufgabe stehen, die Arbeit etwas zu erleichtern.

TLDR: Siehe „Teil 5 – DBus“.

Unterschiedliche Ansätze um aus keepalived den aktuellen State/Clusterstatus zu extrahieren weiterlesen

Analyse und Wiederherstellung von Daten auf CD/DVD mit ddrescue und photorec

Stellt euch vor, in eurer Familie wurden immaterielle Familienandenken in Form von Fotos, Videos oder manchmal auch Dokumenten erstellt. Anschließend wurden diese auf zeitgenössischen Speichermedien „gesichert“.

Ein paar Jahre später: Ihr geht durch eure DVD-Sammlung und stellt mit erschrecken fest, dass die DVDs plötzlich nicht mehr aussehen wie in Bild 1, sondern wie in Bild 2.

Die DVDs weisen leichte und schwere Verfärbungen auf. Legt ihr sie so in das Laufwerk ein, werdet ihr feststellen, dass sie entweder gar nicht erscheinen oder unfassbar langsam reagieren und bestimmte Daten überhaupt nicht abgerufen werden können.

Woran liegt das?

Analyse und Wiederherstellung von Daten auf CD/DVD mit ddrescue und photorec weiterlesen

Einfaches Skript um mit mdb-tools eine MS Access-Datenbank in SQLite3 umzuwandeln

Hin und wieder stößt man auf Anwendungsfälle in denen Applikationen für Nischenprodukte einen vor merkwürdige Aufgaben stellen. So zum Beispiel ein im deutschen Kanurennsport häufig für die Regattaplanung genutztes Tool namens „GTS Regatta“. Im Grunde eine MS Access-basierte Anwendung mit zahlreichen Formularen und Funktionen rund um das Thema Kanuregatta.

Um die Daten praktisch in PHP-Anwendungen nutzen zu können, kann ein entsprechender ODBC-Treiber genutzt und direkt mit der Access-Datenbank gearbeitet werden. Dies ist, möchte man mit einem Linux-System arbeiten, etwas aufwändig und je nach ODBC-Treiber auch kostspielig.

Eine Alternative stellt die Konvertierung nach SQLite oder einer anderen Datenbank dar. Um dies mit kostenlosen Tools unter Linux möglichst leicht zu gestalten, bietet sich das folgende Skript an:

#!/usr/bin/env bash
# Usage: mdb-export.sh database.mdb/.accdb

fullfilename=$1
filename=$(basename "$fullfilename")
dbname=${filename%.*}

echo "Export schema"
mdb-schema "$fullfilename" sqlite > "$dbname.sql"

IFS=$'\n'
for table in $(mdb-tables -1 "$fullfilename"); do
    echo "Export table $table"
    mdb-export --insert=sqlite "$fullfilename" "$table" >> "$dbname.sql"
done

echo "Convert to sqlite"
sqlite3 "$dbname.sqlite3" < "$dbname.sql"

echo "Delete working data"
rm "$dbname.sql"

nginx-rtmp mit Standby-Bild wenn kein Publisher verbunden ist

Im Beitrag „Lokal von OBS zu OBS streamen mittels nginx-basiertem RTMP-Server“ zeigte ich, wie man zwischen OBS-Instanzen in einem Netzwerk streamen kann. Das ursprüngliche Streaming-Projekt ist längst abgeschlossen, jedoch bin ich retrospektiv nochmal alle Verbesserungsvorschläge und -möglichkeiten durchgegangen.

Hierbei wurde auch klar, dass ein direkter Stream über eine teils instabile Verbindung insbesondere beim Streaming zu YouTube nicht unproblematisch ist. Um beim Streaming zu YouTube zu vermeiden, dass der Stream entgültig und unwiederbringlich beendet wird (beispielsweise passiert das durch Beendigung des Streams in OBS oder bei einem Verbindungsabbruch, wenn der Stream nicht innerhalb kurzer Zeit wieder gestartet wird) empfiehlt es sich, einen Streaming-Proxy zu verwenden.

nginx-rtmp mit Standby-Bild wenn kein Publisher verbunden ist weiterlesen

HAProxy 2.2 – 2.8 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren

Im letzten Artikel „HAProxy 2.0/2.1 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren“ habe ich gezeigt, wie es möglich ist, HAProxy 2.0 und 2.1 unter SLES 10 zu kompilieren. Da der Support für 2.1 bereits ausgelaufen ist und für 2.0 (LTS) in Q2 2024 ausläuft, erscheint es interessant, auch neuere Versionen für einen alten Linux-Stack zu kompilieren.

HAProxy 2.2 – 2.8 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren weiterlesen

HAProxy 2.0/2.1 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren

Manchmal ergeben sich im IT-Umfeld merkwürdige Aufgaben – beispielsweise wenn eine Anwendung, die selbst erheblich neuer ist, als das Betriebssystem auf dem sie kompiliert und installiert werden soll, unter einem entsprechenden System lauffähig gemacht werden soll.

Wie kann nun vorgegangen werden, um einen relativ aktuellen HAProxy auf SLES 10 zu kompilieren und zu installieren?

HAProxy 2.0/2.1 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren weiterlesen