Weekly Snap: Icinga Workshops, Database Expansion & Fing for Home

2 – 6 April started spring with Icinga training courses and ideas for networks large and small.
From the Managed Services team, Sebastian offered his tips to expand LVM, MongoDB and PostgreSQL volumes while Marius shared his for managing home networks from your smart phone.
Eva announced our upcoming Icinga courses in Nuremberg on 7 – 11 May and Düsseldorf 21 – 25 May, ideal for beginners to monitoring. Register for the intensive workshops now!

Auf die Größe kommt es an

Immer wieder ist es notwendig auf einem bestehenden Setup das “Partitionslayout” zu ändern. Zum Beispiel sind die zu Beginn eines Projekt definierten Volumes falsch dimensioniert oder ein Service benötigt mehr bzw. weniger Platz wie angedacht.
Mit LVM und ext3/ext4 ist das auch meist kein Problem. Beim Verkleinern würde man zuerst das Dateisystem ‘shrinken'(verkleinern) und anschließend das Logical Volume entsprechend anpassen. Das Vergrößern geht online und noch einfacher. Zuerst das LV auf die Größe vergrößern und anschließend das Dateisystem wachsen lassen.
lvresize -l+10G /dev/lv/volume; resize2fs /dev/lv/volume;
Allerdings unterstützen das nicht alle Dateisysteme. Zum Beispiel kann man mit XFS zwar das Dateisystem vergrößern, allerdings nicht verkleinern. Zumindest nicht ohne größeren Aufwand. In der Regel weiß man im Voraus, welche Daten bzw. Services auf diesen Dateisystemen abgelegt werden. Möchte man z.B. die Datenpartition von MongoDB in einem Replica-Set verkleinern, fährt man den Daemon herunter, verkleinert das Volume, formatiert das Volume mit XFS neu und anschließend startet man den MongoDB-Daemon ohne Daten wieder. Für den Datenabgleich sorgt dann MongoDB selbst. Cool, oder? 🙂 Ähnliche Möglichkeiten besitzt auch PostgreSQL mit pgpool2 und Online-Recovery.
Zum Thema MongoDB gibt es auf der kommenden Open Source Data Center Conference ebenfalls spannende Vorträge!

Sebastian Saemann
Sebastian Saemann
Head of Managed Services

Sepp kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet zusammen mit Martin das Managed Services Team. Wenn er nicht gerade Server in MCollective einbindet, versucht er mit seinem Motorrad einen neuen Geschwindigkeitsrekord aufzustellen.

Weekly Snap: MySQL Backup, Teltonika & HTML/JavaScript Tips

6 – 10 February offered a nice mix of developer and sys admin tips, hardware and consulting news as well as general software food for thought.
Along these lines, Julian discovered the software complexity behind iPhones’ ‘home’ button, while Sebastian shared his tip for backing up MySQL with LVM snapshots.
Jannis then offered four JavaScript/HTML features for developers to impress their friends with – cross origin resource sharing, manifest files, deferred scripts and error objects.
Birger briefly reported on an Icinga project at Pegasus, transforming RDD files into SQL-ready performance data.
Lastly, Martin reassured shoppers at our hardware store, that there are alternatives to the much loved, but discontinued Teltonika ModemUSB/G10 GSM.

MySQL Sicherung mit LVM

Auch die robusteste MySQL-Replikation kann einmal zerbrechen, besonders wenn der Faktor Mensch einen nicht ganz unerheblichen Teil dazu beiträgt. Glücklich schätzen können sich also im Fehlerfall welche, die das DataDir auf einem Volume oder Dateisystem mit Snapshot-Funktionalität installiert haben.
Hat man einen konsistenten Master kann man mit folgenden Kommandos ein Backup erstellen und dieses zum Aufsetzen inkonsistenter,defekter oder neuer Slaves verwenden.
mysql> flush tables with read lock;
mysql> flush logs;
mysql> show master status;
bash# lvcreate -s -n snap -L5G vg/lv
mysql> unlock tables;

Innerhalb weniger Sekunden ist das Backup erstellt. Allerdings wartet das “flush tables” die gerade aktiven Statements ab. Solange hier kein Ausreißer dabei ist, bleibt es auch beim sekundenschnellen Backup.
Das Snapshot-LV kann anschließend wie gewöhnlich eingehängt und die Daten auf das Zielsystem kopiert werden. “reset slave” und “change master to ….” auf dem Slave runden das Vorgehen ab.

Sebastian Saemann
Sebastian Saemann
Head of Managed Services

Sepp kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet zusammen mit Martin das Managed Services Team. Wenn er nicht gerade Server in MCollective einbindet, versucht er mit seinem Motorrad einen neuen Geschwindigkeitsrekord aufzustellen.