coreknabe
Goto Top

Smbclient-Prozesse machen Zugriff auf Netzlaufwerk langsam

Hi,

wir betreiben einen Owncloud-Server (Ubuntu 14.04), der so konfiguriert ist, dass er den Zugriff auf zwei Windows-Shares (Server 2008) ermöglicht.
So weit, so prima.
Wenn jetzt aber Benutzer mit dem Owncloud-Client auf die Freigaben zugreifen um die Shares zu synchronisieren, wird der Zugriff auf die Netzlaufwerke über die internen Windows-Arbeitsplatzrechner (Anbindung SMB) teils sehr langsam. So liegen Access-Datenbanken auf einem Netzlaufwerk und wenn gerade Owncloud-Clients auf eines der beiden Netzlaufwerke zugreifen, wird der interne Zugriff auf die Access-DBs deutlich langsamer. Schaue ich auf dem Owncloud-Server per SSH auf die laufenden Prozesse (mit top), reichen schon 5-6 smbclient-Prozesse aus, um das interne Arbeiten mit den Access-DBs zu bremsen. Das Problem tritt besonders dann auf, wenn es um die Synchronisierung großer Dateien (ab 100MB) geht.

Unsere Umgebung:
- Owncloud-Server in einer Ubuntu 14.04 - Virtualbox-VM (4GB RAM, 2 logische CPUs) auf einem Rechner mit Windows 7 Professional, Intel i5 2400 3,10GHz, 16MB RAM, Dell Workstation Optiplex 790
- Zwei Fileserver Windows Server 2008 in HyperV VMs, je 4 logische CPUs und 4GB RAM auf einem HP ProLiant ML350 G5
- Netzwerkanbindung 1Gbit
- Switche Dell Powerconnect 5548 / 6248

Bisher habe ich folgendes probiert:
- Auf dem Owncloud-Server habe ich cpulimit als Dienst installiert, was etwas Besserung gebracht hat
- Beide Fileserver-VMs laufen über iSCSI angebunden an einer ReadyNAS 3100. Testweise habe ich den Fileserver mit den Datenbanken lokal auf den ProLiant-Server umgezogen --> Keine Änderung

Mir fehlt der Ansatz, vielleicht hat jemand von Euch eine Idee...
Tuning Apache? Wenn ja, wo?
Das hier: http://doc.owncloud.org/server/5.0/admin_manual/configuration/xsendfile ... bringt mir nix, weil "This feature can currently only be activated for local files"
Wenn ich ein QoS auf der Firewall konfiguriere, bremse ich auch den Zugriff auf das Webinterface von Owncloud?
Die Owncloud-Clients an sich können so konfiguriert werden, dass eine Bandbreitenbegrenzung greift. --> Kriege ich nicht umgesetzt, da zu viele User außerhalb meines Zugriffs.

Gruß

Content-Key: 252158

Url: https://administrator.de/contentid/252158

Printed on: April 18, 2024 at 10:04 o'clock

Member: Chonta
Chonta Oct 16, 2014 updated at 13:15:51 (UTC)
Goto Top
Hallo,

wie jetzt, Festplattenzugriffe verlangsamen den Zugriff für andere Anwendungen?
Geleiches Spiel hättest Du, wenn Du mit Robocopy direkt über Windows die Daten auf einen anderen Rechenr Syncen würdest.

Und deine Daten gehen vom Windowsserver > OC-Server > Client also sind alle Mitfahrer auf der selben netzwerkverbindung und deren Teilstücken auch betroffen.
Desweiteren wird der Linuxserver von den Freigaben soviel ziehen wie der wiederum hergibt. Selbst ein Nice würde wenn möglich nix bringen, weil das nur die eigene Auslastung berücksichtigt und nicht die vom anderen Server.

Jeh nachdem ob der Windowsserver nun nur eine HDD hat oder RAID?? mit ?? Platten wird der durch den OC Server halt ausgebremmst.

Gruß

Chonta
Member: Coreknabe
Coreknabe Oct 16, 2014 updated at 13:36:11 (UTC)
Goto Top
Hi mal wieder!

wie jetzt, Festplattenzugriffe verlangsamen den Zugriff für andere Anwendungen?
Geleiches Spiel hättest Du, wenn Du mit Robocopy direkt über Windows die Daten auf einen anderen Rechenr Syncen
würdest.

Schon klar, aber die Frage ist, ob sich das in irgendeiner Form für die Owncloud-Clients drosseln lässt... Müsste dann aber nur für SMB sein, ich will ja den Webinterface-Zugriff nicht bremsen...

Und.. Cpulimit bringt schon was, ohne ist es noch schlimmer.

Gruß
Member: Chonta
Chonta Oct 16, 2014 at 14:03:50 (UTC)
Goto Top
Hallo,

