Samba Performance und Connection

Deneu

Deneu

Grünschnabel
Guten Morgen,

ich habe hier im Netzwerk einen Samba Server, welcher lediglich eine Netzwerkfreigabe stellt.
Als OS ist ein SuSE Linux Enterprise Server sp2 installiert.
Filesystem ist ReiserFS.
Das als Grundinformation.

Die Freigabe wird über eine Batch Datei gemountet.
Es gibt auf dem Samba Server einen User technik der den Zugriff auf die Freigabe erlaubt und in der smbpassword eingetragen ist. Über diesen Benutzer wird auch das Laufwerk und Windows gemountet.

Mein Problem ist nun das der erste Zugriff (Beispielweise nach Logon am PC) sehr lange dauert, teilweise 2 Minuten.
Wenn ich einmal drauf bin kann ich ohne Probleme arbeiten (Es wird über das Sambashare eine Clientanwenudng ausgeführt, Sage Classicline).
Lass ich nun die Anwendung offen und arbeite eine Zeit lang nicht damit dauert nach einer Weile der Zugriff auf das Share wieder sehr lange.
Meine Vermutung ist das die Connection zu dem Sambashare nach einer Weile getrennt wird und dann ein Reconnect durchgeführt wird.
Wie kann ich dies unterbinden bzw. wie kann ich garantieren das der Zugriff auf das Share schneller geht bzw. die Verbindung constant bleibt?

Ich habe mal als Test meine smb.conf angehangen.
Username uns Server-Details wurden abgeändert:

Code:
[global]
        workgroup = WORKGROUP
        map to guest = Bad User
        include = /etc/samba/dhcp.conf
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = Yes
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain logons = No
        domain master = No
        local master = Yes
        wins support = Yes
        security = user
        netbios name = servername
        netbios aliases = servername.business.local
        passdb backend = smbpasswd
        preferred master = Yes
        os level = 65
        usershare max shares = 100

[freigabe]
        path = /freigabe
        comment = Meine Freigabe
        admin users = adminuser
        force user = adminuser
        force group = usergroup
        read only = No
        force create mode = 0744
        force security mode = 0775
        force directory mode = 0755
        force directory security mode = 0775
        default case = upper
        case sensitive = No
        preserve case = No

Wenn jemand einen Tipp hat wäre mir sehr geholfen!

Vielen Dank.

Gruß
Philipp
 
Greifst du via IP oder Namen auf den Samba-Server zu? Und wird DHCP in eurem Netzwerk zur Adressenvergabe für die Clients verwendet? Dein Problem klingt nämlich eher nach Problemen, die ich auch schon hatte. Entweder hast du DHCP-Leases während der Verbindung, wodurch ein Reconnect stattfindet oder die Namensauflösung ist sehr langsam so dass die Clients zwar schnell verbinden, wenn die IP des Samba-Servers bereits im ARP-Cache ist, aber lange brauchen um die IP neu aufzulösen.

Kann natürlich sein, dass die Ursache auch woanders zu suchen ist. Ob es Disconnects gibt, kannst du jedenfalls in der Samba-Logdatei sehen, wenn du das Loglevel einigermassen hochschraubst.
 
Hallo bitmuncher,

für unsere Clients nutzen wir DHCP.
Die Server haben, logischerweise, eine feste IP-Adresse.
Unserer DHCP-Release liegt bei 72 Stunden. Sprich 3 Tage.
Wir greifen auf den SambaServer wie NetBios name zu.

Das hier ist die BatchDatei die ausgeführt wird damit sich nach dem Login das Laufwerk mapped:
Code:
@echo off
net use r: \\servername\freigabe /PERSISTENT:NO /user:smbuser smbkennwort

Zur Information:
Wir befinden uns hier nicht in einer Windows Domäne sondern haben eDirectory im Einsatz (reines Novell Netzwerk, allerdings mit Windows als Clientsystem)

Kann es an der Anmeldung am Samba-Share liegen?
Gibt es eine gute Anleitung für die Integration von eDirecotry in Samba, sodass der Login durch den LDAP username durchgeführt wird?
Das wäre natürlich ein Sicherheitsaspekt der nicht von Nachteil wäre und ggf. auch ein Performance ausschub da er den Username ja schon kennt und nicht erst auslesen muss?!

Vielen Dank schonmal!
Leider noch keine Verbesserung!

Gruß
Philipp
 

Hallo,

Dankeschön, aber ich kannte den Artikel aus der CoolSoutions schon, dennoch vielen Dank :))
Aber bringt das LDAP wirklich Performance Verbesserungen?
Mein Problem ist ja der direkte Zugriff?
Wie kann ich diesen schneller machen bzw. aufrecht erhalten?
Von einem Disconnect im log.smbd lese ich nichts.
So sieht der Zugriff in dem Log aus:
Code:
[2008/07/29 10:57:21, 1] smbd/service.c:make_connection_snum(1033)
  meinpc (172.16.x.y) connect to service freigabe initially as user adminuser
(uid=1000, gid=1000) (pid 12684)

Gruß
Philipp
 
Schraub mal den
Code:
log level = 3
hoch und lösche das log-file.
Dann machst du den connect und guckst wann und wobei die Zeit verbraten wird.
 
Hallo,

