Samba4 max open files

Hallo,

kann man in der /etc/security/limits.conf den Standardwert auf folgend ändern:

[code]* soft nofile 64768

  •       hard    nofile          64768
    

root soft nofile 64768
root hard nofile 64768[/code]

Sonst macht Samba3/4 Probleme, wenn ich zB. 10000 1KB Files auf einen Share kopiere…

Nach paar Sekunden kommt sonst beim kopieren der Fehler, dass zuviele Dateien geöffnet sind…

Grund: Vorallem bei Samba4 braucht er nach dem kopieren 1-2 Sekunden, bis er das File wieder geschlossen hat, und sonst erreicht Linux schnell das 1024 Limit und das kopieren bricht ab.

lG

Hallo,

Sie können die limits per UCR Konfigurieren:

[quote="/etc/security/limits.conf"]

You can set limits by setting univention-config-registry variables of the following format:

security/limits////=

where is either ‘user’ or ‘group’,

is the name of the user or group to be affected, or ‘*’ to define the default,

is either ‘hard’ or ‘soft’ or ‘-’ for both,

and is what is to be limited.[/quote]

Alternativ können Sie prüfen ob es ausreichend ist die “max open files” direkt in der Samba Konfiguration zu erhöhen, z.B.:

# /etc/samba/local.conf
[global]
   max open files = 65616

Generell empfehlen wir als Fileserver auch in einer Samba 4 Umgebung einen separaten Samba3 (Member-)Server zu verwenden.

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

“max open files = 65616” bewirkt aber nicht, dass die Userprozesse diese Anzahl öffnen dürfen, sondern nur der root- Prozess.

Wenn ich 10000 leere Dateien erstelle und auf Samba3 Share kopieren, so lässt es sich auch auf Samba3 reporduzieren…

Daher wäre es hilfreich, dieses als Standard zu setzen.?

lG

Hallo,

[quote=“DBGTMaster”]“max open files = 65616” bewirkt aber nicht, dass die Userprozesse diese Anzahl öffnen dürfen, sondern nur der root- Prozess.[/quote]das ist korrekt. Ich hatte allerdings eingangs vermutet dass evtl. hier ein Limit greift (z.B. falls, je nach Testfall, pro Upload eine neue Verbindung geöffnet wird).

Ich kann das von Ihnen beschriebene Verhalten derzeit weder mit Samba 3 noch mit Samba 4 nachstellen und wir haben entsprechende Meldungen bisher auch von keinem Kunden erhalten. Die smbd Prozesse öffnen im meinen Testumgebungen bisher nie mehr als 250 Dateien gleichzeitig.

Mein Testaufbau:
[ul]
[li]10k Dateien á 1024byte (file0 - file9999)[/li]
[li]Auf dem Client:

smbclient //<SERVER>/<USER> -U <USER>%<PASSWORD> -c 'prompt; mput file*'

[li]Auf dem Server:

pgrep -f smbd | while read pid; do echo "$pid $(sed -ne 's/Max open files\s\+\([0-9]\+\)\s\+.*/\1/p' < /proc/$pid/limits) $(lsof -n -p $pid | wc -l)"; done

Unterscheidet sich mein Test hier grundlegend von Ihrem? Evtl. können Sie näher beschreiben wie Sie genau vorgegangen sind.
Sicher wären auch die vollständigen “too many open files”-Fehlermeldungen , sowie Informationen darüber wo und wann Sie diese sehen hilfreich.

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

1.) mal mit 1KB Files probieren (damit geht es definitiv)
2.) Mit Samba4 lässt es sich jedes mal über einen Windows 7 Client reproduzieren. Vl. verhält sich Linux hier anders, und wartet, bis auf der Server- Seite Dateien geschlossen wurden, bis der Client weitere öffnet…

Hallo,

[quote=“DBGTMaster”]1.) mal mit 1KB Files probieren (damit geht es definitiv)[/quote]auch mit 10.000 1kB (1000byte) Dateien sowie mit 10.000 0byte Dateien kann ich das Problem nicht reproduzieren.
Evtl. können Sie ein Script bereitstellen mit dem Sie das Verhalten Reproduzieren können und uns die Fehlermeldungen des Systems zusenden.

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

mit einem Windows 7 Client kann ich das in der Tat auch hier reproduzieren. Der Client öffnet hier teilweise über 2000 Dateien (Samba 3) und das Kopieren dauert dabei auch noch deutlich länger als per smbclient.
Erhöhen lassen sich die Limits wie beschrieben per UCR:ucr set security/limits/user/*/soft/nofile=32828 security/limits/user/*/hard/nofile=32828

Ich habe außerdem unter [bug]29620[/bug] einen Eintrag in unserem Bugtracker angelegt damit das Limit zukünftig noch einmal überprüft und ggf. angepasst wird.

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

wie oben bereits erwähnt, auf einen Samba3 schwer zu reproduzieren, aber es lässt sich nach oft probieren ;).

Aber auf einen Samba4 System kann es es bei jedem Kopiervorgang reproduzieren.

ucr set security/limits/user/*/soft/nofile=32828 security/limits/user/*/hard/nofile=32828

Gilt aber für alle Benutzer außer root. Eventuell auch noch einen expliziten Eintrag für root erstellen?

Hallo,[quote=“DBGTMaster”]Gilt aber für alle Benutzer außer root. Eventuell auch noch einen expliziten Eintrag für root erstellen?[/quote]wenn Sie es benötigen, können Sie das natürlich analog setzen:ucr set security/limits/user/root/soft/nofile=32828 security/limits/user/root/hard/nofile=32828

Mit freundlichen Grüßen
Janis Meybohm

Ist schon klar, wollte eher erzählen, dass auch dieses im Bugzilla- Eintrag hinzugefügt wird :wink:

Mastodon