Wenn sonst nichts mehr beim kaputten RAID5 hilft

Ein Kundeskunde ist stolzer Besitzer einer Synology CubeStation. Das sind kleine NAS-Server für daheim, auf Linux-Basis mit einem proprietären Webinterface, aber immer noch mit einer Shell. Je nach Modell sind unterschiedlich viele Platten verbaut; hier konkret vier. Jede Platte hat drei Partitionen, wobei die ersten beiden kleineren jeweils ein kleines RAID1 für die Root- bzw. Swap-Partition darstellen (und hier ergo dreifache Redundanz haben); die jeweils dritten – großen – Partitionen sind zu einem RAID5 ohne Spare zusammengefasst, das als /volume1 …

Levenshtein-Distanz mit MySQL

Für ein Projekt benötigte ich eine Möglichkeit, eine Duplikatsprüfung durchzuführen. Anforderung war, nicht nur identische, sondern auch „ähnliche“ Datenbank-Einträge wiederfinden können. Dabei stieß ich auf den Algorithmus der Levenshtein-Distanz. MySQL kennt von Haus aus keine Funktion hierfür. Nach einigem Suchen bin ich allerdings auf ein kleines Plugin gestoßen, dass diesen Algorithmus als user-defined function nachrüstet.

Um es kurz zu machen – für die Installation auf einem CentOS 5 auf einer 64-Bit-Plattform habe ich folgende Schritte benötigt:

mkdir /usr/local/src/mysql_levenshtein_udf-1.0
cd 

Synology-Netzwerksicherung: Doppel-FAIL

Synology baut nette kleine NAS-Boxen für Daheim oder fürs Büro. Die laufen mit Linux, haben ein Webinterface drauf, damit man nicht mit der Shell in Berührung kommen muss, und sind von daher auch bei Einsteigern sehr beliebt.

Nun gibt es hier und da Bedarf, den Datenbestand der Syno an einem externen Ort zu sichern, und wie das nun mal so ist, bietet sich da Speicherplatz im Internet an. Die Syno unterstützt praktischerweise laut Dokumentation Backups auf „rsync-kompatible Server“. Nun kenne …

Spaß mit der Zeitumstellung

Okay, diese Stolperfalle habe ich mir letztlich selbst gebaut – woran man nicht alles denken muss.

Ein Kunde betreibt auf seinem Server einige Dienste, die eine Art „Lebenszeichen“ in Form eines Unix-Timestamps (für Unwissende: Die Zahl der Sekunden seit dem 1. Januar 1970) in einer MySQL-Tabelle hinterlassen. Da diese Dienste besonders wichtig für ihn sind, haben wir die Nagios-Überwachung seines Servers um einen Check für diese Dienste erweitert, der sich die Differenz zwischen der dort gespeicherten Zeit und der aktuellen …

Defekte Quota-Dateien in Ordnung bringen

Dann und wann ist das Quota-System ein bisschen empfindlich. Spätestens wenn man in /var/log/messages sowas hier liest …

Oct  1 04:18:37 server4 kernel: VFS: find_free_dqentry(): Data block full but it shouldn't.
Oct  1 04:18:37 server4 kernel: VFS: Error -5 occured while creating quota.

… weiß man: Da ist mehr im Argen, als man mit einem einfachen quotacheck korrigieren kann. Nun lassen sich zwar mit quotacheck -c prima neue, frische Quota-Dateien anlegen, nur: Dann haben die User alle erstmal keine Quota …

I/O-Lastprobleme durch Logging

Ein Kundenserver machte Ärger. Dass bei einem iowait-Wert von konstant über 90% nicht mehr viel zu wollen ist, dürfte klar sein. Die Maschine ist aber nicht grundsätzlich überlastet: Die Tage davor schnurrte sie noch wie ein Kätzchen.

Mittels iostat war schnell herausgefunden, dass die I/O-Last nicht auf einen Plattendefekt o.ä. zurückzuführen war, sondern wirklich tonnenweise Daten auf die Platten geschrieben wurden.

Leider sind solche Probleme oft schwierig zu analysieren, weil es für I/O-Last im Standard-Linux-Kernel kein Accounting gibt – sprich, …

rsync und der Doppelpunkt

Kleine Randnotiz: Das Synchronisieren von Dateien mittels rsync klappt nicht, wenn ein Dateiname einen Doppelpunkt enthält. Dann vermutet nämlich rsync, dass damit eine Angabe in der Syntax host:path gemeint ist. Beispiel, in dem eine Datei namens „a:b“ angelegt wird und nach „c“ synchronisiert werden soll:

$ touch a:b
$ rsync -v a:b c

Effekt: Geht schief, weil „a“ als Hostname betrachtet wird, der nicht aufgelöst werden kann. Dave Dykstra weiß Rat: Wenn man eine Pfadangabe davorsetzt, wobei schon „./“ ausreicht, …

Passwörter: Nicht mit SSH-Keys

Jetzt arbeiten wir schon seit vielen Jahren kaum noch mit traditionellen Passwörtern, sondern sind auf SSH-Keys umgestiegen. Im Rahmen eines Wartungsvertrags für einen dedizierten Server haben wir die vereinbarten Arbeiten durchgeführt, bis der Kunde verwundert fragte, wer uns denn das neue root-Passwort mitgeteilt habe. Nun ja: Niemand eben. Aus diesem Grund mal eine kleine Zusammenstellung von praktischen Links insbesondere für Windows-Nutzer (unter Linux und MacOS X ist die Nutzung von SSH ja ohnehin eher verbreitet):

Auf der Website von PuTTY