Archive für August 2009

PEAR Probleme mit Laconi.ca LDAP-Patch

Letzte Woche habe ich unser internes Laconi.ca System um eine rudimentäre LDAP-Integration erweitert. Der im Laconi.ca Ticket-System veröffentlichte LDAP-Patch basiert auf PEARs Net_LDAP. Der Patch führt mittels des Benutzernames beim Login eine LDAP-Suche durch und versucht sich mit dem gefundenen DN des Benutzers und dem angegebenen Passwort am LDAP-Server zu authentifizieren (binden):

// rebind to authenticate the password now we know the user exists
$entries = $search->entries();
$bind_result = $ldap->bind($entries[0]->dn(), $password);

Und genau hier gab es Probleme mit dem Code, zumindest auf unserer Standard Debian LAMP-Installation mit Apache 2.2 und PHP 5. Wenn der LDAP-Bind fehl schlägt, soll eigentlich der Fehlercode abgefragt und mittels einem “False-Return” der Anwendung mitgeteilt werden, dass die angegebenen Legitimationsdaten inkorrekt sind:

if ($ldap->getCode() == LDAP_INVALID_CREDENTIALS) {
return false;

Soweit kam die Anwendung jedoch nicht. Bei einem fehlgeschlagegen LDAP-Bind hat das PEAR LDAP-Modul die Anwendung einfach mit einem DB-Fehler und einem “die” beendet.

Die Lösung: Mittels folgender PEAR-Anweisung lässt sich die Standard-Fehlerbehandlung auf “PEAR_ERROR_RETURN” umstellen, so dass bei einem fehlgeschlagenen LDAP-Bind nicht mehr die Anwendung beendet, sondern nur einer Fehlercode zurückgegeben wird:

PEAR::setErrorHandling(PEAR_ERROR_RETURN);

Verschlüsseltes LVM vergrößern

Vorletzte Woche habe ich doch tatsächlich bei der Daten-Partition meines Fileservers die 90% Kapazitätsmarke erreicht. Nun stand eine Vergrößerung des Dateisystems an. Die Besonderheit dabei war, dass es sich um eine verschlüsselte Partition auf einer “Logical Volume” handelte. Dennoch ging die Vergrößerung mit nur wenigen Handgriffen ohne Probleme über die Bühne:

Partition unmounten und Verschlüsselung schließen:

# sudo umount /home/fileserver
# sudo cryptsetup luksClose fileserver

LVM vergrößern (hier um 512GB):

# sudo lvresize /dev/data/fs_crypt -L +512G

Verschlüsselung wieder aktiveren:

# sudo cryptsetup luksOpen /dev/data/fs_crypt fileserver

Dateisystemcheck durchführen (sonst beschwert sich resize2fs):

# sudo e2fsck -f /dev/mapper/fileserver

Schließlich Dateisystem auf dem verschlüsseltem Device vergrößern:

# sudo resize2fs /dev/mapper/fileserver

Mal sehen, wie lange das jetzt hält :)

Lüftersteuerung im Fileserver

Nach einer Blog-Sommerpause stelle ich heute eine kleine Verbesserungsarbeit an meinem Mini-ITX Fileserver vor. An dieser Stelle möchte ich mich für den Lob und die Danksagungen für meinem Blog-Artikel Mini-ITX Raid-Fileserver und dem dazugehörigen Wiki-Dokument UbuntuHomeserver bedanken. Es freut mich, wenn ich dem einen oder anderen mit ein paar nützlichen Tipps unterstützen konnte.

Nun aber zum Thema: Das Mini-ITX Gehäuse ES34069 von Chenbro, mit dem ich bisher sehr zufrieden bin, hat einen Schönheitsfehler: Der Geräuschpegel der beiden, hinteren 70cm Lüfter, die die vier vorderen SATA-Festplattenslot kühlen, ist recht hoch. Gerade in einer ruhigen Umgebung sind die Lüfter deutlich zu hören. Nach ein paar Tests mit niedrigeren Spannungen an den Lüftern (7-10V) stand fest, dass mit einer Lüftersteuerung der Geräuschpegel stark abgesenkt werden kann. Die Wahl fiel auf den T-Balancer MiniNG, eine 2-Kanal Lüftersteuerung, die im Chenbro-Gehäuse über dem ITX-Mainboard Platz findet. Einen der beiden zur Verfügung stehenden Temperatursensoren habe ich in einen der SATA-Wechselslot befestigt, um dort direkt die Temperatur der Festplatten zu ermitteln.

Das Ergebnis ist eine fast nicht mehr hörbare Kühlung bei normaler Umgebungstemperatur. Zudem gehen die Lüfter komplett aus, wenn die Festplatten in Standby fahren – ein großer Vorteil gegenüber einem festen Herabsetzen der Lüfterspannung (z.B. 7V) ohne Steuerungselektronik.

Bilder und weitere Details zur Konfiguration der Lüftersteuerung finden sich im Abschnitt Geräuscharme Kühlung im HomeServer-Wiki-Artikel.