Extrem hohe CPU-Auslastung durch Samba

Hallo liebes Forum,

wir haben schon seit längerer Zeit ein Problem was ich jetzt aber erst eingrenzen konnte. Und zwar haben wir immer gemerkt, dass Anmeldungen an den PCs - LinuxMint und iMacs - immer recht lange dauern. Insbesondere bei den iMacs (per Kabel verbunden) ist es so, dass die Anmeldung nach dem Boot bzw. Standby erst nach ca. 30 Sekunden möglich ist, wenn sich viele gleichzeitig anmelden dauert es noch länger. Auch die WLAN-Anmeldung per RADIUS braucht teilweise sehr(!!) lange, dort erscheinen im Unifi-Controller inzwischen auch permanent Meldungen, dass die Anmeldung lange gedauert hat.

Unser Setup:

Hardware-Server mit proxmox, darauf 2 VMs:

  1. lmn.net mit installiertem freeradius
    • 16GB RAM
    • 8 Core
  2. sonstige Netzwerk-Verwaltung mit Unifi-Controller, DHCP (für die anderen VLANs, pädNetz macht lmn.net), mdns-responder, zabbix
    • 16GB RAM
    • 4 Core

(Wir nutzen nicht die Firewall, wir nutzen die Firewall von Unifi in Verbindung mit einem Pi-Hole, das reicht für unsere Zwecke)

Jetzt habe ich beobachtet, dass in den Zeiten, in denen sich viele entweder an einem Laptop/PC/iMac oder am WLAN anmelden (regelmäßig nach den Pausen), der load auf der lmn.net-VM extrem ansteigt (ca. 8-10) und dort auch einige Minuten (ca. 15-20) bleibt bevor das ganze sich in der nächsten Pause wiederholt…

top gibt mir hierbei aus, dass mehrere Samba-Prozesse bei 100% CPU-Auslastung laufen:


(teilweise werden auch noch mehr sambas mit jeweils ~10-20% CPU angezeigt)

Wenn ich das so sehe, liegen unsere Anmeldeprobleme an dieser extremen Auslastung, die aber meines Erachtens doch nicht normal ist??

Wir haben insgesamt rund 1000 Schüler, wobei für ca. 400 Schüler das WLAN freigegeben ist. (Wir machen das nicht über die Funktion von lmn.net weil die für uns einige Nachteile hat sondern wir haben ein Projekt angelegt und überprüfen dann im freeradius, ob der Schüler Mitglied in dieser Gruppe p_wlan ist.)

Auch die externen Dienste (Moodle, Nextcloud, Untis,…) greifen per LDAP darauf zu, hier entsteht keine so große Auslastung, nur bei einer AD-Anmeldung. (freeradius läuft auch über AD)

Jetzt die Frage: liegt das an irgendeiner Einstellung, dass der Samba so extrem langsam ist, oder ist unsere - zugegeben recht alte - Hardware schuld?

Als Hardware haben wir einen

  • Fujitsu-Server
  • 12-Core Intel Xeon E5-2420 (2,2GHz)
  • 32GB RAM
  • 700GB HDD (hdparm liefert ca. 300-400MB/s lesend ohne Cache, ~8-9GB/s mit Cache)
  • 1G-Netzwerk

Okay, ist inzwischen 7 Jahre alt und insbesondere die Festplatte nicht die schnellste… Aber top zeigt mir bei Samba ja volle CPU-Auslastung an und das wundert mich…

In den Samba-Logs steht eigentlich nicht wirklich viel drin, lediglich einige von diesen Einträgen: macOS-AD-DNS-Bug was aber soweit ich das sehe einfach nur fehlerhafte Log-Einträge erzeugt und damit die Auslastung nicht erklärt.

Außerdem hin und wieder noch solche Einträge:

Failed to connect host 10.16.0.1 (4fab88b9-4fbe-4afd-aff1-7a98a1621bdc._msdcs.schulelocal.de) on port 135 - NT_STATUS_HOST_UNREACHABLE

Was mich daran wundert ist, dass es kein 10.16.0.1 mehr gibt (das gab es auch nur mal kurzzeitig zu Testzwecken)

Soo, vielleicht hat ja jemand eine Idee, ob es eine Einstellungssache ist, oder ob wir mal neue Hardware anschaffen müssen. (Da kommt Freude auf, wenn man das mit der Stadt verhandeln muss :see_no_evil:)

Danke und Grüße
Alex

Hallo,

also wir haben 1400 Nutzer und 200 Arbeitsstationen am Netz und ich habe
solche Probleme noch nicht beobachten können.
(Ryzen 2700 mit 16 Kernen und 32GB RAM).
Bei mir läuft das Storage aber auch 6 WD Black Platten im RAID5: das
wuppt schon ganz anderes weg.
Ist das bei dir eine einzelne Festplatte?
Was hat die den für Rotationsgeschwindigkeiten?
Ich hab extra Black genommen, weil die 7200 U/Min haben.
Ich denke auch dass eher I/O der Flaschenhals ist nicht die
Datentransferrate, die du mit hdparm gemessen hast.

Ein Load von 5 find ich jetzt auch nicht so groß: meine Nextcloud hat
einen Ruhepuls von 3,0 …
Du kannst aber trotzdem mal der lmn mehr Kerne zur Verfügung stellen.
Da brauchst du auch anderen nix abziehen: Kerne können übervergeben
werden (anders als bei Hauptspeicher).

