Univention Corporate Server (UCS) » LDAP-Server und Listener/Notifier-Replikation

ID #1077

LDAP-Server erreicht Verbindungslimit

Problem:

Werden in größeren Umgebungen LDAP-Clients verwendet, welche inaktive Verbindungen nicht selbstständig schließen, kann es vorkommen das der LDAP-Server die maximale Anzahl möglicher Verbindungen (1024) erreicht. In einem solchen Fall werden u.U. Meldungen wie "warning: cannot open /etc/hosts.allow: Too many open files" in die syslog-Datei geschrieben.

In den meisten Fällen werden solche Situationen durch LDAP-Clients verursacht die inaktive Verbindungen nicht selbstständig schließen. Dienste wie Samba bauen eine LDAP-Verbindung direkt wieder ab wenn sie nicht mehr benötigt wird, sodass dort keine persistenten Verbindungen entstehen.

Lösung:

Grundsätzlich kann diesem Problem auf unterschiedliche Arten begegnet werden. Im Folgenden finden Sie einige Hinweise zur Optimierung der LDAP-Abfragen, zum automatischen Beenden nicht mehr verwendeter Verbindungen sowie zum Vergrößern von Cache Daten.

  • Damit die Anfragen der Clients so schnell wie möglich vom LDAP-Server beantwortet werden können, sollten die LDAP-Indices aktuell gehalten werden. Eine Dokumentation dazu ist im Kapitel "Indices" des "Performance Guide" zu finden, welcher unter http://www.univention.de/download/dokumentation/erweiterte-administration/ heruntergeladen werden kann. Der "Performance Guide" enthält auch Empfehlungen welche Attribute in den aktuellen UCS Versionen indiziert werden sollten.

 

  • Durch die Konfiguration eines Timeouts für nicht mehr verwendete LDAP-Verbindungen kann der LDAP-Server solche Verbindungen selbstständig wieder abbauen. Der Timeout kann über die Univention Configuration Registry-Variable ldap/idletimeout gesetzt werden. In größeren Umgebungen hat sich ein Wert von 330 Sekunden als praktikabel erwiesen.

    Um Komplikationen mit der NSS-LDAP-Schnittstelle zu vermeiden sollte diese so konfiguriert werden das sie offene Verbindungen vor diesem Timeout schließt. Durch setzen der Univention Configuration Registry-Variable nssldap/idle/timelimit kann der NSS eigene Timeout beinflusst werden (dieser sollte grundsätzlich unter dem LDAP-Idletimeout liegen). Bei einem LDAP-Idletimeout von 330 Sekunden hat sich ein NSS-Timeout von 20 Sekunden als praktikabel erwiesen.

    Näheres dazu ist im aktuellen UCS Handbuch, Kapitel "Timeout für inaktive LDAP-Verbindungen" beschrieben.

 

  • Bei vielen Benutzer-, Gruppen- und Rechnerobjekten kann es hilfreich sein die Caches des NSCD, sowie deren time-to-live Werte, zu Vergrößern. Näheres dazu im Artikel:  NSCD beendet sich.
  • Durch weitere LDAP-Server können die Anfragen verteilt werden. So kann z.B. ein neuer Fileserver als DC Slave installiert werden damit dieser seine LDAP-Anfragen gegen den lokalen LDAP-Server richten und somit andere LDAP-Server entlasten kann.

Mit UCS 2.4 wurde das Limit für offene Dateien des LDAP-Servers (ulimit) auf 4096 erhöht und kann übder die UCR-Variable ldap/maxopenfiles weiter angepasst werden (Bug# 17705).

Tags: indices, openldap, slapd, Timeout, too many open files

Verwandte Artikel:

Letzte Änderung der FAQ: 2011-02-21 16:46
Autor: Janis Meybohm
Revision: 1.8

Digg it! Share on Facebook FAQ ausdrucken FAQ weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieser FAQ:

Durchschnittliche Bewertung: 5 (1 Abstimung)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Kommentieren nicht möglich