er hängt bei folgendem Log Eintrag:
Code:
[2008/07/29 11:50:51, 3] smbd/nttrans.c:call_nt_transact_notify_change(1932)
  call_nt_transact_notify_change: notify change called on DAT, filter = FILE_NAME|DIR_NAME|ATTRIBUTES|LAST_WRITE, recursive = 0
[2008/07/29 11:50:51, 3] smbd/process.c:process_smb(1068)
  Transaction 1808 of length 40

Danke schonmal.
Mir sagt das jetzt nicht besonders viel, ich hoffe aber mal euch!

Gruß
Philipp
 
Der nächste Eintrag nach dem Hänger wäre noch interessant.

Außerdem hier schonmal ein Link zu Microsoft.
Du sagst zwar nicht welches OS benutzt wird, aber vielleicht trifft es bei dir ja zu.
 
Hallo NoXqs,

sorry es wird Windows XP bzw Windows Vista als Client System genutzt.

Gruß
Philipp
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Der nächste Eintrag nach dem Hänger wäre noch interessant.

Außerdem hier schonmal ein Link zu Microsoft.
Du sagst zwar nicht welches OS benutzt wird, aber vielleicht trifft es bei dir ja zu.

Anbei der weitere Log:
Code:
[2008/07/29 12:46:29, 3] smbd/nttrans.c:call_nt_transact_notify_change(1932)
  call_nt_transact_notify_change: notify change called on ., filter = FILE_NAME|DIR_NAME|ATTRIBUTES|LAST_WRITE, recursive = 0
[2008/07/29 12:46:29, 3] smbd/process.c:process_smb(1068)
  Transaction 3078 of length 90
[2008/07/29 12:46:29, 3] smbd/process.c:switch_message(926)
  switch message SMBtrans2 (pid 11451) conn 0x8042ccd8
[2008/07/29 12:46:29, 3] smbd/sec_ctx.c:push_sec_ctx(208)
  push_sec_ctx(1000, 1000) : sec_ctx_stack_ndx = 1
[2008/07/29 12:46:29, 3] smbd/uid.c:push_conn_ctx(358)
  push_conn_ctx(103) : conn_ctx_stack_ndx = 0
[2008/07/29 12:46:29, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2008/07/29 12:46:29, 3] smbd/sec_ctx.c:pop_sec_ctx(356)
  pop_sec_ctx (1000, 1000) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:29, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (1000, 1000) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:29, 3] smbd/trans2.c:call_trans2qfilepathinfo(3256)
  call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
[2008/07/29 12:46:29, 3] smbd/trans2.c:call_trans2qfilepathinfo(3292)
  call_trans2qfilepathinfo: SMB_VFS_STAT of .SVN failed (No such file or directory)
[2008/07/29 12:46:29, 3] smbd/error.c:unix_error_packet(56)
  unix_error_packet: error string = No such file or directory
[2008/07/29 12:46:29, 3] smbd/error.c:error_packet_set(106)
  error packet at smbd/trans2.c(3293) cmd=50 (SMBtrans2) NT_STATUS_OBJECT_NAME_NOT_FOUND
[2008/07/29 12:46:32, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:45, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:45, 3] smbd/process.c:process_smb(1068)
  Transaction 6912 of length 240
[2008/07/29 12:46:45, 3] smbd/process.c:switch_message(926)
  switch message SMBsesssetupX (pid 11665) conn 0x0
[2008/07/29 12:46:45, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:45, 3] smbd/sesssetup.c:reply_sesssetup_and_X(1244)
  wct=12 flg2=0xc807

Gruß
Philipp
 
Zuletzt bearbeitet:
2008/07/29 12:46:29, 3] smbd/trans2.c:call_trans2qfilepathinfo(3292)
call_trans2qfilepathinfo: SMB_VFS_STAT of .SVN failed (No such file or directory)
[2008/07/29 12:46:29, 3] smbd/error.c:unix_error_packet(56)
unix_error_packet: error string = No such file or directory
[2008/07/29 12:46:29, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/trans2.c(3293) cmd=50 (SMBtrans2) NT_STATUS_OBJECT_NAME_NOT_FOUND
[2008/07/29 12:46:32, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:45, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2008/07/29 12:46:45, 3] smbd/process.c:process_smb(1068)
Transaction 6912 of length 240
[2008/07/29 12:46:45, 3] smbd/process.c:switch_message(926)
switch message SMBsesssetupX (pid 11665) conn 0x0

Da gibt es 13 sekunden Verzug, weil die/das Datei/Verzeichnis ".SVN" nicht gefunden werden kann.
Das ist aber noch keine Erklärung für das 2min "Loch" deines Anfangspost. Muss also noch woanders Zeit verbraten.
Danach solltest du mal suchen.
Du sagtest auch, dass es beim ersten einloggen so lange dauert.
Was wird da ins log geschrieben?
Fragen über Fragen, guck dir das log nochmal genau an und achte auf die Zeitstempel. Wo wird die meiste Zeit verbraten??
 

Ähnliche Themen

Mit Windows auf Ubuntu Ordner erstellen

Samba 4.9.5-Debian - Kennwort von unix übernehmen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

SMB Zugriff auf Homeshare

Samba Dateien und Ordner verschieben

Zurück
Oben