Inhalt von Samba-Freigabe(n) wird nicht aktualisiert

Hallo allerseits,
wir setzen seit über einem Jahr den UCS ein. Dabei tritt bis heute auch auf der aktuellen Version immer wieder folgendes Problem sporadisch auf.

Dateien, die auf Samba-Freigaben des UCS liegen und von einem PC dort neu erstellt oder gelöscht werden, werden an einem anderen Windows PC im Netz erst mit deutlicher Verzögerung angezeigt. Die Verzögerung kann zwischen 10 Sekunden oder auch mehreren Minuten liegen oder auch erst durch einen Neustart des Windows PCs behoben sein.

Heute hatten wir wieder zwei bemerkenswerte Fälle auf zwei unterschiedlichen PCs. Wir nutzen einen Kopierer um Dokumente einzuscannen und auf einer Samba-Freigabe des UCS als PDF-Datei abzulegen. Der Anwender hat mehrere Minuten warten müssen, bis die Datei im erwarteten Ordner angezeigt wurde. Zweites Bsp ist, dass viele unserer Anwender, die Win7 verwenden, über Virtualbox WinXP als VM laufen haben. Dort werden Dateien erstellt, auf die sie vom Host unter Win7 zugreifen müssen. Heute musste der Win7 PC eines Anwenders neu gestartet werden, bevor die Datei im erwarteten Ordner angezeigt wurde.

In beiden Fällen ist es so, dass die Win PCs keine Störung im Netzwerk haben und problemlos auf andere Netzwerkfreigaben zugreifen können oder einfach im Internet surfen können.

Wenn ich (in beiden Fällen getan) per SSH direkt auf dem UCS oder von meinem Arbeitsplatz mit Ubuntu als Host und WinXP als Virtualbox-Gast auf die gefragten Ordner zugreife, kann ich die Dateien sofort erkennen.

Spontan würde ich sagen, dass das Problem nur bei Win7 auftritt - bin mir aber nicht sicher.

Das ganze Verhalten tritt zwar nur selten aber regelmäßig genug auf und das seit nahezu unseres Beginn mit dem UCS, so dass ich endlich nach einer Lösung suche.

Kann mir jemand einen Hinweis geben was hier schief laufen könnte?

Gruß,
Peter

Moin,

Sie sind nicht der einzige mit diesem Problem; einer unserer Kunden hat es auch. Der Kunde hat es leider noch nicht komplett lösen können, soweit ich weiß.

Allerdings gibt es das Problem durchaus auch in reinen Windows-Umgebungen, siehe z.B. dieser Thread, in dem von Windows 7-Clients und einem Windows 2008 R2-Server gesprochen wird.

Meines Wissens nach gibt es zwei Dinge, die Sie unabhängig voneinander probieren können:

  1. Clientseitig die Cache-Lebensdauer auf 0 setzen

Dies erfordert einen Eintrag in der Registry aller betroffenen Clients:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] "DirectoryCacheLifetime"=dword:00000000

Microsoft hat zum SMB2-Cache einen guten Artikel, der die Funktionsweise des Caches erläutert und die verschiedenen Cache-Lebenszeiten darstellt. Auch wenn dort von »10 Sekunden« die Rede ist, so sind die Berichte der betroffenen Benutzer ziemlich eindeutig, dass teilweise auch nur ein Reboot half, bevor dieser Parameter explizit auf 0 gesetzt wurde.

  1. Serverseitig SMB2 deaktivieren

SMB2 ist die aktuelle Protokollversion des SMB-Protokolls. Es ist deutlich performanter, bietet bessere Sicherheitsmechanismen etc. Allerdings bringt es auch den oben erwähnten Cache mit.

Benutzer haben berichtet, dass das serverseitige Abschalten von SMB2 das Problem des Nicht-Auftauchens behebt, aber dass die Performance natürlich nicht mehr so top ist, gerade über langsamere Leitungen wie z.B. VPN-Verbindungen.

Dies sollte auch unter Univention machbar sein. Bei Samba selber gibt es den Parameter »max protocol«. Unter Univention gibt es dafür die Config-Registry-Variable »samba/max/protocol«. Diese können Sie testhalber auf »NT1« setzen (siehe »man smb.conf«, dort Suche nach »max protocol«). Danach Samba komplett neu starten (inklusive aller existierenden Kind-Prozesse, die vorhandene Client-Verbindungen behandeln) und alle Clients neu verbinden lassen.

Ich rate beim Testen eher zu Variante 1, auch wenn die in der Einrichtung erst einmal aufwändiger ist. Dafür sollte die Performance dadurch nicht in Mitleidenschaft gezogen werden.

Gruß,
mosu

Vielen Dank für den Hinweis. Sobald ich das umgesetzt habe, werde ich über meine Erfahrungen berichten.

Den Wert NT1 würde nur nehmen, wenn es keine Clients mit Windows 8 und höher in der Domain gibt, da diese dann gemäß meinen Erfahrungen nicht mehr funktionieren würden. Sonst würde ich es mit SMB1 probieren.

Mastodon