Klar bringt cpu-limit für den Prozess etwas, weil der die Daten dann nicht so schnell verarbeiten/anfordern kann wie theoretisch möglich.
Aber das ist dann auch in beide Richtungen.
Und wenn deine V-Winserver auf dem selben Stor liegen, und gleichzeitig abgerufen werden dann bremsen sich die Aufrufe gegenseitig aus.
Das Problem ist die Struktur, über die zu wenig bekannt ist, deines netzwerkes selber.
Du kannst auch versuchen durch tools die Bandbreite zwischen OC und Winserver zu begrenzen, also auf Netzwerkebene zwischen den Servern, aber richtig flutschen wird das auch nicht.

Gruß

Chonta
Member: Lochkartenstanzer
Lochkartenstanzer Oct 16, 2014 updated at 15:01:35 (UTC)
Goto Top
Zitat von @Coreknabe:

Schon klar, aber die Frage ist, ob sich das in irgendeiner Form für die Owncloud-Clients drosseln lässt... Müsste
dann aber nur für SMB sein, ich will ja den Webinterface-Zugriff nicht bremsen...

Google mal nach "Traffic-shaping" Damit kannst Du die Bandbreite begrenzen, mit der Daten vom Windows-Serevr gezogen werden.

Aber prinzipiell hast Du imerm ein Probem mit konkurrierenden ZUgriffen, wenn Die Plattenorganisation nicht darauf auselegt ist.

lks
Member: Coreknabe
Coreknabe Oct 20, 2014 at 13:44:45 (UTC)
Goto Top
Moin,

Traffic Shaping wird vielleicht was bringen, aber dummerweise die Owncloud-Zugriffe insgesamt verlangsamen.. Chonta hat da schon recht, da habe ich ein grundsätzliches Designproblem. Der Netzwerktraffic an sich scheint mir auch nicht unbedingt das Problem, eher die konkurrierenden Plattenzugriffe, wie auch schon von Euch ausgeführt.

Wenn ich auf Firewallebene mitlogge, sehe ich viel Traffic auf Port 443, smbclient scheint also innerhalb der Apache-Webserveraufrufe gekapselt zu sein. Insofern werde ich mich mal durch die Untiefen der Apache-Doku wühlen und hoffe, da noch etwas zu finden.
Alternativ planen wir auch die Anschaffung eines neuen Servers, da werde ich das mal neu konzipieren müssen. Wenn ich zum Thema Apache noch etwas finde, poste ich das hier noch mal.

Gruß
Member: Chonta
Solution Chonta Oct 20, 2014, updated at Oct 21, 2014 at 08:27:17 (UTC)
Goto Top
Hallo,

443 trafik ist für das Problem mit den langsamen Windowsfreigaben nur dahin von Interesse als das OC genutzt wird und EVTL die Windowsfreigaben gerade benutzt werden.
Was Dich blockt sind die HDD Zugriffe würüber die Daten ausgetauscht werden ist egal.
Die beiden Windowsserver brauchen je ein eigenes HardwareRaid mit entsprechenden IOPS.
Oder die wichtigen AccesDatenbanken auf einen ExtraRaid verschieben der von den normalen Freigaben nicht beeinflusst wird.

Die Frage ist auch was da dauert gesynct wird von den Usern und warum, evtl kann man das ja eindämmen.

Gruß

Chonta
Member: Coreknabe
Coreknabe Oct 21, 2014 at 08:29:03 (UTC)
Goto Top
Moin Chonta,

ich muss das wohl neu strukturieren, das ist die sauberste Lösung.

Auf dem betreffenden HyperV-Host laufen 8 VMs, klingt jetzt erst mal nicht viel, aber darunter ist halt der Fileserver mit den Access-DBs, ein Fileserver für studentische Zwecke ein Datev-Terminalserver und ein Datev-Fileserver (letzteres in kleiner Umgebung für 3 Mitarbeiter), je ein weiterer Terminalserver für Controlling und Buchhaltung (SFirm). Dann noch ein Domänencontroller und eine VM für Antivir. Alle VMs bis auf den DC sind über iSCSI angebunden.

Durch cpulimit ist es deutlich besser geworden (mit den bekannten Einschränkungen) und das Verschieben des "Access-DB-Fileservers" auf ein lokales Serverlaufwerk hat auch etwas gebracht.

Das Syncen mit Owncloud ist recht unschön gelöst, da ich, zumindest per Default immer nur ganze Volumes synce, inkl. vielem Krempel, den ich gar nicht haben möchte und auch nicht brauche. Da müssten die User dann aber lokal Einstellungen ändern, ebenso wie bei der Bandbreitenbegrenzung. Wie schon weiter oben angeführt, kann ich das mangels Userinteresse und -verständnis knicken...

Ich markiere Deinen letzten Beitrag jetzt mal als Lösung, der "Pfad der Apachen" bringt mich nicht weiter bzw. kaschiert allerhöchstens mein Designproblem, Neuaufbau ist angesagt.

Vielen Dank für Eure Unterstützung!

Gruß