Univention Corporate Server (UCS) » Services for Windows

ID #1206

Mögliche Ursachen für Samba Performance-Probleme

Performance-Probleme mit Samba

Es kann in diversen Situationen zu Performance-Problemen mit Samba kommen. Hier finden Sie eine Übersicht bekannter Ursachen und deren Lösung.

 

Memberserver

Winbind deaktivieren

Um einen UCS Memberserver ohne winbind zu betreiben, können ab UCS 2.3-1 die Variablen samba/memberserver/passdb/ldap und winbind/autostart gesetzt werden:
ucr set samba/memberserver/passdb/ldap="yes"
ucr set winbind/autostart="no"

Winbind

RPC-Join

Wird auf DC-Systemen winbind eingesetzt, so ist insbesondere in Verbindung mit squid und NTLM-Authentifikation darauf zu achten, dass einmalig:

net rpc join -U Administrator
ausgeführt wird.

NSCD

Cache-Größe

Es kann in Verbindung von Samba und NSCD zu Performanceproblemen kommen, wenn die NSCD Cachesize zu klein gewählt wurde. Die folgenden Variablen können zur Vergrößerung auf einen höheren Wert gesetzt werden:

nscd/group/size
Vorgeschlagener Wert: (Anzahl aller Gruppen * 2 + Anzahl aller Gruppenmitglieder) * 2

nscd/hosts/size
Wert sollte mindestens der Anzahl aller im DNS eingetragenen Hosts entsprechen

nscd/passwd/size
Wert sollte mindestens der Anzahl der Benutzer entsprechen

Hierbei ist zu beachten, dass der angegbene Wert laut NSCD-Spezifikation eine Primzahl sein muss, im Zweifel wird also die nächst höhere Primzahl gewählt. 

Wir haben Ihnen alternativ ein Skript bereitsgestellt, welches die Angaben für sie berechnet:

nscdCachsize.sh

Rekursive Gruppen

Rekursive Gruppen nach Möglichkeit vermeiden

Rekursive Gruppen können zu einer Beeinträchtigung der Samba-Perfomance führen.

Um Ihr System auf die Verwendung rekursiver Gruppen zu untersuchen haben wir das Testskript check_group_recursion.py bereitgestellt.

Slave-PDC

Samba 3.2.8 Attribute

Auf einem Slave-PDC mit Samba 3.2.8 kann es zu Problemen mit der Performance kommen, wenn bestimmte Attribute nicht mit dem Samba-Domänenobjekt verknüpft sind.

Die betreffenden Attribute sambaPwdHistoryLength und sambaMaxPwdAge können mittels:

eval $(univention-config-registry shell ldap/base windows/domain)
ldapsearch -x "(sambaDomain=$windows_domain)" \
                 sambaPwdHistoryLength sambaMaxPwdAge

überprüft werden.

 

Sind diese Attribute nicht am Objekt zu finden, so kann es sein, dass der DC Slave mit seinem Rechnerkonto durch die LDAP-ACLS's auf dem DC Master nicht genügend Rechte hat, Standardeinstellungen für diese Attribute in den Verzeichnisdienst zu schreiben. Durch einen Bug in Samba werden anschließende LDAP-Suchen um eine definierte Zeitspanne (zu setzen via UCR-Variable samba/ldap/replication/sleep) verzögert.

In diesem Fall können diese Attribute auf dem DC Master per UDM-Web oder UDM-Cli nachträglich gesetzt werden.

Im UDM-Web ist dies über "Navigation -> Container -> samba -> Einstellungen" und per UDM-Cli per:

udm settings/sambadomain modify \
    --dn "$(ldapsearch -x objectclass=sambaDomain dn | \
            grep ^dn: | sed 's/^dn: //')" \
    --set maxPasswordAge=-1 \
    --set passwordHistory=0

möglich.

Tags: performance, Samba, Timeout

Verwandte Artikel:

Letzte Änderung der FAQ: 2011-07-20 17:37
Autor: Tim Petersen
Revision: 1.2

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: 0 (0 Abstimmungen)

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

Kommentieren nicht möglich