Die Gigabit/s am Server als Uplink sind vielleicht auch ein Problem: das
ganze Netz teilt sich das ja.
Ich hab früher Netzwerkkarten gebündelt (4 Stück) bevor ich auf 10 GB/s
upgegraded habe.

LG

Holger

Hallo Holger,

Nutzer auch per WPA-Enterprise im Netz?

Gerade nochmal geschaut: ist ein Hardware-RAID5 (+1 Hotspare) mit 5 SAS 6G Platten.

:flushed: unser extern angemieteter Server auf dem Nextcloud, Moodle, BBB, Mail und noch einige andere Dienste laufen hat unter Last grad mal nen Load von 1,5… Wenn da nix geht ist der eher bei 0,3…

Unser lmn-Server in der Schule hat nen „Ruheload“ von ca. 0,5-1 und macht immer bei einem Load > ~3 Probleme mit der Anmeldung

Grad mal geschaut: es fließen im Vollbetrieb in der Regel maximal 40MBit/s, zu Spitzenzeiten auch mal 150MBit/s über die Leitung.
Es läuft ja eigentlich ausschließlich die Anmeldung darüber, sonst fast nichts*. Und eine Anmeldung sollte ja nicht viele Daten brauchen.

(*fast nichts, weil die iMacs sich nach der Abmeldung im Hintergrund einige Daten auf den Server schieben bzw. von dort holen. Deswegen auch die Spitzenzeiten mit 150MBit/s. Aber das betrifft nur die Abmeldung, nicht die Anmeldung)

Das komische ist ja, es passiert nur bei einer Anmeldung per AD, und eben nicht bei einer reinen LDAP-Anmeldung!

Zum Vergleich: ein per for-Schleife 1000 Mal ein radtest ausgeführt bringt den Samba auf mehrere 100% CPU-Auslastung und load auf ~4.

Das selbe 1000 Mal ein ldapsearch (ist ja sogar noch mehr als ein reiner Auth) belässt Samba bei 5-10% CPU, Load bei ~1 und braucht auch ca. 25% weniger Zeit!
(Die Tests hab ich lokal auf dem Server direkt ausgeführt, also da kann ich das Netzwerk schonmal ausschließen)

Grüße
Alex

Hallo Alex,

Nutzer auch per WPA-Enterprise im Netz?

ja: wir machen das WLAN mit WPA2 Enterprise. FreeRadius läuft auf der lmn.

Gerade nochmal geschaut: ist ein Hardware-RAID5 (+1 Hotspare) mit 5 SAS
6G Platten.

… das sollte schon flocken …

LG

Holger

wir hatten allerdings auch bei zabbix am Anfang Probleme, dass der die Daten nicht schnell genug in die DB/auf die Festplatten schreiben konnte. Also vielleicht gängt es doch damit irgendwie zusammen?

Weil der Wert den hdparm ausspuckt schon sehr niedrig ist…

Grüße

Gestern nochmal direkt erlebt: 30 Schüler wollen sich gleichzeitig an den iMacs im Computerraum anmelden: es ging ca. 1 Minute, bis das Anmeldeformular verschwunden ist (das ist eigentlich das Zeichen dafür, dass die Authentifizierung am Server erfolgreich war und dann das Benutzerprofil eingerichtet wird). Wenn sich nur ein einzelner Nutzer anmeldet geht das keine 5 Sekunden!

Zeitgleich wollte ich von den Schülern einige Passwörter über die Schulkonsole zurücksetzen: Wenn ich das „Erstpasswort anzeigen“ geöffnet habe, hat es über eine Minute gedauert, bis mir angezeigt wurde, ob das Passwort „vom Nutzer geändert“ wurde oder noch das Erstpasswort ist.

Auch eine Passwortänderung hat ~30s gedauert, bis dann endlich die Bestätigung (in dem grünen Feld) kam.

Zeitgleich per SSH auf den Server geschaut: hat auch recht lange gedauert bis ich drauf war und eine Shell angezeigt wurde (~10s), Load lag dann bei ca. 5

Da läuft doch irgendwas extrem schief bei uns, das ist doch alles andere als normal? :thinking:

Tag auch,
ist schon etwas aelter der Thread, aber bei uns taucht das gleiche Problem im Moment auf, hohe ldap-Last auf dem Server welche den Login massiv verzoegert.

Hat jemand noch eine Idee was da schief laeuft bzw. ob man da etwas optimieren kann ausser das Problem mit Geld zu bewerfen?

Gruss Harry

Hallo Harry,

beobachte doch mal den server mit htop, wenn so ein Problem auftritt: dann bekommst du raus, welcher Prozess da so viel Benötigt und ob das Storage IO das Problem ist, oder die CPUs oder der Speicher.

Schreib auch mal stats zum System:

  • Anzahl der Devices
  • Anzahl der CPUs die dem lmnserver zugeordnet sind
  • Hauptspeicherzuweisung zur lmn
  • art des Storage auf dem die lmn läuft und was für eien Art, also z.B. qcow2 auf RAID5 über 4 SATA 4GB Platten.
  • Art der Clientbetriebsystem
  • Version der lmn (cat /etc/issue )

LG
Holger