Schön, Dich auf meinem Blog zu sehen! Hier befindet sich ein Sammelsurium an Tipps und Tricks entstanden beim täglichen Umgang mit Hard- und Software, aufgeschrieben direkt aus dem IT-Alltag.

Backup der VMs im laufenden Betrieb mit libvirt

Mit libvirt bzw. deren Kommandozeilen-Interface virsh kann ein Backup der VMs im laufenden Betrieb durchgeführt werden. Das nachfolgende Script stellt ein Grundgerüst, angeregt durch einen Artikel von Christian Rößner, für ein Backup nach der folgenden Methode zur Verfügung:

Es wird zuerst ein Snapshot aller Volumes einer VM angelegt. Dadurch besteht jedes Volume aus (mindestens) zwei Dateien: eine Datei mit den originalen Daten und eine zweite Datei, welche alle Änderungen gegenüber dem Originalvolume ab dem Erstellen des Snapshots enthält. Das Originalvolume wird bei aktivem Snapshot nicht mehr beschrieben, es kann nun problemlos gesichert werden. Zum Kopieren kann “cp -f –sparse=always …” oder, sofern verfügbar, “rsync –sparse …” zum Einsatz kommen. Beide Kommandos behandeln freien Platz in den Volumes optimal, rsync ist jedoch um einiges schneller, wenn im Backup-Verzeichnis bereits vom vorherigen Backup schon die gleiche Datei vorhanden ist, da dann nur die Änderungen kopiert werden. Anschließend werden mit einem sogenannten Blockcommit die im Snapshot als Änderungen geschriebene Blöcke in das Originalvolume wieder eingearbeitet. Das alles kann im laufenden Betrieb vom Host der VMs aus durchgeführt werden.

[Mehr]
Backup  KVM  libvirt  Linux  OSS 

Facebook XMPP wurde Ende April 2015 eingestellt

Ganz an mir vorüber gegangen ist, dass Facebook die XMPP-Unterstützung schon gegen Ende April 2015 eingestellt hat. Ich habe es selten benutzt, jedoch wenn, dann meistens mit Pidgin. Der Chat funktioniert nun nur noch proprietär über deren Webseite oder den eigenen Messenger.

Seitenumbruch in WordPress

Beim Schreiben von längeren Artikeln ist es hilfreich, den Inhalt mit einem Seitenumbruch auf mehrere Seiten aufzuteilen. Das verhindert auf der einen Seite ein endloses Scrollen durch einen langen Text und auf der anderen Seite wird damit auch die Absprungrate gesenkt, da zum Lesen des ganzen Artikels mindestens eine weitere Seite des Artikels angezeigt werden muss.

WordPress beinhaltet dieses Feature bereits. Die Toolbar des WordPress-Editors enhält dazu leider keinen entsprechenden Button, jedoch kann man durch Eingabe von im Textmodus des Editors einen Seitenumbruch einfügen. Im visuellen Modus drückt man dazu die Tastenkombination ++.

[Mehr]

Seafile: Offene Ports schließen

Seit Seafile 4.3 können nun auch die bisher nach außen offenen Ports geschlossen werden. Über einen Proxy (z.B. Apache oder Nginx) waren sie schon früher nicht erforderlich, aber leider nicht abstellbar. Folgende Änderungen müssen in den angegebenen Datein durchgeführt werden:

ccnet/ccnet.conf:

[Network]
#PORT = 10001

seafile-data/seafile.conf:

[network]
#port = 12001
Linux  OSS  Seafile 

Seafile systemd Unit-Files

Unit-Files für systemd für seafile und seahub sind im Seafile-Manual. Für FastCGI muss das Skript für seahub entsprechend angepasst werden. Siehe den dortigen Kommentar

Das Major-Versionsupgrade von 4.2 auf 5.0 welches hier anstand hat mit der Methode “Schritt für Schritt jeden einzelnen Upgradeschritt aus ./update durchführen” problemlos funktioniert.

Mit der Version 5.0 hat sich die Wiki-Syntax für Links geändert. Leider werden bestehende Links nicht immer automatisch konvertiert.

Bash-Scripte gegen gleichzeitiges Ausführen absichern

Oft darf von einem Bash Script nur eine Instanz laufen. Beispiele sind ein Backup oder ein Datei-Transfers, welche bei gleichzeitigem Lauf der selben Scripte evtl. nicht korrekt durchgeführt würden. Mit einfachen bash-Mitteln lässt sich dies jedoch verhindern.

Ganz einfach könnte man auf das Vorhandensein einer Datei testen und sie anlegen, falls sie nicht existiert. Allerdings hätte man sich damit auch eine sogenannte RaceCondition geschaffen, der Vorgang zwischen Test und Anlegen ist nicht atomar. Ein nicht funktionierendes Beispiel:

[Mehr]
bash  Linux  OSS 

Munin: Optimierung der Festplatten-IOs

Munin wird dazu verwendet, Laufzeitwerte über verschiedene Dienste oder Rechner zu sammeln und diese statistisch in Grafiken auf einer eigenen Webseite aufzubereiten. Bei Über- oder Unterschreiten eines Grenzwertes können entsprechende E-Mails versenden. Die gesammelten Daten werden rollierend in RRDs (Robin-Round-Database) festgehalten.

In der Standardkonfiguration wird in den meisten RRDs nur jeweils ein Wert gespeichert. Das ergibt z.B. bei 10 Hosts á 20 zu speichernden Werten 200 RRDs, die von Munin alle 5 Minuten (dem Standard-Abfrageintervall) fast gleichzeitig geschrieben werden. Diese Häufung von IOs, zumal sie nicht gestreckt über den gesamten Zeitraum sondern punktuell auftritt, kann für große Installationen schnell zum Problem werden. Im Folgenden wird eine Methode vorgestellt, wie diese Festplatten-Last um den Faktor 10 gesenkt werden kann.

[Mehr]
Linux  Munin  Nginx  OSS 

Danke an meine Leser

Ich muss hier mal ein großes Danke an alle neuen und alten Leser richten! Folgende Grafik macht mich stolz und bestärkt mich darin, für euch immer wieder neue Sachen aufzuschreiben.

Entwicklung der Zugriffe

Entwicklung der Zugriffe

Piwik 

Let’s Encrypt: Erinnerung vor Zertifikatablauf

Die von Let’s Encrypt kostenlos erhältlichen Zertifikate sind aktuell 90 Tage gültig. Bei vielen Zertifikaten, so z.B. bei vielen Subdomains mit eigenen Zertifikaten, fällt der Überblick schwer, wann welches Zertifikat in Kürze abläuft und erneuert werden muss. Eine automatische Erinnerung muss her.

Eine Methode, um automatisiert alle Zertifikate auf ihren bevorstehenden Ablauf zu testen, kann mit dem folgenden Bash-Script realisiert werden.

[Mehr]

Let’s Encrypt, Nginx und viele Hosts

Mit dem Service von Let’s Encrypt steht die Möglichkeit zur Verfügung, kostenlos Zertifikate für Webserver zu erhalten um die Webseite per HTTPS, also verschlüsselt, zugänglich zu machen. Für den Webserver Apache kann das Zertifikat automatisch erzeugt, signiert und installiert werden. Für Nginx ist in der Let’s Encrypt-Installation zwar ein Modul enthalten, dieses ist nach eigenen Angaben jedoch noch nicht für den produktiven Einsatz ausgelegt.

[Mehr]