Wie ich gestern ja bereits schrieb sind in dem Server der auch dieses Blog hostet gestern gleich 2 Festplatten gestorben, zum Glück hintereinander. Die erste Platte fing bereits am Sonntag an sich komisch zu benehmen, was ich jedoch erst am Montag erkannte. Die Platte war noch nicht automatisch aus dem RAID-Verbund herausgeworfen worden, hatte aber bereits gelegentliche Lese-Probleme. Also habe ich sie manuell aus dem RAID entfernt:

mdadm --manage /dev/md0 --fail /dev/sda1
mdadm --manage /dev/md1 --fail /...

Jedem SysAdmin der ein iOS-Gerät besitzt werden schon diverse Tools über den Weg gelaufen sein, die von sich behaupten das Leben eines SysAdmins erst Lebenswert, zumindest aber so leicht wie nie zu machen.

In dieser neuen Serie will ich auf einige dieser Tools eingehen und nicht nur Apps empfehlen, sondern auch neutral vorstellen, damit sich jeder selbst ein Bild machen kann, auch kritik wird es geben und klare "Finger Weg"-Empfehlungen.

Den Beginn sollen die Apps OnCall und Nagify machen. Beide sol...

Tja, so ein Plattenschaden kann schon einiges an Aufregung mit sich bringen. Da macht es sich immer gut frühzeitig auf Probleme aufmerksam gemacht zu werden. Nagios oder Icinga können auch hier wieder einmal helfen.

Sowohl für die Überwachung der RAIDs als auch für die Überwachung von SMART-Werten der Festplatten bringt Nagios von Hause aus entsprechende Plugins mit, die lediglich aktiviert werden müssen:

# /etc/icinga/objects/localhost.cfg
# /etc/nagios3/conf.d/localhost.cfg

define service {
    use...
cat /proc/mdstat 
Personalities : [raid1] 
md2 : active raid1 sdb3[1] sda3[2]
      967313728 blocks [2/1] [_U]
      [###=>.]  recovery = 96.1% (930478016/967313728) finish=22.1min speed=27761K/sec

md1 : active raid1 sda2[0] sdb2[1]
      1052160 blocks [2/2] [UU]

md0 : active (auto-read-only) raid1 sda1[0] sdb1[1]
      8393856 blocks [2/2] [UU]

unused devices: 

Das wäre ja nicht so schlimm, wenn nicht:

[21711.257896] ata2.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[21711.257911] at...

Im [[/nachtragliche-systemdokumentation/|letzten Post]] gab es ein paar Tipps zur nachträglichen Systemdokumentation, besser ist es natürlich die Dokumentation immer direkt durchzuführen. Hierbei sollte man sich nicht nur auf geänderte Einstellungen beschränken sondern am Besten immer die komplette Dokumentation erfassen. Kommentarzeilen können hierbei aber meist entfallen, auch der Übersichtlichkeit zuliebe. Dank grep kein Problem:

grep -v "^#" /etc/dovecot/dovecot.conf | grep -v "^$"

Zunächst entfer...

Eine gründliche Systemdokumentation ist wichtig. Hierbei helfen Tools wie etckeeper weiter, mit denen immerhin eine lückenlose Änderungsverfolgung aller in /etc/ abgelegten Dateien möglich ist. Natürlich sollte man darüber hinaus weitere Schritte unternehmen, z.B. die Nachhaltung und Erläuterung der Konfiguration in einem Wiki.

Manchmal muss man eine solche Dokumentation nachträglich erstellen, oder eine bestehende anpassen. Hierbei ist es natürlich hilfreich die Originalkonfiguration mit dem IST-Stan...

E-Mail-Backups sind wichtig. Nutzt man das maildir-Format entstehen viele kleine Dateien. Ein Restore aus einem Tarball heraus kann also eine Weile dauern. Hat man mehrere Mailbenutzer sollte man daher die Backupdateien aufteilen:

for i in `find /var/mail/* -maxdepth 0 -type d`; do dir=`echo $i | awk -F/ ' { print $4  } '`.tar; tar -chf $dir $i; done

Der Befehl geht davon aus dass sich die maildir-Verzeichnisse der Benutzer unter /var/mail abgelegt sind. Für jedes Unterverzeichnis wird ein eigener...

Die beste Serverüberwachung hilft nichts, wenn man nicht über einen Ausfall zeitnah informiert wird. Meist wird hier eine Benachrichtigung per E-Mail angeboten, die natürlich durchaus tauglich ist. Wer die Info schneller braucht setzt häufig auf SMS. SMS ist aber im Zweifel teuer oder kompliziert einzurichten. Wer ein iOS-Gerät hat kann hier auf Push-Notifications ausweichen.

Eine elegante Möglichkeit ist die Nutzung von http://prowlapp.com, eigentlich für das Zusammenspiel des vom Mac bekannten Tools g...

Wer einen Webserver betreibt hat meistens einige Inhalte, die nicht für die Öffentlichkeit bestimmt sind und daher mit einem Kennwort geschützt werden sollen. Zum Beispiel die Zugriffsstatistiken.

Normalerweise verwendet man hierzu eine .htaccess-Datei in Verbindung mit einer Kennwortdatei. Praktischer ist es jedoch wenn man auf Benutzer in einer LDAP-Datenbank zurückgreifen kann, da die Benutzer sich keine zusätzlichen Kennwörter merken müssen.

Auch hierbei kann eine .htaccess-Datei verwendet werde...

Mit Pive Viewer (pv) kann man sich eine Fortschrittsanzeige für einen beliebigen Datenstrom anzeigen lassen. Das kann z.B. praktisch sein um einen Fortschrittsbalken für dd zu erzeugen (ohne ständig kill -USR1 $pid benutzen zu müssen):

dd if=/dev/zero bs=3M count=1024 | pv -s 3G > zero

Hier wird ein Fortschrittsbalken erzeugt, der einen Datenstrom von 3GB erwartet (-s 3G):

1,32GB 0:00:04 [ 192MB/s] [##==>                     ] 44% ETA 0:00:05

Es ist auch möglich mehrere Datenströme zeitgle...